Boas,
tenho andado a tentar configurar o sistema de alarme que montei no HA (com alguns sensores de porta/janela e de movimento) com o Google Assistente.
Motivo principal, muitas vezes saio de casa e esqueço de ligar o alarme. Criei uma notificação para me avisar passado 20 minutos de ninguem estar em casa e o alarme não estar ativo.
Mas acontece bastante estar a conduzir quando recebo a notificação, e não quero estar a abrir a app enquanto conduzo.
Então lembrei-me que como o carro tem Android Auto, consigo controlar o HA pelo Google Assistant no carro.
Entraves:
- não queria poder desativar o alarme pelo Google Assistant, só mesmo ativar
- a integração do Alarme do HA com o Google Assistant em PT não funciona muito bem (após vários testes, consegui apenas desativar o alarme e nunca ativar. Exatamente o contrário do que queria)
Após alguma pesquisa, encontrei um solução.
Utilizando o Lock Template.
O que sincronizo com o Google Assistant é uma “fechadura” e não um alarme.
Ainda assim há algumas limitações, como por exemplo:
- temos de dizer “Ok Google, trancar Alarme” (‘Alarme’ é o nome que dei ao lock template) ou
- “Ok Google, trancar ‘divisão’” (onde ‘divisão’ será a divisão definida na app Google Home), no meu caso tenho uma divisão chamada “Casa” onde coloco os devices que não têm um divisão certa (ex: sensor temperatura média de casa)
Com o Lock Template consigo definir a ação de ‘lock’ para ativar o alarme e a ação de ‘unlock’ regista uma notificação de tentativa de desativar o Alarme, mas não desativa.
Deixo o código utilizado, poderá ser útil.
lock:
- platform: template
name: Alarme
value_template: '{{ states("alarm_control_panel.ha_alarm") == "armed_away" or states("alarm_control_panel.ha_alarm") == "armed_home"}}'
lock:
service: alarm_control_panel.alarm_arm_away
data:
entity_id: alarm_control_panel.ha_alarm
code: !secret alarm_code # apenas necessário se o alarme requisitar código para armar
unlock:
service: persistent_notification.create
data:
message: "Tentativa de desativar o alarme por Lock Template"
title: Warning
Deixo também a opção de desativar o alarme por Lock Template
lock:
- platform: template
name: Alarme
value_template: '{{ states("alarm_control_panel.ha_alarm") == "armed_away" or states("alarm_control_panel.ha_alarm") == "armed_home"}}'
lock:
service: alarm_control_panel.alarm_arm_away
data:
entity_id: alarm_control_panel.ha_alarm
code: !secret alarm_code
unlock:
service: alarm_control_panel.alarm_disarm
data:
entity_id: alarm_control_panel.ha_alarm
code: !secret alarm_code
Espero que gostem