Sterownik MQTT Scholt
Poniższa integracja może być używana do przesyłania pomiarów z miejsca za pomocą MQTT i odbierania poleceń dla różnych typów zainstalowanych urządzeń.
Przykładowy skrypt w Pythonie
Ten kod testowy wykonuje prostą czynność polegającą na ciągłym wysyłaniu przykładowych pomiarów do instalacji oraz odbieraniu poleceń:
Proszę pobrać plik poniżej w preferowanym IDE Pythona. Proszę uzupełnić własny numer seryjny, filtr miejsca i dane logowania MQTT oraz uruchomić skrypt:
Wymagania wstępne
Sterownik chmurowy
Stany będą kontrolowane za pomocą Sterownika Chmurowego. Proszę skontaktować się z SmartgridOne, aby skonfigurować nowy Sterownik Chmurowy.
Konfiguracja miejsca
Po utworzeniu Sterownika Chmurowego będzie on zawierał unikalny numer seryjny (<Controller SN>).
Nowe miejsca mogą być generowane na Sterowniku Chmurowym przy użyciu unikalnych filtrów miejsca <site_filter>.
Te dwie zmienne muszą być używane w Tematach MQTT i Ciele.
Warning
Używanie identycznych filtrów miejsc spowoduje błędy.
Wybór urządzenia
| Device Type | Obsługiwane |
|---|---|
| Inwertery słoneczne | ✅ |
| Urządzenia magazynowe | |
| Pompy ciepła | |
| Liczniki energii i zużycia | |
| Ładowarki EV | ❌ |
Note
Urządzenia w miejscu nie mogą być edytowane po utworzeniu.
Dane logowania MQTT
SmartgridOne dostarczy dane logowania MQTT. Nazwa użytkownika MQTT musi być wpisana podczas generowania nowego miejsca.
Note
Dane logowania muszą być dostarczone tylko raz. Jeden zestaw danych logowania MQTT może być używany do kontrolowania wszystkich miejsc.
Wysyłanie pomiarów
Aby wysłać pomiary do SmartgridOne Controller, można użyć następującego tematu MQTT do publikacji: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Pola opcjonalne są zaznaczone kursywą.
Poniższe pola mogą być wysyłane dla każdego typu urządzenia:
-
Urządzenia magazynowe
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Słońce
- active_power_W
- today_energy_Wh
-
Pompy ciepła
- operation_modes
- Możliwe tryby pracy to off, on
- active_power_W
- Równa się mocy nominalnej, gdy pompa ciepła jest włączona*
- operation_modes
-
Liczniki
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Wiadomość musi być zbudowana w następujący sposób:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"meter": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"storage": {
"energy_stored_Wh": <Energy Stored in Watt-hours>,
"mean_soc_perc": <Mean State of Charge Percentage>,
"active_power_W": <Active Power in Watts>,
"today_charged_Wh": <Energy Charged on the Current Today in Watt-hours>,
"today_discharged_Wh": <Energy Discharged on the Current Today in Watt-hours>,
},
"solar": {
"active_power_W": <Solar Active Power in Watts>,
"today_energy_Wh": <Energy Produced Today in Watt-hours>.
},
"heat_pump": {
"active_power_W": <Heat Pump Active Power in Watts>,
"operation_modes": <Heat Pump Operation Mode>
}
},
"response_code": <Response Code>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}Potwierdzenie pomiaru
Gdy pomiar zostanie pomyślnie odebrany, na następującym temacie zostanie wysłane potwierdzenie: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
To potwierdzenie może być użyte do:
- Zweryfikowania, że wiadomość pomiarowa została pomyślnie odebrana.
- Zweryfikowania, że wiadomość pomiarowa zawierała wszystkie niezbędne dane.
Odbieranie poleceń
Aby odbierać polecenia z SmartgridOne Controller, subskrybuj następujący temat MQTT: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Odpowiedź jest zbudowana w następujący sposób:
{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}Lista polityk, które mogą być odbierane, znajduje się tutaj: Lista potencjalnych polityk
