Wskazówka
Protokół VPP opiera się na protokole Live MQTT. Proszę zapoznać się z tą stroną wcześniej. Zobacz Live MQTT Control.
Wskazówka
Wstępna konfiguracja VPP MUSI zostać wykonana przez SmartgridOne. Proszę skontaktować się z SmartgridOne przed wykonaniem kolejnych kroków.
Połączenie z brokerem MQTT
Proszę zapoznać się z poniższą sekcją, aby dowiedzieć się, jak połączyć się z brokerem MQTT SmartgridOne: MQTT Broker Connection
Funkcjonalność VPP
VPP jest zaprojektowany tak, aby odbierać jeden punkt nastawczy/strategię na grupę urządzeń (np. Solar, Storage) i agregować punkt nastawczy pomię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 SmartgridOne, pojawia się pole vpp/{MQTT Username}/{VPP ID}/warning. Wprowadź tutaj ID VPP otrzymane.


Algorytm agregacji
Punkty nastawcze są agregowane na podstawie pojemności urządzeń przypisanych do poszczególnych kontrolerów.
Tematy MQTT
Po zakończeniu wstępnej konfiguracji zostaną dostarczone ID VPP oraz Nazwa użytkownika MQTT (i hasło).
Temat przychodzący
Temat: vpp/{MQTT Username}/{VPP ID}
Ten temat służy użytkownikowi 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 i punkty nastawcze komponentów można znaleźć tutaj:
Scheduled 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
Polityki i punkty nastawcze komponentów można znaleźć tutaj:
Temat potwierdzeń
Temat: vpp/{MQTT Username}/{VPP ID}/warning
Po wysłaniu polecenia VPP odpowie 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: vpp/{MQTT Username}/{VPP ID}/warning
Temat informacji zwrotnej zawiera zwrotne dane 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"
Strukturę słownika informacji zwrotnej można znaleźć tutaj:
Temat zagregowanej informacji zwrotnej
Temat: vpp/{MQTT Username}/{VPP ID}/warning
VPP agreguje informacje zwrotne otrzymane od każdego indywidualnego 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 zwrotnej ma podobną strukturę do . Jednak wartości tekstowe, takie jak wykonane strategie, nie mogą być agregowane i dlatego nie są uwzględniane.
Temat rozesłanych poleceń
Temat: vpp/{MQTT Username}/{VPP ID}/warning
Gdy polecenia są wysyłane do kontrolerów przez VPP, 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>
],
Strukturę danych pojedynczych wysłanych poleceń można znaleźć tutaj: .
Temat ostrzeżeń
Temat: vpp/{MQTT Username}/{VPP ID}/warning
Jeśli w VPP wystąpi błąd lub ostrzeżenie, wiadomość zostanie wysłana przez ten temat MQTT.
Treść:
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}