IoT

Automatizando um alarme JFL BRISA 4 PLUS usando um SONOFF BASIC – Parte 2: usando MQTT Alarm Control Panel no HOME ASSISTANT

Escrito por Douglas Baiocco. Publicado em IoT.

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: