Konektor MQTT v3
Publikuj bieżące dane urządzeń i strategii na własnym brokerze MQTT i przyjmuj z niego polecenia.
→ Przegląd
Konektor MQTT v3 łączy sterownik jako klienta z wybranym przez Ciebie brokerem MQTT, na przykład z brokerem systemu zarządzania budynkiem, systemu SCADA lub platformy automatyki domowej. Sterownik publikuje wtedy bieżące wartości wszystkich urządzeń i strategii, ceny energii elektrycznej oraz komunikat keep-alive, a także nasłuchuje poleceń, takich jak wartości zadane urządzeń, włączenie i wyłączenie strategii, harmonogramy zewnętrznego EMS i ustawienia sieci elektroenergetycznej.
Konektor jest wyłączony, dopóki nie wpiszesz Host. Działa niezależnie od połączenia z Reduxi Cloud; oba mogą działać jednocześnie.
Każdy, kto może publikować w tematach poleceń sterownika na Twoim brokerze, może zmieniać wartości zadane urządzeń, wyłączać strategie, zmieniać limity sieci i uruchamiać sterownik ponownie. Użyj brokera z uwierzytelnianiem użytkowników, nadaj sterownikowi osobne konto i zezwalaj na zapis w controllers/<Unit ID>/…/set oraz controllers/<Unit ID>/commands/… tylko zaufanym klientom.
1 Połączenie z brokerem
2 Parametry
Status
| Parametr | Działanie | Jednostka / wartość domyślna |
|---|---|---|
| Client | Identyfikator klienta MQTT używany przez sterownik. Jest to Unit ID sterownika i tworzy on także każdy temat: controllers/<Unit ID>/…. Tylko do odczytu. |
tekst |
| Host | Broker, na który wskazuje zapisana konfiguracja. Puste = konektor wyłączony. Tylko do odczytu. | tekst |
| Connected | Zielony znacznik = połączony z brokerem; czerwony krzyżyk = niepołączony. Tylko do odczytu. | — |
| Ikona odświeżania | Ponownie odczytuje stan. | — |
Mqtt connection
| Parametr | Działanie | Jednostka / wartość domyślna |
|---|---|---|
| Host | Nazwa hosta lub adres IP brokera. Pozostaw puste, aby wyłączyć konektor. | tekst · puste = wyłączony |
| Port | Port TCP brokera. | liczba · domyślnie 1883 |
| Username | Nazwa użytkownika na brokerze. Opcjonalnie. | tekst |
| Password | Hasło na brokerze. Używane tylko razem z Username. Pole pokazuje hasło jawnym tekstem. | tekst |
| Use SSL | Yes otwiera połączenie z szyfrowaniem TLS. Jeśli nigdy go nie ustawisz, włącza się automatycznie, gdy zapisany jest łańcuch CA serwera lub certyfikat klienta. | Yes / No · domyślnie No |
| Verify server cert | Yes sprawdza certyfikat brokera względem Server CA chain (albo względem wbudowanych zaufanych urzędów sterownika, jeśli łańcuch nie został wgrany). No akceptuje dowolny certyfikat: połączenie jest szyfrowane, ale sterownik nie sprawdza, z kim się komunikuje. Używane tylko przy Use SSL = Yes. | Yes / No · domyślnie No |
| Server CA chain (PEM format) | Certyfikat (łańcuch certyfikatów) urzędu, który podpisał certyfikat brokera. Kliknij Choose File i wybierz plik PEM. Po zapisaniu pole pokazuje zamiast tego przycisk Download. | plik PEM |
| Client public certificate (PEM format) | Własny certyfikat klienta sterownika, dla brokerów uwierzytelniających klientów certyfikatem (mutual TLS). Wymaga pasującego klucza prywatnego. | plik PEM |
| Client private key (PEM format) | Klucz prywatny certyfikatu klienta. | plik PEM |
Klucz prywatny klienta i hasło do brokera dają dostęp do Twojego brokera. Przechowuj pliki w bezpiecznym miejscu, nie wysyłaj ich e-mailem i nie zostawiaj kopii na komputerach współdzielonych. Każdy, kto ma dostęp do tej strony Reduxi Configurator, może pobrać zapisane certyfikaty i zobaczyć hasło.
Zapisany certyfikat pokazuje tylko przycisk Download. Aby wgrać inny, kliknij Clear connection configuration, a potem wpisz całe połączenie od nowa z nowymi plikami.
Additional topics
| Parametr | Działanie | Jednostka / wartość domyślna |
|---|---|---|
| Name or path | Temat do opublikowania, względem controllers/<Unit ID>/. Na przykład site/name jest publikowany jako controllers/<Unit ID>/site/name. Wiersze z pustą nazwą są pomijane. |
tekst |
| Payload | Stały tekst publikowany w tym temacie. | tekst |
| Add | Dodaje pusty wiersz. | — |
| Ikona kosza | Usuwa wiersz. Zmiana obowiązuje po Save. | — |
Dodatkowe tematy są publikowane razem z metadanymi sterownika: przy każdym połączeniu konektora z brokerem i za każdym razem, gdy broker wyśle commands/refresh.
Publikowanie i przyciski
| Parametr | Działanie | Jednostka / wartość domyślna |
|---|---|---|
| Readout interval | Jak często sterownik publikuje odczyt i wartość zadaną każdego urządzenia oraz odczyt, stan i wartości parametrów każdej strategii. Niższe wartości dają świeższe dane, ale większy ruch. | s · puste = 60 s · minimum 0,25 s |
| Zapisz | Zapisuje ustawienia i uruchamia ponownie konektor. Rejestrowane w Audit log jako CONNECTOR_EDIT. |
— |
| Clear connection configuration | Po potwierdzeniu Are you sure to clear MQTT settings? (Yes / Cancel) usuwa host, port, nazwę użytkownika, hasło, ustawienia SSL i wszystkie certyfikaty. Konektor wyłącza się. Readout interval i Additional topics zostają zachowane. | — |
Po Clear connection configuration sterownik nie publikuje już danych ani nie przyjmuje poleceń przez MQTT. System, który korzysta z tych danych lub wysyła harmonogramy zewnętrznego EMS, przestaje je odbierać lub dostarczać. Aby połączyć się ponownie, musisz ponownie wpisać hasło i wgrać certyfikaty.
3 Tematy (topics)
Wszystkie tematy zaczynają się od controllers/<Unit ID>/. Sterownik publikuje z QoS 0 i bez flagi retain, a tematy poleceń subskrybuje z QoS 1. Ładunki (payload) to JSON lub zwykłe wartości; pełne formaty ładunków opisuje artykuł w centrum pomocy "Reduxi Controller - MQTT API".
Publikowane przez sterownik:
| Temat | Treść | Kiedy |
|---|---|---|
identifier |
Identyfikacja sterownika (Unit ID, wersje, …) | Przy połączeniu i przy commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Bieżące interwały w ms | Przy połączeniu i przy odświeżeniu |
devices/list, devices/types, devices/<id>/info
|
Skonfigurowane urządzenia i ich typy | Przy połączeniu i przy odświeżeniu |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Skonfigurowane strategie i ich parametry | Przy połączeniu i przy odświeżeniu |
<additional topic> |
Payload z Additional topics | Przy połączeniu i przy odświeżeniu |
devices/<id>/readout |
Wartości bieżące urządzenia | Co interwał odczytu |
devices/<id>/setpoint |
Bieżąca wartość zadana urządzenia | Co interwał odczytu |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Włączenie/wyłączenie strategii, wartości bieżące, wartości parametrów | Co interwał odczytu |
prices |
Ceny energii elektrycznej na dziś i jutro | Przy połączeniu, przy zmianie cen, przy prices/refresh
|
strategies/<id>/externalEMS/<type> |
Zapisany harmonogram zewnętrznego EMS (battery, evse, hvac, pv) |
Przy …/externalEMS/<type>/refresh
|
keepAlive |
Bieżący czas (Unix ms) | Co interwał keep-alive, domyślnie 60 s |
Polecenia akceptowane przez sterownik:
| Temat | Skutek |
|---|---|
commands/refresh |
Publikuje ponownie tematy z metadanymi. |
commands/reboot |
Uruchamia sterownik ponownie po około 5 s. |
prices/refresh |
Publikuje ponownie prices. |
settings/interval/readout/set |
Zmienia interwał odczytu (ms) i zapisuje go. |
settings/interval/keepAlive/set |
Zmienia interwał keep-alive (ms) i zapisuje go. |
devices/<id>/setpoint/set |
Ustawia wartość zadaną urządzenia. |
strategies/<id>/parameters/<id>/value/set |
Ustawia parametr strategii. |
strategies/<id>/active/set |
Włącza lub wyłącza strategię. |
strategies/<id>/externalEMS/<type>/set |
Wczytuje harmonogram zewnętrznego EMS dla battery, evse, hvac lub pv. Ignorowane, jeśli strategia nie ma trybu optymalizacji External EMS. |
strategies/<id>/externalEMS/<type>/refresh |
Publikuje zapisany harmonogram zewnętrznego EMS. |
settings/grid/set |
Zmienia ustawienia sieci elektroenergetycznej (lokalizacja, bezpieczniki, limit poboru i oddawania), opcjonalnie także w wybranych strategiach. |
settings/grid/set nadpisuje wartości na stronie Settings → Grid oraz, jeśli tak zażądano, limity strategii — z takim samym skutkiem jak zapisanie strony Grid settings. devices/<id>/setpoint/set zapisuje wartość zadaną bezpośrednio w urządzeniu. Nie wysyłaj wartości zadanych dla urządzenia, którym steruje także strategia, bo oba źródła będą się wzajemnie nadpisywać.
4 Rozwiązywanie problemów
| Objaw | Co sprawdzić |
|---|---|
| Connected pozostaje czerwone | Host i Port są prawidłowe; sterownik może połączyć się z brokerem (TCP port test na hoście i porcie brokera); nazwa użytkownika i hasło; przy TLS łańcuch CA pasuje do certyfikatu brokera, albo spróbuj Verify server cert = No, aby zawęzić problem. |
| Connected, ale brak danych na brokerze | Zasubskrybuj controllers/# i sprawdź wartość Client: tematy używają Unit ID dokładnie w takiej postaci, jaka jest tam widoczna. |
| Polecenia nie działają | Klient, który je wysyła, ma prawa publikowania na brokerze; temat zawiera właściwy identyfikator urządzenia lub strategii (zobacz devices/list, strategies/list). |
5 Lista kontrolna
- Host i Port odpowiadają brokerowi, a Connected pokazuje zielony znacznik po odświeżeniu.
- W obiektach produkcyjnych: Use SSL = Yes, łańcuch CA jest wgrany, a Verify server cert = Yes.
- Dane docierają w
controllers/<Unit ID>/z ustawionym Readout interval. - Prawo zapisu w tematach poleceń jest ograniczone do zaufanych klientów brokera.
- Pliki certyfikatów i hasła są bezpiecznie przechowywane poza sterownikiem.