Przejdź do głównej zawartości
Scholt

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.

warning

Użycie identycznych filtrów lokalizacji spowoduje błędy.

Wybór urządzenia

Device TypeObsługiwane
Falowniki słoneczne
Urządzenia do magazynowania
Pompy ciepła
Liczniki energii i zużycia
Ładowarki EV
informacja

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.

informacja

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*
  • 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:

  1. Weryfikacji, że wiadomość pomiarowa została pomyślnie odebrana.
  2. 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