
Sterownik MQTT Scholt
Następująca integracja może być używana do wysyłania pomiarów z lokalizacji za pomocą MQTT i odbierania poleceń dla różnych typów zainstalowanych urządzeń.
Skrypt demonstracyjny w Pythonie
Ten testowy kod wykonuje prostą czynność ciągłego wysyłania fałszywych pomiarów do instalacji oraz odbierania poleceń:
Proszę pobrać plik poniżej w preferowanym IDE Pythona. Wypełnij swój numer seryjny, filtr lokalizacji oraz dane uwierzytelniające MQTT i uruchom skrypt:
Wymagania wstępne
Kontroler w Chmurze
Lokalizacje będą kontrolowane za pośrednictwem Kontrolera w Chmurze. Proszę skontaktować się z Eniris, aby skonfigurować nowy Kontroler w Chmurze.
Konfiguracja lokalizacji
Gdy Kontroler w Chmurze zostanie utworzony, będzie zawierać unikalny numer seryjny (<Controller SN>
).
Nowe lokalizacje mogą być generowane na Kontrolerze w Chmurze przy użyciu unikalnych filtrów lokalizacji <site_filter>
.
Te dwie zmienne muszą być używane w tematach MQTT oraz treści.
Użycie identycznych filtrów lokalizacji spowoduje błędy.
Wybór urządzenia
Device Type | Obsługiwane |
---|---|
Falowniki słoneczne | ✅ |
Urządzenia do magazynowania | |
Pompy ciepła | |
Liczniki energii i zużycia | |
Ładowarki EV | ❌ |
Urządzenia w lokalizacji nie mogą być edytowane po utworzeniu.
Dane uwierzytelniające MQTT
Eniris dostarczy dane uwierzytelniające MQTT. Nazwa użytkownika MQTT musi być wprowadzona przy generowaniu nowej lokalizacji.
Dane uwierzytelniające muszą być podane tylko raz. Jedna para danych uwierzytelniających MQTT może być używana do kontrolowania wszystkich lokalizacji.
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>/
Opcjonalne pola są podane w kursywie.
Następujące pola mogą być wysyłane na podstawie typu urządzenia:
-
Magazyn
- 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 wyłączony, włączony
- active_power_W
- Równy 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 pomiarów
Gdy pomiar został pomyślnie odebrany, na następujący temat zostanie wysłane potwierdzenie: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
To potwierdzenie może być używane do:
- Weryfikacji, że wiadomość pomiarowa została pomyślnie odebrana.
- Weryfikacji, że wiadomość pomiarowa zawierała wszystkie niezbędne dane.
Odbieranie poleceń
Aby odebrać polecenia z SmartgridOne Controller, zapisz się do następującego tematu 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ć odebrane, znajduje się tutaj: Lista potencjalnych polityk