
Controlador MQTT de Scholt
La siguiente integración se puede utilizar para enviar mediciones del sitio a través de MQTT y recibir comandos para los diferentes tipos de dispositivos instalados.
Script de demostración en Python
Este código de prueba realiza un trabajo simple de enviar continuamente mediciones ficticias a una instalación y recibir comandos:
Por favor, descarga el archivo a continuación en tu IDE de Python preferido. Completa tu número de serie, filtro de sitio y credenciales MQTT y ejecuta el script:
Requisitos previos
Controlador en la Nube
Los sitios serán controlados a través de un Controlador en la Nube. Por favor, contacta a Eniris para configurar un nuevo Controlador en la Nube.
Configuración del Sitio
Una vez que se ha creado un Controlador en la Nube, contendrá un número de serie único (<Controller SN>
).
Nuevos sitios se pueden generar en el Controlador en la Nube utilizando filtros de sitio únicos <site_filter>
.
Estas dos variables deben ser utilizadas en los Temas y el Cuerpo de MQTT.
El uso de filtros de sitio idénticos resultará en errores.
Selección de Dispositivos
Device Type | Compatible |
---|---|
Inversores Solares | ✅ |
Dispositivos de Almacenamiento | |
Bombas de Calor | |
Medidores de Red y Consumo | |
Cargadores de Vehículos Eléctricos | ❌ |
Los dispositivos en un sitio no pueden ser editados después de la creación.
Credenciales MQTT
Eniris proporcionará las credenciales MQTT. El nombre de usuario MQTT debe ser ingresado al generar un nuevo sitio.
Las credenciales solo deben proporcionarse una vez. Un conjunto de credenciales MQTT se puede utilizar para controlar todos los sitios.
Enviando mediciones
Para enviar mediciones al SmartgridOne Controller, se puede utilizar el siguiente tema MQTT para la publicación: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Los campos opcionales se mencionan en cursiva.
Los siguientes campos se pueden enviar 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 operación posibles son apagado, encendido
- active_power_W
- Igual a la potencia nominal mientras la bomba de calor esté encendida*
- operation_modes
-
Medidores
- 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"
}
Reconocimiento de Mediciones
Cuando una medición ha sido recibida con éxito, se enviará un reconocimiento en el siguiente tema: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Este reconocimiento puede ser utilizado para:
- Verificar que el mensaje de medición se recibió con éxito.
- Verificar que el mensaje de medición contenía todos los datos necesarios.
Recibiendo comandos
Para recibir comandos del SmartgridOne Controller, suscríbete al siguiente tema MQTT: standard1/outbound/scholt_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 Políticas Potenciales