Tips
VPP-protokollet är baserat på Live MQTT-protokollet. Vänligen se denna sida innan detta. Se Live MQTT Control.
Tips
Den initiala VPP-konfigurationen MÅSTE göras av Sofar. Kontakta Sofar innan du följer nästa steg.
Ansluta till MQTT-brokern
Vänligen se följande avsnitt för att ta reda på hur man ansluter till Sofar MQTT-brokern: MQTT Broker Connection
VPP-funktionalitet
VPP är designad för att ta emot en setpoint/strategi per enhetsgrupp (t.ex. Sol, Lagring) och aggregera setpointen mellan de styrenheter som är anslutna till VPP.
Medan Live MQTT-protokollet skulle skicka ett kommando till en enskild styrenhet, tillåter VPP användaren att skicka ett kommando till en grupp styrenheter.

Lägga till styrenheter till VPP




När Sofar MQTT-signalen läggs till visas ett fält för vpp/{MQTT Username}/{VPP ID}/warning. Ange den VPP-ID som erhållits här.


Aggregationsalgoritm
Setpointen aggregeras baserat på kapaciteten hos de enheter som tillhör de individuella styrenheterna.
MQTT-ämnen
När den initiala installationen är klar kommer en VPP-ID och MQTT-användarnamn (och lösenord) att tillhandahållas.
Inkommande ämne
Ämne: vpp/{MQTT Username}/{VPP ID}
Detta ämne används av användaren för att skicka ett aggregerat kommando till VPP.
Live VPP
Body:
{
"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>
Komponentpolicys och setpoints finns här:
Schemalagd VPP
Body:
{
"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
Komponentpolicys och setpoints finns här:
Bekräftelseämne
Ämne: vpp/{MQTT Username}/{VPP ID}/warning
Efter att ett kommando har skickats kommer VPP att svara med en bekräftelse, som indikerar om kommandot togs emot framgångsrikt eller inte.
Body:
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
Feedback-ämne
Ämne: vpp/{MQTT Username}/{VPP ID}/warning
Feedback-ämnet innehåller den återkoppling som returneras av de individuella styrenheterna.
Body:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Feedback Dict>(dict)
},
"target": <Site Node ID>(str)
},
"message_type"
Strukturen för feedback-dictionaryn finns här:
Aggregerat feedback-ämne
Ämne: vpp/{MQTT Username}/{VPP ID}/warning
VPP aggregerar feedback som mottagits från varje individuell styrenhet.
Body:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
Den aggregerade feedback-dictionaryn är strukturerad på liknande sätt som . Strängvärden, såsom utförda strategier, kan dock inte aggregeras och ingår därför inte.
Dispatched Commands-ämne
Ämne: vpp/{MQTT Username}/{VPP ID}/warning
När kommandon skickas till styrenheterna av VPP, rapporteras detta med hjälp av detta ämne.
Body:
{
"payload": {
"aggregated": {
<Component Name>(str): <CommandPower Value>(float)...
},
"dispatched_commands": [
<List of individual commands sent to the controllers>
],
Payload-strukturen för de individuella kommandona som skickats finns här: .
Varningsämne
Ämne: vpp/{MQTT Username}/{VPP ID}/warning
Om ett fel eller en varning uppstår i VPP skickas ett meddelande via detta MQTT-ämne.
Body:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}