Controlador MQTT de Neargrid
La siguiente integración se puede utilizar para enviar mediciones del sitio mediante MQTT y recibir comandos para los diferentes tipos de dispositivos instalados.
Script de demostración de Python
Contacta con SmartgridOne para solicitar un script de demostración.
Requisitos previos
Controlador en la nube
Los sitios se controlarán mediante un Controlador en la nube. Contacta con SmartgridOne para configurar un nuevo Controlador en la nube
Configuración del sitio
Una vez creado un Controlador en la nube, contendrá un número de serie único (<Controller SN>).
Se pueden generar nuevos sitios en el Controlador en la nube utilizando filtros de sitio únicos <site_filter>
Estas dos variables deben utilizarse en los temas y el cuerpo de MQTT.
Advertencia
El uso de filtros de sitio idénticos provocará errores.
Selección de dispositivos
| Device Type | Supported |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Nota
Los dispositivos de un sitio no se pueden editar después de su creación.
Credenciales de MQTT
SmartgridOne proporcionará las credenciales de MQTT. El nombre de usuario de MQTT debe introducirse al generar un nuevo sitio.
Nota
Las credenciales solo deben proporcionarse una vez. Se puede utilizar un único conjunto de credenciales de MQTT para controlar todos los sitios.
Envío de mediciones
Para enviar mediciones al SmartgridOne Controller, se puede utilizar el siguiente tema MQTT para publicar: standard1/outbound/neargrid_meas/<site_filter>/<Controller SN>/
Los campos opcionales se indican en cursiva.
Se pueden enviar los siguientes campos por tipo de dispositivo:
-
Almacenamiento
- 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
- Los modos de funcionamiento posibles son off, on
- active_power_W
- Equivale a la potencia nominal mientras la bomba de calor está on
- operation_modes
-
Contadores
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
El mensaje debe estructurarse de la siguiente manera:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"meter": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"storage": {
"energy_stored_Wh": <Energy Stored in Watt-hours>,
"mean_soc_perc": <Mean State of Charge Percentage>,
"active_power_W": <Active Power in Watts>,
"today_charged_Wh": <Energy Charged on the Current Today in Watt-hours>,
"today_discharged_Wh": <Energy Discharged on the Current Today in Watt-hours>,
},
"solar": {
"active_power_W": <Solar Active Power in Watts>,
"today_energy_Wh": <Energy Produced Today in Watt-hours>.
},
"heat_pump": {
"active_power_W": <Heat Pump Active Power in Watts>,
"operation_modes": <Heat Pump Operation Mode>
}
},
"response_code": <Response Code>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}Confirmación de recepción de la medición
Cuando una medición se haya recibido correctamente, se enviará una confirmación de recepción en el siguiente tema: standard1/rp_one_s/neargrid_ack/<site_filter>/<Controller SN>
Esta confirmación de recepción se puede utilizar para:
- Verificar que el mensaje de medición se recibió correctamente.
- Verificar que el mensaje de medición contenía todos los datos necesarios.
Recepción de comandos
Para recibir comandos del SmartgridOne Controller, suscríbete al siguiente tema MQTT: standard1/outbound/neargrid_cmd/<site_filter>/<Controller SN>/
La respuesta se estructura de la siguiente manera:
{
"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
}
}La lista de políticas que se pueden recibir se encuentra aquí: Lista de posibles políticas
