Consejo
El Protocolo VPP se basa en el Protocolo Live MQTT. Por favor, consulte esta página antes. Vea Live MQTT Control.
Consejo
La configuración inicial del VPP DEBE ser realizada por Sofar. Por favor contacte a Sofar antes de seguir los siguientes pasos.
Conexión al Broker MQTT
Por favor, consulte la siguiente sección para saber cómo conectarse al Broker MQTT Sofar: MQTT Broker Connection
Funcionalidad del VPP
El VPP está diseñado para recibir un punto de consigna/estrategia por grupo de dispositivos (por ejemplo, Solar, Almacenamiento), y agregar el punto de consigna entre los controladores conectados al VPP.
Mientras que el Protocolo Live MQTT enviaría un comando a un solo controlador, el VPP permite al usuario enviar un comando a un grupo de controladores.

Añadiendo controladores al VPP




Al añadir la señal MQTT Sofar, se muestra un campo standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}. Ingrese el ID del VPP recibido aquí.


Algoritmo de agregación
Los puntos de consigna se agregan basándose en la capacidad de los dispositivos bajo los controladores individuales.
Temas MQTT
Una vez finalizada la configuración inicial, se proporcionará un ID del VPP y un Nombre de Usuario MQTT (y contraseña).
Tema de Entrada
Tema: vpp/{MQTT Username}/{VPP ID}/warning
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}
Este tema es utilizado por el usuario para enviar un comando agregado al VPP.
VPP en vivo
Cuerpo:
{
"msg_id": <Incremental message id>(int),
"vpp_id": <VPP ID>(str)
"time": "<Unix Timestamp>(int)",
"fields": {
"<Component Policy>": "<Policy Type>",
"<Component Power Setpoint>": <Setpoint in watts>
}
}Las políticas y puntos de consigna de los componentes pueden encontrarse aquí: MQTT Components and Policies
VPP programado
Cuerpo:
{
"msg_id": <Incremental message id>(int),
"vpp_id": <VPP ID>(str)
"time": "<Unix Timestamp>(int)",
"message_type": "<Type of message>(str)",
"fields": {
"<Component Policy>": "<Policy Type>",
"<Component Power Setpoint>": <Setpoint in watts>
}
}Las políticas y puntos de consigna de los componentes pueden encontrarse aquí: MQTT Components and Policies
Tema de Reconocimiento
Tema: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}/warning
Después de que se haya enviado un comando, el VPP responderá con un reconocimiento, indicando si el comando fue recibido con éxito o no.
Cuerpo:
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}Tema de Retroalimentación
Tema: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}/warning
El Tema de Retroalimentación contiene la respuesta devuelta por los controladores individuales.
Cuerpo:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Feedback Dict>(dict)
},
"target": <Site Node ID>(str)
},
"message_type": <Type of Message>(str)
}La estructura del diccionario de retroalimentación puede encontrarse aquí: MQTT Feedback Payload Structure
Tema de Retroalimentación Agregada
Tema: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}/warning
El VPP agrega la retroalimentación recibida de cada controlador individual.
Cuerpo:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
}El diccionario de retroalimentación agregada está estructurado de manera similar a la MQTT Feedback Payload Structure.
Sin embargo, los valores de tipo cadena, como estrategias ejecutadas, no pueden ser agregados y por lo tanto no están incluidos.
Tema de Comandos Despachados
Tema: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}/warning
Cuando el VPP envía comandos a los controladores, esto se informa usando este tema.
Cuerpo:
{
"payload": {
"aggregated": {
<Component Name>(str): <CommandPower Value>(float)...
},
"dispatched_commands": [
<List of individual commands sent to the controllers>
],
},
"message_type": <Type of Message>(str)
}La estructura del payload de los comandos individuales enviados puede encontrarse aquí: MQTT Feedback Payload Structure.
Tema de Advertencias
Tema: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Tema (obsoleto): vpp/{MQTT Username}/{VPP ID}/warning
Si ocurre un error o advertencia en el VPP, un mensaje será enviado a través de este tema MQTT.
Cuerpo:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}