Sterownik Scholt MQTT
Poniższa integracja może być użyta do wysyłania pomiarów z instalacji za pomocą MQTT oraz odbierania poleceń dla różnych typów zainstalowanych urządzeń.
Skrypt demonstracyjny w Pythonie
Ten testowy kod wykonuje proste zadanie ciągłego wysyłania przykładowych pomiarów do instalacji oraz odbierania poleceń:
Proszę pobrać poniższy plik w swoim ulubionym IDE dla Pythona. Wprowadź swój numer seryjny, filtr instalacji oraz dane uwierzytelniające MQTT i uruchom skrypt:
Wymagania wstępne
Cloud Controller
Instalacje będą zarządzane przez Cloud Controller. Prosimy o kontakt z Controller, aby utworzyć nowy Cloud Controller.
Konfiguracja instalacji
Po utworzeniu Cloud Controller, będzie on posiadał unikalny numer seryjny (standard1/rp_one_s/neargrid_ack/<site_filter>/<Controller SN>).
Nowe instalacje mogą być generowane na Cloud Controller za pomocą unikalnych filtrów instalacji standard1/outbound/neargrid_cmd/<site_filter>/<Controller SN>/.
Te dwie zmienne muszą być użyte w tematach i treści MQTT.
Ostrzeżenie
Używanie identycznych filtrów instalacji spowoduje błędy.
Wybór urządzeń
| Device Type | Supported |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Notatka
Urządzenia w instalacji nie mogą być edytowane po jej utworzeniu.
Dane uwierzytelniające MQTT
SmartgridOne dostarczy dane uwierzytelniające do MQTT. Nazwa użytkownika MQTT musi być podana podczas tworzenia nowej instalacji.
Notatka
Dane uwierzytelniające muszą być podane tylko raz. Jeden zestaw danych MQTT może być użyty do zarządzania wszystkimi instalacjami.
Wysyłanie pomiarów
Aby wysył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ą oznaczone kursywą.
Poniżej pola, które można wysyłać dla każdego typu urządzenia:
-
Magazyn energii
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Energia słoneczna
- active_power_W
- today_energy_Wh
-
Pompy ciepła
- operation_modes
- Możliwe tryby pracy to off, on
- active_power_W
- Równe mocy nominalnej podczas gdy pompa ciepła jest on
- 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
Po pomyślnym otrzymaniu pomiaru, zostanie wysłane potwierdzenie na następujący temat: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Potwierdzenie to można wykorzystać do:
- Zweryfikowania pomyślnego odebrania wiadomości pomiarowej.
- Zweryfikowania, czy wiadomość pomiarowa zawierała wszystkie niezbędne dane.
Odbieranie poleceń
Aby odbierać polecenia z SmartgridOne Controller, należy zasubskrybować następujący temat MQTT: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Odpowiedź jest zbudowana następująco:
{
"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: List of Potential Policies
