Comandos via Script fora do ScadaBR

Olá, tenho uma dúvida que gostaria da ajuda de vocês para me indicar um caminho…

O cenário é: ScadaBR está instalado em um raspberry e está ligado a alguns arduinos via Modbus TCP/IP, esses arduinos são responsáveis por acionar diversos itens numa residência. Isso está funcionando.

Esse raspberry estará integrado ao Amazon cloud para atender ações efetuadas por comando de voz nos assistentes virtuais (essa parte não está implementada, mas já encontrei meios de implementa-lá). No exemplo que tenho ele controlaria os GPIO do raspberry, mas gostaria de efetuar um comando que está no ScadaBR.
Pra isso imaginei em criar scripts fora do ScadaBR que ao serem executados pelo SO conseguiria executar o comando no ScadaBR.

Chegamos a dúvida: É possível executar comandos disponíveis no ScadaBR através de Scripts executados fora do ScadaBR (executado pelo sistema operacional no servidor do ScadaBR)?

Se é possível, como devo fazer? Tem algum material ou exemplo ou algum local?

Obrigado!

Em primeiro lugar, o ScadaBR tem basicamente o controle de datapoints e Datasources. Ele pode receber comandos via http usando o http Listener. (é o que eu recomendaria), pois sua núvem mandaria chamadas http para o ScadaBR e ele as trataria. O mesmo vale para o ScadaBR falar com a núvem usando o http Publisher.

Outra coisa é vc usar o Datasource do arquivo ASCII, mas ai vc precisa saber um pouco de REGEX, vai por mim, da um trabalho. mas, seria uma opção que daria um tutorial bacana.

O problema é que não vejo a possibilidade da parte da nuvem usar o http listener/publisher, isso está rodando nos servidores da Amazon e apenas “integram” o raspberry ao dispositivo echo, tornando o raspberry um gadget Alexa (além da necessidade de expor isso fora da rede local).

O fluxo é: o dispositivo echo captura o comando de voz e envia para o servidor da Amazon (processador de skill) que irá traduzir a voz em habilidades (ações), essa informação vai para outro servidor da Amazon (lambda) onde tem as funções que encaminhará a requisição ao gadget (raspberry). Ao receber a requisição a raspberry executaria determinada ação através de um código Python que fica rodando nela, talvez eu faça alguns testes tentando usar o http na rede local. O projeto exemplo dessa integração seria para usar os próprios GPIO da raspberry para controlar os equipamentos.

Já usando o datasource do arquivo ASCII, teria informações bidirecionais? Ou eu apenas atualizaria um datapoint no ScadaBR e não conseguiria “exportar” o status do datapoint?

Pensando em localhost, não tem nenhuma forma de manipular os datapoints do ScadaBR via scripts?

Obrigado pela atenção.

Apenas compartilhando a evolução da pesquisa…

Encontrei algumas referências no CERTI que o Batch/Scripting interno do ScadaBR usa a API de acesso a dados.

Na documentação da API é apresentado exemplos de uso com diversas linguagens de programação usando a biblioteca SOAP que aparentemente é simples de implementar (pelo menos visualizando o escasso material disponível sobre).

Irei realizar alguns testes e retorno quando executar, para informar se consegui viabilizar ou não.

Se alguém já tiver trabalhado com isso e quiser adiantar o tão complicado é ou compartilhar alguma informação que me ajude, eu agradeço.