
Después de todo el trabajo hecho en los capítulos anteriores dónde instalamos Tasmota en un un Sonoff Pow R2, lo configuramos y creamos los sensores, hoy acabamos esta série con la creación de automatizaciones que van a dotar de inteligencia artificial a nuestros electrodomésticos.
Vamos a empezar por crear un input_selectet. Este código lo pondreamos al archivo input_selects.yaml.
#### LAVAPLATOS ####
lavaplatos_status:
name: Estado del lavaplatos
options:
- "Apagado"
- "Lavando"
- "Espera"
- "Finalizado"
initial: "Apagado"
icon: mdi:dishwasher Ahora al archivo timers.yaml vamos a crear un temporizador.
#### LAVAPLATOS ####
fin_lavaplatos:
duration: '00:30:00'Y ahora nos vamos al archivo automations.yaml dónde crearemos las automatizaciones.
- id: Lavaplatos espera
alias: Lavaplatos modo espera
trigger:
- below: '2'
entity_id: sensor.sonofflavaplatos_energy_power
for: 0:01:00
platform: numeric_state
condition:
- condition: state
entity_id: input_select.lavaplatos_status
state: Lavando
- condition: state
entity_id: device_tracker.life360_albert_barnosell_i_jorda
state: not_home
- condition: state
entity_id: device_tracker.life360_denise
state: not_home
action:
- data:
option: Espera
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- data:
message: El lavaplatos ya terminó. Pasaré a modo espera y cuando llegues a casa
te recordaré que lo vacíes.
service: notify.telegram
- id: Lavaplatos inicio dia
alias: Lavaplatos inicio dia
trigger:
- above: '2'
entity_id: sensor.sonofflavaplatos_energy_power
platform: numeric_state
condition:
- condition: state
entity_id: input_select.lavaplatos_status
state: Apagado
- condition: state
entity_id: input_boolean.no_molestar
state: 'off'
action:
- data:
option: Lavando
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- data:
entity_id: media_player.grupo_de_dia
language: es
message: El lavaplatos ya ha empezado. En cuanto termine, te aviso para que
lo vacíes.
service: tts.google_translate_say
- data:
message: El lavaplatos ya ha empezado. En cuanto termine, te aviso para que
lo vacíes.
service: notify.telegram
- id: Lavaplatos recordatorio dia
alias: Lavaplatos informa final de dia
trigger:
- entity_id: input_select.lavaplatos_status
platform: state
to: Finalizado
- event_data:
entity_id: timer.fin_lavaplatos
event_type: timer.finished
platform: event
condition:
- condition: state
entity_id: input_boolean.no_molestar
state: 'off'
action:
- entity_id: timer.fin_lavaplatos
service: timer.start
- data:
entity_id: media_player.grupo_de_dia
language: es
message: El lavaplatos ya terminó. Tienes que vaciarlo para que la cocina no
se acumule. Te lo recordaré en media hora, a no ser que me avises de que ya
lo has hecho.
service: tts.google_translate_say
- data:
message: El lavaplatos ya terminó. Tienes que vaciarlo para que la cocina no
se acumule. Te lo recordaré en media hora, a no ser que me avises de que ya
lo has hecho.
service: notify.telegram
- id: Lavaplatos inicio noche
alias: Lavaplatos inicio noche
trigger:
- above: '2'
entity_id: sensor.sonofflavaplatos_energy_power
platform: numeric_state
condition:
- condition: state
entity_id: input_select.lavaplatos_status
state: Apagado
- condition: state
entity_id: input_boolean.no_molestar
state: 'on'
action:
- data:
option: Lavando
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- data:
message: El lavaplatos ya ha empezado. En cuanto termine, te aviso para que
lo vacíes.
service: notify.telegram
- id: Lavaplatos recordatorio noche
alias: Lavaplatos informa final de noche
trigger:
- entity_id: input_select.lavaplatos_status
platform: state
to: Finalizado
- event_data:
entity_id: timer.fin_lavaplatos
event_type: timer.finished
platform: event
condition:
- condition: state
entity_id: input_boolean.no_molestar
state: 'on'
action:
- data:
option: Apagado
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- data:
message: El lavaplatos terminó de madrugada. Por la mañana acuérdate de guardar
los platos. Lo he dejado en modo apagado
service: notify.telegram
- delay: 00:02:00
- data: {}
entity_id: switch.sonofflavaplatos
service: switch.turn_off
- data:
message: ¡Corriente eléctrica desconectada del lavaplatos!
service: notify.telegram
- id: Lavaplatos finalizada
alias: Lavaplatos finalizado
trigger:
- below: '2'
entity_id: sensor.sonofflavaplatos_energy_power
for: 0:01:00
platform: numeric_state
condition:
- condition: or
conditions:
- condition: state
entity_id: device_tracker.life360_albert
state: home
- condition: state
entity_id: device_tracker.life360_denise
state: home
- condition: state
entity_id: input_select.lavaplatos_status
state: Lavando
action:
- data:
option: Finalizado
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- id: Lavaplatos fin espera
alias: Lavaplatos esperando
trigger:
- entity_id: device_tracker.life360_albert
platform: state
to: home
- entity_id: device_tracker.life360_denise
platform: state
to: home
condition:
- condition: state
entity_id: input_select.lavaplatos_status
state: Espera
action:
- data:
option: Finalizado
entity_id: input_select.lavaplatos_status
service: input_select.select_optionY para acabar, vamos a crear el script de finalizado. Lo copiaremos al archivo scripts.yaml
'1465990':
alias: Fin lavaplatos
sequence:
- data:
option: Apagado
entity_id: input_select.lavaplatos_status
service: input_select.select_option
- entity_id: timer.fin_lavaplatos
service: timer.cancel
- delay: 00:00:10
- data:
entity_id: media_player.grupo_de_dia
language: es
message: Perfecto!
service: tts.google_translate_say
- data:
message: Perfecto!
service: notify.telegram
- data: {}
entity_id: switch.sonofflavaplatos
service: switch.turn_off
- data:
message: ¡Corriente eléctrica desconectada del lavaplatos!
service: notify.telegramMira el vídeo con todo el proceso completo

