Automatizando um alarme JFL BRISA 4 PLUS usando um SONOFF BASIC – Parte 2: usando MQTT Alarm Control Panel no HOME ASSISTANT
Esse artigo é a continuação do artigo http://ajudadigital.com.br/index.php/iot/158-automatizando-um-alarme-jfl-brisa-4-plus-usando-um-sonoff-basic. Agora eu vou mostrar o que eu fiz para utilizar o alarme conectado no Homeassistant, recebendo notificações no aplicativo do celular.
Para mais detalhes sobre o HomeAssistant, veja este artigo: http://ajudadigital.com.br/index.php/iot/154-homeassistant
Após algumas mudanças no projeto inicial, consegui deixar a solução anterior um pouco mais profissional usando os recursos do HOMEASSISTANT. Veja como está a tela do meu:
Para deixar desse jeito, vamos recordar como estava o projeto:
Para armar o alarme, eu envio um pulso no SONOFF modificado conectado em uma entrada do alarme. Esta entrada ativa o “ARME” do alarme. Como o meu SONOFF está usando o ESPEASY, posso testar isso usando o seguinte comando em qualquer navegador:
http://ENDEREÇO_IP_DO_SONOFF/control?cmd=Pulse,12,1,500
Este comando executa um pulso de 500 milissegundos na porta do alarme, ativando a função de arme.
No ESPEASY, a configuração está da seguinte forma:
Coloquei dois dispositivos como Switchs: Armado e Sirene.
O Armado é a porta que esta ligada o transistor do artigo anterior. Consigo por esta porta saber se o alarme está armado.
O Sirene é o que está ligado no alarme na saída CH-CH. Consigo saber se a sirene disparou por aqui. Veja em detalhes as configurações dos dois:
Armado
Sirene
Para deixar tudo configurado no HOMEASSISTANT, criei a seguinte configuração no configuration.yaml:
alarm_control_panel:
- platform: mqtt
state_topic: "home/brisa/armar/Switch"
command_topic: "home/brisa/cmd"
name: "BRISA"
payload_disarm: "Pulse,12,1,500"
payload_arm_away: "Pulse,12,1,500"
payload_arm_home: "Pulse,12,1,500"
payload_arm_night: "Pulse,12,1,500"
Notem que temos vários Payloads: cada um deles teria uma função especifica para configurar para armar o alarme de acordo com algumas situações. Como eu tenho apenas uma, todas as opções fazem um pulso no SONOFF.
O restante da inteligência da solução está no ESPEASY. Criei uma regra para publicar os valores no MQTT. A regra está abaixo:
on Armado#Switch do
if [Armado#Switch]=1 and [Sirene#Switch]=0
Publish home/%sysname%/armar/Switch,armed_away
endif
if [Armado#Switch]=0 and [Sirene#Switch]=0
Publish home/%sysname%/armar/Switch,disarmed
endif
endon
on Sirene#Switch do
if [Sirene#Switch]=1
Publish home/%sysname%/armar/Switch,triggered
endif
endon
Desta forma, de acordo com os estados do alarme, temos a interação entre o ESPEASY e o HOMEASSISTANT.
A cereja do bolo está na criação da notificação no celular: basta adicionar o seguinte no automations.yaml do Homeassistant:
- alias: 'Send notification when alarm triggered'
trigger:
- platform: state
entity_id: alarm_control_panel.brisa
to: 'triggered'
action:
- service: notify.notify
data:
message: "ATENÇÃO! o Alarme está disparado"
Veja abaixo o resultado no Homeassistant (APP para o celular):
1 - Imagem do alarme desarmado. Para armar, basta selecionar Armar Ausente:
Alarme após ficar armado:
Alarme com evento de disparo. O símbolo do alarme ficará piscando:
Veja a mensagem na notificação do celular quando ele dispara: