Tip
Het VPP-protocol is gebaseerd op het Live MQTT-protocol. Raadpleeg deze pagina daarvoor eerst. Zie Live MQTT Control.
Tip
De initiële VPP-installatie MOET worden uitgevoerd door Sofar. Neem contact op met Sofar voordat je de volgende stappen volgt.
Verbinden met de MQTT Broker
Raadpleeg de volgende sectie om te ontdekken hoe je verbinding maakt met de Sofar MQTT Broker: MQTT Broker Connection
VPP-functionaliteit
De VPP is ontworpen om één setpoint/strategie per apparaatgroep te ontvangen (bijv. Zonne-energie, Opslag) en het setpoint te aggregeren tussen de controllers die verbonden zijn met de VPP.
Waar het Live MQTT-protocol een commando naar een enkele controller zou sturen, stelt de VPP de gebruiker in staat om één commando naar een groep controllers te sturen.

Controllers toevoegen aan de VPP




Bij het toevoegen van het Sofar MQTT-signaal verschijnt een standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID} veld. Vul hier de VPP ID in die is ontvangen.


Aggregatie-algoritme
De setpoints worden geaggregeerd op basis van de capaciteit van de apparaten die onder de afzonderlijke controllers vallen.
MQTT Topics
Zodra de initiële installatie is voltooid, worden een VPP ID en MQTT-gebruikersnaam (en wachtwoord) verstrekt.
Inkomend Topic
Topic: vpp/{MQTT Username}/{VPP ID}/warning
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}
Dit topic wordt door de gebruiker gebruikt om een geaggregeerd commando naar de VPP te sturen.
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>
}
}De component policies en setpoints zijn hier te vinden: MQTT Components and Policies
Gepland 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 in watts>
}
}De component policies en setpoints zijn hier te vinden: MQTT Components and Policies
Bevestiging Topic
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}/warning
Nadat een commando is verzonden, zal de VPP reageren met een bevestiging, die aangeeft of het commando succesvol ontvangen is of niet.
Body:
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}Feedback Topic
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}/warning
Het Feedback Topic bevat de terugkoppeling die wordt geretourneerd door de afzonderlijke controllers.
Body:
{
"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)
}De structuur van de feedback dict is te vinden op: MQTT Feedback Payload Structure
Geaggregeerd Feedback Topic
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}/warning
De VPP aggregeert de feedback die door elke individuele controller wordt ontvangen.
Body:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
}De geaggregeerde feedback dictionary is vergelijkbaar gestructureerd als de MQTT Feedback Payload Structure. Echter kunnen stringwaarden, zoals uitgevoerde strategieën, niet worden geaggregeerd en zijn daarom niet inbegrepen.
Verzonden Commando’s Topic
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}/warning
Wanneer commando’s worden gestuurd naar de controllers door de VPP, wordt dit gemeld via dit topic.
Body:
{
"payload": {
"aggregated": {
<Component Name>(str): <CommandPower Value>(float)...
},
"dispatched_commands": [
<List of individual commands sent to the controllers>
],
},
"message_type": <Type of Message>(str)
}De payload-structuur van de individuele verzonden commando’s is hier te vinden: MQTT Feedback Payload Structure.
Waarschuwing Topic
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (verouderd): vpp/{MQTT Username}/{VPP ID}/warning
Als er een fout of waarschuwing optreedt in de VPP, wordt er een bericht over dit MQTT-topic gestuurd.
Body:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}