Wskazówka
Protokół VPP opiera się na protokole Live MQTT. Proszę zapoznać się wcześniej z tą stroną. Zobacz Live MQTT Control.
Wskazówka
Początkową konfigurację VPP MUSI wykonać Sofar. Proszę skontaktować się z Sofar przed wykonaniem kolejnych kroków.
Łączenie z brokerem MQTT
Proszę zapoznać się z następującą sekcją, aby dowiedzieć się, jak połączyć się z brokerem MQTT Sofar: MQTT Broker Connection
Funkcjonalność VPP
VPP został zaprojektowany do odbierania jednego punktu nastaw/strategii na grupę urządzeń (np. Solar, Storage) oraz agregowania punktu nastaw między kontrolerami podłączonymi do VPP.
Podczas gdy protokół Live MQTT wysyłałby polecenie do pojedynczego kontrolera, VPP pozwala użytkownikowi wysłać jedno polecenie do grupy kontrolerów.

Dodawanie Kontrolerów do VPP




Podczas dodawania sygnału MQTT Sofar, pojawia się pole standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}. Należy wprowadzić tutaj ID VPP, które zostało otrzymane.


Algorytm agregacji
Punkty nastaw są agregowane na podstawie mocy urządzeń przypisanych do poszczególnych kontrolerów.
Tematy MQTT
Po zakończeniu wstępnej konfiguracji zostanie udostępnione ID VPP oraz Nazwa użytkownika MQTT (i hasło).
Temat przychodzący
Temat: vpp/{MQTT Username}/{VPP ID}/warning
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}
Ten temat jest używany przez użytkownika do wysyłania zagregowanego polecenia do VPP.
Live VPP
Treść:
{
"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>
}
}Polityki komponentów i punkty nastaw można znaleźć tutaj: MQTT Components and Policies
Zaplanowany VPP
Treść:
{
"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>
}
}Polityki komponentów i punkty nastaw można znaleźć tutaj: MQTT Components and Policies
Temat potwierdzenia
Temat: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}/warning
Po wysłaniu polecenia, VPP odpowiada potwierdzeniem, wskazując czy polecenie zostało pomyślnie odebrane.
Treść:
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}Temat informacji zwrotnej
Temat: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}/warning
Temat informacji zwrotnej zawiera dane zwrotne od poszczególnych kontrolerów.
Treść:
{
"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)
}Strukturę słownika feedback można znaleźć tutaj: MQTT Feedback Payload Structure
Temat zagregowanej informacji zwrotnej
Temat: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}/warning
VPP agreguje informacje zwrotne otrzymywane od każdego poszczególnego kontrolera.
Treść:
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
}Zagregowany słownik informacji zwrotnych jest zorganizowany podobnie do MQTT Feedback Payload Structure. Jednak wartości tekstowe, takie jak wykonane strategie, nie mogą być agregowane i dlatego nie są uwzględniane.
Temat rozesłanych poleceń
Temat: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}/warning
Gdy VPP wysyła polecenia do kontrolerów, jest to zgłaszane za pomocą tego tematu.
Treść:
{
"payload": {
"aggregated": {
<Component Name>(str): <CommandPower Value>(float)...
},
"dispatched_commands": [
<List of individual commands sent to the controllers>
],
},
"message_type": <Type of Message>(str)
}Strukturę ładunku wysyłanych poszczególnych poleceń można znaleźć tutaj: MQTT Feedback Payload Structure.
Temat ostrzeżeń
Temat: standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Temat (przestarzały): vpp/{MQTT Username}/{VPP ID}/warning
W przypadku wystąpienia błędu lub ostrzeżenia w VPP, wiadomość zostanie wysłana za pomocą tego tematu MQTT.
Treść:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}