Skip to content

odenisnobre/usando-pinotifications-com-telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Usando o PI Notifications com Telegram

O projeto tem como objetivo documentar os testes realizados com o PI Notifications(OSIsoft) e Telegram usando o node-red como 'gateway'.

License MIT

node-red-telegram

Recursos utilizados

  • Node-Red - Versão 1.1.0
  • Webservice - Versão 2016 x64
  • Pi Notification (OSIsoft) - PI Notification 2012
  • Telegram

Desenvolvimento

A versão do PI Notification que foi testado foi a versão 2012, que já se encontra desatualizada atualmente.

No ambiente testado, o PI Notifications estava configurado para envio de notificações somente por e-mail e webservice.

Para a possibilidade de enviar mensagens para Telegram foi criado um webservice para poder fazer a interface entre o PI Notifications e Telegram.

Durante os testes foram desenvolvidas e testadas duas soluções:

  • Envio de mensagem de forma direta pelo notifications

  • Envio de mensagem via Node-Red

Webservice

Como dito, foi desenvolvido um webservice para fazer a interface entre PI Notifications e Telegram.


O webservice tem três métodos:

  • HelloWorld: que serve somente de testes
  • SendData: usado para interface com outros softwares, que no nosso caso, será o Node-Red. Este método possui o método HTTP Post que será enviado para uma aplicação externa. Como o webservice foi desenvolvido para trabalhar com uma notificação no PI Notifications foram seguidos os parametros conforme definições abaixo:
    • servidor: endereço no servidor com sua respectiva porta(se houver)
    • caminho: endereço hoje será publicado a mensagem
    • par1: parâmetro 01 da mensagem, retornando o nome da notificação - "nome"
    • par2: parâmetro 02 da mensagem, retornando o status do atributo trigger - "status"
    • par3: parâmetro 03 da mensagem, retornando o id da notificação para ser usada como filtro - "id"
  • enviaMessagem: usado para envio direto entre de mensagem para Telegram sem necessidade de nenhum servidor adicional. Com três parametros:
    • token_bot: token do bot telegram
    • chat_id: chat id do usuário, lista ou grupo do telegram
    • messagem: a mensagem para ser enviada para os usuários

Testes solução 01

Usando a solução 01 - enviaMessagem - podemos enviar mensagem mais rapidamente pois os parametros são simples.



Desta forma basta entrar com os três parametros necessário que a mensagem será enviada ao usuário do Telegram.

Os paramentros podem ser linkados com atributos do AF.

A desvantagem desta solução é que a mensagem fica sempre limitada. Para customizar a mensagem seria necessário usar string builder para deixar a mensagem personalizada dentro do atributo do AF.

Testes solução 02

Usando a solução 02 - sendData - podemos enviar mensagem para uma aplicação terceira que irá receber os parametros da mensagem e formatar a mensagem conforme necessidade.

No nosso teste utilizamos o Node-Red como aplicação para receber os parametros, formatar a mensagem e enviá-la para os usuários.

A escolha do uso do Node-Red se dá pela facilidade de implementação, documentação e por ser voltado para tecnologias de IoT. Desta forma estamos alinhados com as tendências da Industria 4.0.

O nosso Node-Red está na versão v0.19.3 e rodando em ambiente Windows - Windows Server 2008 R2.

O telegram possui vários nodes mas utilizamos dois:

Como o webservice envia uma requisição usando o método POST temos que criar no Node-Red um flow para receber estes dados:


Com esse flow é possível receber os dados do Notification e tratar os mesmos com seu respectivos filtros, se necessário.




Conclusão

Após os teste concluimos que com a utilização do webservice, seja ele diretamente ou com o Node-Red aumentamos ainda mais as oportunidades de envio de notificações para os usuários.

O telegram é muito útil para envio de mensagens críticas.

Help

Caso precisem te ajuda ou tenham alguma sugestão, deixe seu comentário Aqui.

About

Enviando notificação para telegram via PI Notifications da OSISoft

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published