Centrali elettriche virtuali
Suggerimento
Il protocollo VPP si basa sul protocollo Live MQTT. Consulta prima questa pagina. Vedi Controllo Live MQTT.
Suggerimento
La configurazione iniziale del VPP DEVE essere eseguita da SmartgridOne. Contatta SmartgridOne prima di seguire i passaggi successivi.
Connessione al broker MQTT
Prima di continuare, assicurati che la rete e i dispositivi siano pronti seguendo la guida Configurazione MQTT.
Funzionalità VPP
Il VPP è progettato per ricevere un setpoint/una strategia per ogni gruppo di dispositivi (ad es. Solare, Accumulo) e aggregare il setpoint tra i controller connessi al VPP.
Mentre il protocollo Live MQTT invierebbe un comando a un singolo controller, il VPP consente all'utente di inviare un comando a un gruppo di controller.

Aggiunta di controller al VPP




Quando aggiungi il segnale MQTT di SmartgridOne, viene visualizzato un campo VPP ID. Inserisci qui il VPP ID ricevuto.


Algoritmo di aggregazione
I setpoint vengono aggregati in base alla capacità dei dispositivi associati ai singoli controller.
Topic MQTT
Una volta completata la configurazione iniziale, verranno forniti un VPP ID e un MQTT Username (e una password).
Topic in ingresso
Topic: standard1/outbound/remoteVppMetrics/command/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}
Questo topic viene utilizzato dall'utente per inviare un comando aggregato al VPP.
VPP live
Corpo:
{
"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>
}
}Le policy dei componenti e i setpoint sono disponibili qui: Componenti e policy MQTT
VPP pianificato
Corpo:
{
"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>
}
}Le policy dei componenti e i setpoint sono disponibili qui: Componenti e policy MQTT
Topic di conferma
Topic: standard1/outbound/remoteVppMetrics/acknowledgement/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}/acknowledgement
Dopo l'invio di un comando, il VPP risponderà con una conferma che indica se il comando è stato ricevuto correttamente o meno.
Corpo:
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}Topic di feedback
Topic: standard1/outbound/remoteVppMetrics/feedback/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}/feedback
Il topic di feedback contiene il feedback restituito dai singoli controller.
Corpo:
{
"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 struttura del dizionario di feedback è disponibile qui: Struttura del payload di feedback MQTT
Topic di feedback aggregato
Topic: standard1/outbound/remoteVppMetrics/aggregatedFeedback/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}/aggregated_feedback
Il VPP aggrega il feedback ricevuto da ciascun controller.
Corpo:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
}Il dizionario del feedback aggregato è strutturato in modo simile alla Struttura del payload di feedback MQTT. Tuttavia, i valori stringa, come le strategie eseguite, non possono essere aggregati e pertanto non vengono inclusi.
Topic dei comandi distribuiti
Topic: standard1/outbound/remoteVppMetrics/dispatched/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}/dispatched_commands
Quando i comandi vengono inviati ai controller dal VPP, ciò viene segnalato tramite questo topic.
Corpo:
{
"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 struttura del payload dei singoli comandi inviati è disponibile qui: Struttura del payload di feedback MQTT.
Topic di avviso
Topic: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (deprecato): vpp/{MQTT Username}/{VPP ID}/warning
Se si verifica un errore o un avviso nel VPP, verrà inviato un messaggio tramite questo topic MQTT.
Corpo:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}