# Notificação Push Html5 com opções e envio de imagens

**URL:** <https://forum.cpha.pt/t/notificacao-push-html5-com-opcoes-e-envio-de-imagens/1747>\
**Category:** Node-Red\
**Created:** [23 Janeiro , 2019 23:09 UTC](https://forum.cpha.pt/t/notificacao-push-html5-com-opcoes-e-envio-de-imagens/1747 "2019-01-23T23:09:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tmarquespt](https://forum.cpha.pt/user_avatar/forum.cpha.pt/tmarquespt/32/16063_2.png) [@tmarquespt](https://forum.cpha.pt/u/tmarquespt)\
**Post date:** [23 Janeiro , 2019 23:09 UTC](https://forum.cpha.pt/t/notificacao-push-html5-com-opcoes-e-envio-de-imagens/1747/1 "2019-01-23T23:09:00Z")

</div>

O seguinte flow permite receberem notificações baseadas em eventos do HA com opções de modo a que possam tomar imediatamente uma acção.  
Implica que já tenham o Push Html5 a funcionar no [HA](https://www.home-assistant.io/components/notify.html5/).

Para este exemplo, imaginemos que temos um sensor de abertura de porta, e que quando a porta é aberta queremos receber uma notificação (no telemóvel ou no PC) com botões que podemos clicar para iniciar uma determinada acção. Neste caso, o envio da foto da camâra.

![html5_with_photo](https://forum.cpha.pt/uploads/default/original/2X/c/c5c9a29b1b40b9af95265c483792202266ad5261.gif)

De seguida, se clicarmos em ‘SIM’ o HA vai-nos enviar a imagem. Para este exemplo foi utilizada um jpg guardado no folder /www

> Para saber como capturar a imagem de uma camera vejam este [tutorial](https://forum.cpha.pt/t/como-capturar-a-imagem-de-uma-camera-e-enviar-pelo-telegram/1749).

* * *

Começamos por detectar a abertura da porta com um _events: state node_ que vai servir de _trigger_ a um _call service node_

 ![image](https://forum.cpha.pt/uploads/default/original/2X/f/fd690afeb7fc2174611e6301cba84a9af289480e.png)

Configuração do _node_ Porta Abriu:

 ![image](https://forum.cpha.pt/uploads/default/original/2X/5/591efc7868f0b8e0e5f6d9a88b7ce073f655c3cb.png)

coloquem a entidade que vai servir de _trigger_. Neste caso é um binary\_sensor e escolham o _Halt if State is Off_. Desta forma o _flow_ só arranca de o estado for _On_.

Configuração do _node_ Send\_to\_html5:

 ![image](https://forum.cpha.pt/uploads/default/original/2X/d/d5b867d70391c047de59033c9af5c1a15447e4f7.png)

O domain é notify, e o service depende do nome que lhe deram quando o criaram. No meu caso é _html5_  
 ![image](https://forum.cpha.pt/uploads/default/original/2X/6/6d2fdeb01ba83b68907678a590dfa358b992b696.png)

No campo _Data_ é onde vamos criar a notificação e as opções que queremos

```json
{
    "title": "Porta Aberta",
    "message": "Ver Imagem?",
    "data": {
        "tag": "front-door-notification",
        "actions": [
            {
                "action": "sim",
                "title": "SIM"
            },
            {
                "action": "nao",
                "title": "NÃO"
            }
        ]
    }
}

```

O campo _tag_ não é necessário, mas é importante. As mensagens sem _tag_ vão-se acumulando. Se tiverem (a mesma) _tag_ a última sobrepõe-se à anterior, que é apagada.

Neste momento se abrirem a porta recebem isto:

 ![image](https://forum.cpha.pt/uploads/default/original/2X/e/e9a71cbbd03e098cab901a992191c14d57c80fee.png)

Falta-nos a parte de receber a instrução dos botões e agir em conformidade.  
Precisamos de ‘ler’ o evento click da notificação no HA, criar um switch distinguir entre as opções, e depois um _call service_ para enviar a mensagem com a foto.

![image](https://forum.cpha.pt/uploads/default/original/2X/e/e22f58788a37c1fcee1212318ccc7c25e7b118a3.png)

Configuração do _node_ html5\_notification.clicked

 ![image](https://forum.cpha.pt/uploads/default/original/2X/3/3b9cbdf809e872de903bc6190fb6695cda58b2e8.png)

Mais uma vez depende do nome que escolheram para a notificação. Eu escolhi ‘html5’

No switch node, vamos ter de ir ler o payload.event.action (que é opção em que clicamos e que foi definida no json do envio da mensagem)

 ![image](https://forum.cpha.pt/uploads/default/original/2X/1/10a6cb704b7b51fa0dee465f0a2ae9c3149b5642.png)

Inserimos as duas opções, embora neste caso a segunda não seja necessária, dado que não vai desplotar nenhuma ação.

Configuração do _call service node_

 ![image](https://forum.cpha.pt/uploads/default/original/2X/1/1a69341daf198ba940366fb70a1f06e20de4b973.png)

Aqui as configurações são identicas ao _node_ de envio da mensagem, só vai alterar a mensagem em si, que vai incluir o endereço do nosso HA, e o URL da imagem a enviar.

_Data:_

```json
{
    "title": "Porta Aberta",
    "message": "Olha o Meliante",
    "data": {
        "tag": "alert",
        "url": "https://omeupato.duckdns.org:8123",
        "image": "https://omeupato.duckdns.org:8123/local/door_cam_last_frame.jpg"
    }
}

```

Fazemos deploy do _Flow_  
 ![image](https://forum.cpha.pt/uploads/default/original/2X/a/af9bdcad89e8e3056d2e475fa413568adb5447a5.png)

Agora podemos abrir a porta e clicar no

 ![image](https://forum.cpha.pt/uploads/default/original/2X/3/3ab155a1725413899a552a6860c431b309e254ed.png)

e recebemos de imediato a imagem

 ![image](https://forum.cpha.pt/uploads/default/original/2X/3/3839dd0c8e9f9fa1d67cac940a904a9b569c69d3.jpeg)

Para quem tiver pressa, pode importar o flow completo

 ![image](https://forum.cpha.pt/uploads/default/original/2X/3/399966192bdc24018523f0d240efc44f2d1075c0.png)

> <https://gist.github.com/tmarquespt/4bde6f0fdf5f59ed7af71b3b15c569b1#file-html5-notification-with-image>

---

<div class="post-metadata">

**Author:** ![tmarquespt](https://forum.cpha.pt/user_avatar/forum.cpha.pt/tmarquespt/32/16063_2.png) [@tmarquespt](https://forum.cpha.pt/u/tmarquespt)\
**Post date:** [23 Abril , 2019 23:22 UTC](https://forum.cpha.pt/t/notificacao-push-html5-com-opcoes-e-envio-de-imagens/1747/2 "2019-04-23T23:22:51Z")

</div>

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.
