Pular para o conteúdo principal
Scholt

Driver MQTT da Scholt

A integração a seguir pode ser usada para enviar medições do site via MQTT e receber comandos para os diferentes tipos de dispositivos instalados.

Script de demonstração em Python

Este código de teste realiza uma tarefa simples de enviar continuamente medições fictícias para uma instalação e receber comandos:

Por favor, baixe o arquivo abaixo em seu IDE Python preferido. Preencha seu número de série, filtro de site e credenciais MQTT e execute o script:

Pré-requisitos

Controlador em Nuvem

Os sites serão controlados via um Controlador em Nuvem. Por favor, entre em contato com Eniris para configurar um novo Controlador em Nuvem.

Configuração do Site

Uma vez que um Controlador em Nuvem tenha sido criado, ele conterá um número de série exclusivo (<Controller SN>).

Novos sites podem ser gerados no Controlador em Nuvem usando filtros de site exclusivos <site_filter>.

Essas duas variáveis devem ser usadas nos Tópicos e no Corpo do MQTT.

atenção

Usar filtros de site idênticos resultará em erros.

Seleção de Dispositivos

Device TypeSuportado
Inversores Solares
Dispositivos de Armazenamento
Bombas de Calor
Medidores de Rede e Consumo
Carregadores de EV
info

Os dispositivos em um site não podem ser editados após a criação.

Credenciais MQTT

Eniris fornecerá as credenciais MQTT. O nome de usuário MQTT deve ser inserido ao gerar um novo site.

info

As credenciais devem ser fornecidas apenas uma vez. Um conjunto de credenciais MQTT pode ser usado para controlar todos os sites.

Enviando medições

Para enviar medições para o SmartgridOne Controller, o seguinte tópico MQTT pode ser usado para publicação: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/

Os campos opcionais estão mencionados em itálico.

Os seguintes campos podem ser enviados por tipo de dispositivo:

  • Armazenamento

    • mean_soc_perc
    • active_power_W
    • today_charged_Wh
    • today_discharged_Wh
    • energy_stored_Wh
  • Solar

    • active_power_W
    • today_energy_Wh
  • Bombas de Calor

    • operation_modes
      • Modos de operação possíveis são off, on
    • active_power_W
      • Iguala a potência nominal enquanto a bomba de calor estiver on
  • Medidores

    • active_power_W
    • today_imported_energy_Wh
    • today_exported_energy_Wh

A mensagem deve ser estruturada da seguinte forma:

{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Potência Ativa da Rede em Watts>,
"today_imported_energy_Wh": <Energia Importada da Rede em Watt-horas>,
"today_exported_energy_Wh": <Energia Exportada da Rede em Watt-horas>,
},
"meter": {
"active_power_W": <Potência Ativa do Medidor em Watts>,
"today_imported_energy_Wh": <Energia Importada do Medidor em Watt-horas>,
"today_exported_energy_Wh": <Energia Exportada do Medidor em Watt-horas>,
},
"storage": {
"energy_stored_Wh": <Energia Armazenada em Watt-horas>,
"mean_soc_perc": <Porcentagem Média do Estado de Carga>,
"active_power_W": <Potência Ativa em Watts>,
"today_charged_Wh": <Energia Carregada no Dia Atual em Watt-horas>,
"today_discharged_Wh": <Energia Descarregada no Dia Atual em Watt-horas>,
},
"solar": {
"active_power_W": <Potência Ativa Solar em Watts>,
"today_energy_Wh": <Energia Produzida Hoje em Watt-horas>.
},
"heat_pump": {
"active_power_W": <Potência Ativa da Bomba de Calor em Watts>,
"operation_modes": <Modo de Operação da Bomba de Calor>
}
},
"response_code": <Código de Resposta>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}

Confirmação de Medição

Quando uma medição for recebida com sucesso, uma confirmação será enviada no seguinte tópico: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>

Essa confirmação pode ser usada para:

  1. Verificar se a mensagem de medição foi recebida com sucesso.
  2. Verificar se a mensagem de medição continha todos os dados necessários.

Recebendo comandos

Para receber comandos do SmartgridOne Controller, inscreva-se no seguinte tópico MQTT: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/

A resposta é estruturada da seguinte forma:

{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}

A lista de políticas que podem ser recebidas pode ser encontrada aqui: Lista de Políticas Potenciais