Driver MQTT Scholt
A seguinte integração 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 sua IDE Python preferida. Preencha seu número de série, filtro do site e credenciais MQTT e execute o script:
SmartgridOnePré-requisitos
Controlador em Nuvem
Os sites serão controlados via Controlador em Nuvem. Por favor, entre em contato com Controller 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 único (standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>).
Novos sites podem ser gerados no Controlador em Nuvem usando filtros exclusivos para o site standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Essas duas variáveis devem ser usadas nos Tópicos e Corpo MQTT.
Aviso
Usar filtros de site idênticos resultará em erros.
Seleção do Dispositivo
| Device Type | Suportado |
|---|---|
| Inversores Solares | ✅ |
| Dispositivos de Armazenamento | |
| Bombas de Calor | |
| Medidores de Rede & Consumo | |
| Carregadores de VE | ❌ |
Nota
Os dispositivos em um site não podem ser editados após a criação.
Credenciais MQTT
SmartgridOne fornecerá as credenciais MQTT. O nome de usuário MQTT deve ser inserido ao gerar um novo site.
Nota
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>/
Campos opcionais sã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
- Os modos de operação possíveis são off, on
- active_power_W
- Igual à potência nominal enquanto a bomba de calor estiver on
- operation_modes
-
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 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>,
},
"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 Hoje em Watt-horas>,
"today_discharged_Wh": <Energia Descarrregada Hoje 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": "<filtro_do_site"
}Confirmação de Medição
Quando uma medição foi recebida com sucesso, uma confirmação será enviada no seguinte tópico: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Esta confirmação pode ser usada para:
- Verificar que a mensagem de medição foi recebida com sucesso.
- Verificar que 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": "<SN do Controlador>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<política>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<política>",
"storage_power_setpoint_w": -5000
}
}A lista de políticas que podem ser recebidas está disponível aqui: Lista de Políticas Potenciais
