Wanderson Niquini

SmartThings + NodeRED: Instalação e configuração

SmartThings + NodeRED: Instalação e configuração

Depois da descoberta do fogo o acontecimento mais importante nos últimos anos foi a integração da plataforma SmartThings ao NodeRED.

O Node-RED é uma ferramenta de desenvolvimento baseada em fluxo para programação visual desenvolvida originalmente pela IBM para conectar dispositivos de hardware, APIs e serviços online como parte da Internet das Coisas.

Com esses fluxos expandimos para um patamar elevado nossas automações e interações com os dispositivos da casa.

Todos sabemos que a plataforma SmartThings é repleta de recursos e como ela é capaz de integrar a diversos dispositivos de diferentes marcas… agora imagina o SmartThings recebendo um convite para integrar-se aos Vingadores (as outras marcas que se cuidem…). O que já era bom se torna ainda melhor.

Então vamos lá…

Você vai precisar de:
– SmartThings
– Uma máquina para instalar o NodeRED (notebook velho, raspberry, celular android, etc)
– Uma xícara de café

Instalação do Node-RED

No link abaixo você tem acesso ao processo de instalação em plataformas diversas: https://nodered.org/docs/getting-started

Hoje recomendo a instalação em raspberry por atender bem a demanda e ser um equipamento de baixo consumo de energia.

Não vou entrar muito no quesito instalação pois isso vai depender bastante da máquina que será utilizada e o sistema operacional, mas vou deixar abaixo alguns comandos para instalação tanto no raspberry quanto em máquinas com Debian e Ubuntu.

O processo de instalação é bem simples…. cole e copie o código abaixo no terminal:

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

feito isso cole esse código que será para executar o NodeRED toda vez que iniciar a máquina:

sudo systemctl enable nodered.service

Por fim alguns comandos importantes do NodeRED que você pode precisar no futuro não muito distante:

  • node-red-start– isso inicia o serviço Node-RED e exibe sua saída de log. Pressionar Ctrl-Cou fechar a janela não interrompe o serviço; continua rodando em segundo plano
  • node-red-stop – isso interrompe o serviço Node-RED
  • node-red-restart – isso para e reinicia o serviço Node-RED
  • node-red-log – exibe a saída de log do serviço

Após a instalação ele irá exibir o ip de instalação do NodeRED (que é o ip da máquina onde está instalado), senão localizar verifique em seu roteador o IP que foi atribuído e sugiro fixar o mesmo pois precisamos definir no SmartApp o IP correto.

Digite no navegador o endereço IP atribuído seguido da porta 1880 (Ex: http://192.168.1.2:1880) e vc terá uma tela similar a esta:

Agora beba um gole do café…

Instalação do SmartApp

Para que o NodeRED receba os eventos (alterações de status) do SmartThings será necessário instalar um SmartApp.

Pra isso você precisa logar com sua conta SmartThings ou Samsung na IDE: https://graph.api.smartthings.com/ clicar no menu superior em My SmartApps

New SmartApps

From Code

Agora você precisar inserir o código do SmartApp que pode ser encontrado no link abaixo:

https://raw.githubusercontent.com/otaviojr/node-red-contrib-smartthings/master/smartapp/webhook.groovy

Basta copiar e colar o código no campo From Code e depois clicar em Create

Na próxima tela clique em Publish / For Me

Tome outro gole de de café

Configuração do SmartApp

Com o SmartApp instalado você precisa agora acessar o app SmartThings em seu dispositivo móvel (popularmente conhecido como celular). Os prints abaixo foram feitos em um iPhone mas o processo em Android é bem similar.

Clique no ícone + localizado no canto superior

Depois em SmartApp

Agora clique em NodeRED WebHook

E terá uma tela como essa

Em WebHook url você vai digitar o IP da máquina que está instala o NodeRED seguido da porta e do caminho /smartthings/webhook (Ex: http://192.168.1.2:1880/smartthings/webhook).

Agora ative a opção Local Network e logo abaixo clique em cada opção e marque os dispositivos de acordo com as capacidades de cada um (importante ressaltar que o NodeRED só irá receber os eventos dos dispositivos selecionados nessa tela, portanto se adicionar novos lembre sempre de voltar nos SmartApps instalados / NodeRED WebHook e marcar os novos.

Após clique em concluir e toma mais um gole de café.

Instalação do Palette no NodeRED

Feito a configuração o próximo passo é voltar ao NodeRED para instalar o Palette do SmartThings.

Clique no Menu

Manage palette

Clique na aba Install

Agora no campo de pesquisa digite: node-red-contrib-smartthings e clique no botão Install

Feito isso você concluiu com êxito a instação dos nodes SmartThings e basta procura-los na barra lateral esquerda.

Se você chegou até aqui com café na xícara ainda meus parabéns!!!! Eu já precisei colocar mais 3 vezes na minha até esse momento…. Tome mais gole.

Configuração da conta SmartThings no palette para receber os eventos do SmartApp

Arraste o primeiro node (on/off) para a tela que chamamos de Flow (Fluxo)

Dê um duplo clique sobre ele e na aba que irá abrir clique no ícone do lápis

Na próxima tela em Name coloque um nome da sua conta (Ex: SmartThings) e token você vai precisar acessar o link abaixo para gerar seu token:

https://account.smartthings.com/tokens

Acesse novamente com seu usuário e senha da conta SmartThings ou Samsung e clique em Gerar Token

Atribua em nome para seu Token, marque todas as opções e clique em Gerar Token no final da página.

Na próxima tela vai aparecer o Token gerado, basta copia-lo e voltar a tela do NodeRED e colar no campo Token e clicar em ADD

Agora clique em Done e pronto!!!! Instalação e configuração concluída com sucesso!!!!

Você vai perceber agora que ao clicar no campo Device será listado todos os seus dispositivos com capacidade de on/off para que podem ser utilizados nos fluxos para criar as automações.

Termine seu café caso já não tenha feito, levante, estique as pernas, descanse e depois continuamos….

Abraços!!!!

Um comentário em “SmartThings + NodeRED: Instalação e configuração

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *