Como fazer o Google Assistant ou a Alexa nos dizer o status de qualquer sensor pelo Node-red!

Olá, vou explicar como ter o status de um sensor no google assistant pelo node-red!

Para melhor entendimento desse tutorial recomendo os tutoriais:

Tutorial básico para conhecer a interface do node-red!

Tutorial para conhecer o que é payload!

Para utilizar a Alexa é necessário ter integrado o Alexa Media Player!

Exemplo 01:

Como primeiro exemplo vou explicar com um sensor de temperatura para sabermos a temperatura!

Vamos precisar dos nodes:

1x inject
1x current state
1x call service

Vamos linkar os 3 nodes dessa forma!

1

O node current state vamos configurar colocando a entidade do sensor de temperatura!

O node call service vamos configurar com os dados do tts (text to speak) do google home mini/nest que queremos que saia o audio! No caso coloquei em entity id o google home mini do meu quarto.

Em data vamos preencher com esse código que está embaixo!

{
    "message": "A temperatura agora é de {{payload}} graus. Tenha um ótimo dia."
}

Para a configuração com dispositivos Echo. A configuração vai ficar assim no call service:

E no data:

{
    "data": {
        "type": "announce",
        "method": "all"
    },
    "title": "TESTE ALEXA",
    "message": "<voice name=''>A temperatura agora é de {{payload}} graus. Tenha um ótimo dia.</voice>",
    "target": [
        "media_player.echo_flex_de_leandro"
    ]
}

Lembrando que o payload é a informação que vamos conseguir do nosso sensor de temperatura quando ativado o node current state.

Então, quando ativado o inject (clicado no quadradinho) o node current state com o sensor vai mandar o payload com a temperatura e o node call service vai pegar a informação e preencher a frase do data com a temperatura e a frase vai sair no google home mini!

Exemplo 02:

Vou usar como exemplo uma automação simples, abriu a porta o google avisa de porta aberta, fechou a porta o google avisa de porta fechada.

Vamos precisar dos nodes:

1x events:state
1x change
1x call service

No node events:state vamos configurar colocando o sensor de porta no entity id.

O payload que é enviado do sensor de porta é on (para porta aberta) e off (para porta fechada), então o node change vamos configurar dessa formar, para quando o payload (a mensagem) for on mudar para aberta e para quando o payload (a mensagem) for off mudar para fechada.

Para o node call service vou usar a mesma configuração do exemplo de cima, só o data que vai ser diferente.

Coloque esse código no data:

{
    "message": "A porta da frente está {{payload}}."
}

Agora quando a porta for aberta o events:state vai transmitir o status, o node change vai mudar para o payload para completar a mensagem correta no data do call service e o google home mini/nest vai dizer a frase com o status da porta!

Espero ter ajudado!
Um abraço!

2 Curtiram

@LeandroIssa edita o tutorial indicando que para o uso da Alexa é necessário instalar a integração Alexa Media player porque o echo não é um media_player nativo.

2 Curtiram

Obrigado pela dica… já funciona aqui :slight_smile:
Há forma de meter isto na Alexa? Do genero de perguntar à alexa o temperatura na rua e ela correr esta automação? É que na app da alexa ela so aparece os scrips :frowning:

Sim, pelo node Amazon Echo!

1 Curtiu

Vou ja ler sobre o assunto :):slight_smile:
Obrigado.

1 Curtiu

Com esse node vc cria um “dispositivo” na Alexa, ai é só criar uma rotina ligando o dispositivo!

1 Curtiu

Boas Leandro,

É possível fazer o mesmo com um sensor de temperatura (DS18B20 - a rodar em tasmota) para perguntar Alexa a temperatura deste sensor?

Obrigado,

Olá, não conheço esse sensor mas se ele da uma entidade que reporta a temperatura é possível.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade