Conheça o node Amazon Echo! A Alexa no Node-red! Crie fluxos no Node-red e use na Alexa!

Olá! Acredito que muitos também usam a Alexa como assistente de voz, então vou mostrar como usa-la no node-red!

Ele é um node de Gatilho!

cloud

É iniciante no Node-red? Então da uma passada nesse tópico aqui antes de seguir nesse!

Primeiro vamos adicionar os nodes Amazon Echo. Vá até o menu na direita a cima e clique em Manage palette!

Com ele aberto clique em Instal e escreva Echo na busca, achando o node " node-red-contrib-amazon-echo" clique em instal!

Com ele instalado os nodes vão aparecer na lista de nodes!

03

Para adicionar novos dispositivos pelo node-red na sua Alexa vamos organizar o fluxo dessa forma!
Vamos utilizar os nodes:

1x Amazon Echo Hub
1x Amazon Echo Device
1x Switch

O node Amazon Echo Hub não vamos alterar nada nele, ele é o nosso link com os dispositivos Echo da sua rede e todos os nodes Amazon Echo Device devem ser ligados a ele.

O node Amazon Echo Hub é único, só pode haver um dele no Node-RED e não pode haver outro, caso tenha haverá erro!

Sem título

O node Amazon Echo Device é o node que vamos utilizar para criar um novo dispositivo e temos que colocar um nome para o dispositivo!

No node Switch vamos configurar dessa forma, na linha 1 vamos escrever on, para adicionar a linha 2 vamos clicar em add e na linha 2 vamos escrever off.

Agora temos o nosso fluxo organizado! Vou usar como exemplo dois fluxos que montei. Um é para o alarme e o segundo é para o meu Roborock (robô aspirador). Lembrando que todos devem estar ligados ao node Amazon Echo Hub para funcionar.

Agora vamos ao aplicativo Alexa!

No aplicativo vamos na aba de Dispositivos e clicar no + no canto superior direito.

Vá em Adicionar dispositivo.

Vá em Outros.

Vá em Detectar Dispositivos e espere os 45 segundos.

Foram achados os dois nodes que criamos!

E agora é só adicionar nos ambientes que quisermos!

Pronto! Agora poderá criar dispositivos na sua Alexa com os fluxos que criar no node-red!

Um abraço!

Para o Google Home:

3 Likes

Excelente, mas não consegui fazer funcionar aqui.
O node Amazon Echo Hub, se eu não mudo a porta, apresenta o seguinte erro:
"Error: listen EACCES: permission denied 0.0.0.0:80"

Se eu mudo pra uma porta que não está em uso (exemplo 1881), ele diz que está online, mas não reconhece aqui.
Pode tirar um print de como está esse seu node?

1 Like

Infelizmente ainda não consegui fazer funcionar por aqui, Vamos ver como segue :slight_smile:

Para solucionar é so seguir o troubleshotting disponível no wiki oficial - https://github.com/datech/node-red-contrib-amazon-echo/wiki

Vale a pena dar uma olhada no site do complemento https://flows.nodered.org/node/node-red-contrib-amazon-echo

1 Like

Esse procedimento só funciona para entidades tipo switch certo (on/off)?

Não dá certo para lâmpadas RBG por exemplo, para controlar brilho e cores. Ou tem alguma forma?

Vc vai ter que configurar isso pra cada cor ou brilho!

Em Data:

{
    "color_name": "red"
}

1 Like

Entendi, mas putz é muito trabalho, rsrs.

O outro método de criar uma skill acontece isso também, ou lá funciona direto?

São coisas diferentes, você está confundindo o propósito.

Aqui vc vai estar colocando os fluxos para serem acionados pela Alexa, então qualquer coisa que configurar nos fluxos vai ser feito pelo gatilho do comando de voz. Então só o que estiver no fluxo que você configurou vai ser feito, só vai estar acionando o fluxo.

Então automações mais complexas como essa aqui, você consegue fazer só no node-red.

No método de criar a skill você vai importar os dispositivos que estão no Home Assistant para a assistente, é bem diferente. Nesse método você tem acesso total aos dispositivos.

1 Like

Sim, sim, eu entendo a diferença. Tenho os fluxos acionados pela Alexa e funcionam.

Só que tenho uns dispositivos Zigbee e tentei usar um fluxo simples para acionar ele pela Alexa, e funcionou, mas quando o dispositivo tem mais comandos é que esbarrei nisso.

Minha dúvida era se eu podia usar um paylod completo, direto no dispositivo, com um fluxo direto.

Mas obrigado pela explicação. Vou instalar a Skill para dispositivos com mais opções.

1 Like

Pelo node-red só configurando mesmo porque você aciona só o que está configurado no fluxo, não tudo a disposição de dentro dos dispositivos.

1 Like

Parabéns Leandro, excelente post! Estava procurando esse recurso desde quando comecei utilizar HA.
Mas preciso de uma ajuda: criei o flow conforme vc instruiu no post, mas ao buscar dispositivos, meu app não encontra nada. Tem ideia do que possa ser?

Da uma lida na parte de problemas no github dos nodes:

Obrigado pela ajuda Leandro, mas tenho o HA instalado via VM no windows, estou sem linux no momento e muito menos sei como realizar essas configurações.
De toda forma, agradeço a ajuda!

1 Like

Olá. Uma ajuda por favor.
Tenho o HA configurado em VM no Windows.
Fiz as configurações msotradas, mas ocorre erro no Echo Hub. “Unable to start on port 80”.
Já li as informações de solução de problemas indicadas, porém, meu roteador não aceita direcionamento de portas.
Perguntas:

  1. Tem como executar os comandos de Linux indicados na solução de problemas para executar o Node Red como usuário root?
  2. O único meio para dar comandos pela Alexa para ser executado no Home Assitant é este?
  3. Tem outro modo de dar comandos pela Alexa utilizando o Node-Red?
    Observação adicional, se necessária: Utilizo Nabu Casa em meu HA.

Boa tarde Leandro. Show de bola esse tópico. Nesse exemplo que colocou, como vc faz pra acionar essa rotina sem o auxílio da Alexa? Por exemplo: Tenho um device echo no node red com o nome de Teste. Esse “Teste” só pode ser acionado via Alexa, ou consigo acionar através de uma entidade ou cartão no HA?

Vc pode usar um input_boolean, é uma ideia.

Vamos lá Leandro. Deixa eu melhorar minha pergunta. Vamos imaginar que eu não tenha nenhum assistente virtual e crio um fluxo no node-red. Como vou integrar o start desse fluxo com o HA? Ou com o input_boolean que mencionou eu consigo integrar com o HA para ser chamado por um botão?

Sim, pode sim, com o input_boolean vc cria um “dispositivo” como um interruptor. Vc configura ele no node-red e coloca ele na lovelace de boa.
Da uma pesquisada sobre input_boolean aqui no fórum tem alguns conteúdos, inclusive ensinando como usar.

Boa. Vou pesquisar. Valeu

1 Like