MQTT v3 konektor
Objavljujte žive podatke uređaja i strategija na vlastiti MQTT broker i primajte naredbe s njega.
→ Pregled
Konektor MQTT v3 povezuje kontroler kao klijenta s MQTT brokerom koji odaberete, na primjer s brokerom sustava za upravljanje zgradom, SCADA-e ili platforme za pametni dom. Kontroler tada objavljuje žive vrijednosti svih uređaja i strategija, cijene električne energije i poruku keep-alive te prima naredbe, kao što su zadane vrijednosti uređaja, uključivanje i isključivanje strategija, External EMS rasporedi i postavke mreže (Grid).
Konektor je isključen dok ne unesete Host. Neovisan je o vezi s Reduxi Cloudom; obje mogu raditi istodobno.
Svatko tko na Vašem brokeru može objavljivati na naredbene topice kontrolera može mijenjati zadane vrijednosti uređaja, isključivati strategije, mijenjati ograničenja mreže i ponovno pokrenuti kontroler. Koristite broker s autentifikacijom korisnika, kontroleru dodijelite vlastiti račun i pravo pisanja na controllers/<Unit ID>/…/set i controllers/<Unit ID>/commands/… dopustite samo pouzdanim klijentima.
1 Povezivanje s brokerom
2 Parametri
Status
| Parametar | Što radi | Jedinica / zadano |
|---|---|---|
| Client | ID MQTT klijenta koji kontroler koristi. To je Unit ID kontrolera i čini dio svakog topica: controllers/<Unit ID>/…. Samo za čitanje. |
tekst |
| Host | Broker na koji upućuje spremljena konfiguracija. Prazno = konektor isključen. Samo za čitanje. | tekst |
| Connected | Zelena kvačica = povezan s brokerom; crveni križić = nije povezan. Samo za čitanje. | — |
| Ikona za osvježavanje | Ponovno čita status. | — |
Mqtt connection
| Parametar | Što radi | Jedinica / zadano |
|---|---|---|
| Host | Naziv hosta ili IP adresa brokera. Ostavite prazno da biste isključili konektor. | tekst · prazno = isključeno |
| Port | TCP port brokera. | broj · zadano 1883 |
| Username | Korisničko ime na brokeru. Neobavezno. | tekst |
| Password | Lozinka na brokeru. Koristi se samo zajedno s poljem Username. Polje prikazuje lozinku otvorenim tekstom. | tekst |
| Use SSL | Yes otvara vezu uz TLS šifriranje. Ako ga nikad niste postavili, automatski se uključuje kad je pohranjen lanac CA poslužitelja ili klijentski certifikat. | Yes / No · zadano No |
| Verify server cert | Yes provjerava certifikat brokera prema Server CA chain (ili prema ugrađenim pouzdanim tijelima kontrolera ako lanac nije učitan). No prihvaća svaki certifikat: veza je šifrirana, ali kontroler ne provjerava s kim komunicira. Koristi se samo uz Use SSL = Yes. | Yes / No · zadano No |
| Server CA chain (PEM format) | Certifikat (lanac certifikata) tijela koje je potpisalo certifikat brokera. Kliknite Choose File i odaberite PEM datoteku. Nakon pohrane polje umjesto toga prikazuje gumb Download. | PEM datoteka |
| Client public certificate (PEM format) | Vlastiti klijentski certifikat kontrolera, za brokere koji klijente autentificiraju certifikatom (mutual TLS). Potreban je odgovarajući privatni ključ. | PEM datoteka |
| Client private key (PEM format) | Privatni ključ klijentskog certifikata. | PEM datoteka |
Privatni ključ klijenta i lozinka brokera daju pristup Vašem brokeru. Datoteke čuvajte na sigurnom mjestu, ne šaljite ih e-poštom i ne ostavljajte kopije na zajedničkim računalima. Svatko tko ima pristup ovoj stranici Configuratora može preuzeti pohranjene certifikate i vidjeti lozinku.
Pohranjeni certifikat prikazuje samo gumb Download. Da biste učitali drugi, kliknite Clear connection configuration, zatim ponovno unesite cijelu vezu s novim datotekama.
Additional topics
| Parametar | Što radi | Jedinica / zadano |
|---|---|---|
| Name or path | Topic za objavu, relativno prema controllers/<Unit ID>/. Na primjer, site/name objavljuje se kao controllers/<Unit ID>/site/name. Redci s praznim nazivom preskaču se. |
tekst |
| Payload | Fiksni tekst objavljen na tom topicu. | tekst |
| Add | Dodaje prazan redak. | — |
| Ikona koša | Uklanja redak. Stupa na snagu nakon Save. | — |
Dodatni topici objavljuju se zajedno s metapodacima kontrolera: svaki put kad se konektor poveže s brokerom i svaki put kad broker pošalje commands/refresh.
Objavljivanje i gumbi
| Parametar | Što radi | Jedinica / zadano |
|---|---|---|
| Readout interval | Koliko često kontroler objavljuje očitanje i zadanu vrijednost svakog uređaja te očitanje, stanje i vrijednosti parametara svake strategije. Niže vrijednosti daju svježije podatke, ali više prometa. | s · prazno = 60 s · najmanje 0.25 s |
| Spremite | Sprema postavke i ponovno pokreće konektor. Bilježi se u Audit log kao CONNECTOR_EDIT. |
— |
| Clear connection configuration | Nakon potvrde Are you sure to clear MQTT settings? (Yes / Cancel) briše host, port, korisničko ime, lozinku, SSL postavke i sve certifikate. Konektor se isključuje. Readout interval i Additional topics ostaju sačuvani. | — |
Nakon Clear connection configuration kontroler više ne objavljuje podatke niti prima naredbe preko MQTT-a. Sustav koji se oslanja na te podatke ili šalje External EMS rasporede prestaje ih primati odnosno isporučivati. Za ponovno povezivanje morate ponovno unijeti lozinku i učitati certifikate.
3 Topici
Svi topici počinju s controllers/<Unit ID>/. Kontroler objavljuje s QoS 0 i bez oznake retain, a na naredbene topice se pretplaćuje s QoS 1. Sadržaj poruka (payload) je JSON ili obične vrijednosti; potpuni formati nalaze se u članku centra za pomoć „Reduxi Controller - MQTT API“.
Objavljuje kontroler:
| Topic | Sadržaj | Kada |
|---|---|---|
identifier |
Identifikacija kontrolera (unit ID, verzije, …) | Pri povezivanju i na commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Trenutačni intervali u ms | Pri povezivanju i pri osvježavanju |
devices/list, devices/types, devices/<id>/info
|
Konfigurirani uređaji i njihove vrste | Pri povezivanju i pri osvježavanju |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Konfigurirane strategije i njihovi parametri | Pri povezivanju i pri osvježavanju |
<additional topic> |
Payload iz Additional topics | Pri povezivanju i pri osvježavanju |
devices/<id>/readout |
Žive vrijednosti uređaja | Svaki interval očitanja |
devices/<id>/setpoint |
Trenutačna zadana vrijednost uređaja | Svaki interval očitanja |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Uključenost strategije, žive vrijednosti, vrijednosti parametara | Svaki interval očitanja |
prices |
Cijene električne energije za danas i sutra | Pri povezivanju, pri promjeni cijena i na prices/refresh
|
strategies/<id>/externalEMS/<type> |
Pohranjeni External EMS raspored (battery, evse, hvac, pv) |
Na …/externalEMS/<type>/refresh
|
keepAlive |
Trenutačno vrijeme (Unix ms) | Svaki keep-alive interval, zadano 60 s |
Naredbe koje kontroler prihvaća:
| Topic | Učinak |
|---|---|
commands/refresh |
Ponovno objavljuje topice s metapodacima. |
commands/reboot |
Ponovno pokreće kontroler otprilike 5 s kasnije. |
prices/refresh |
Ponovno objavljuje prices. |
settings/interval/readout/set |
Mijenja interval očitanja (ms) i pohranjuje ga. |
settings/interval/keepAlive/set |
Mijenja keep-alive interval (ms) i pohranjuje ga. |
devices/<id>/setpoint/set |
Postavlja zadanu vrijednost uređaja. |
strategies/<id>/parameters/<id>/value/set |
Postavlja parametar strategije. |
strategies/<id>/active/set |
Uključuje ili isključuje strategiju. |
strategies/<id>/externalEMS/<type>/set |
Učitava External EMS raspored za battery, evse, hvac ili pv. Zanemaruje se osim ako strategija ima način optimizacije External EMS. |
strategies/<id>/externalEMS/<type>/refresh |
Objavljuje pohranjeni External EMS raspored. |
settings/grid/set |
Mijenja postavke mreže (lokacija, osigurači, ograničenje preuzimanja i isporuke), po potrebi i u odabranim strategijama. |
settings/grid/set prepisuje vrijednosti na Settings → Grid i, ako se to zatraži, ograničenja strategija — isti je učinak kao spremanje stranice Grid. devices/<id>/setpoint/set upisuje zadanu vrijednost izravno u uređaj. Ne šaljite zadane vrijednosti za uređaj kojim upravlja i strategija, inače će se međusobno prepisivati.
4 Otklanjanje poteškoća
| Simptom | Što provjeriti |
|---|---|
| Connected ostaje crven | Host i Port su ispravni; kontroler može doći do brokera (TCP port test na hostu i portu brokera); korisničko ime i lozinka; uz TLS, lanac CA odgovara certifikatu brokera, ili pokušajte s Verify server cert = No da biste suzili problem. |
| Connected, ali na brokeru nema podataka | Pretplatite se na controllers/# i provjerite vrijednost Client: topici koriste Unit ID točno onako kako je ondje prikazan. |
| Naredbe nemaju učinka | Klijent koji ih šalje ima pravo objavljivanja na brokeru; topic koristi ispravan ID uređaja ili strategije (pogledajte devices/list, strategies/list). |
5 Kontrolni popis
- Host i Port odgovaraju brokeru, a Connected prikazuje zelenu kvačicu nakon osvježavanja.
- Na produkcijskim lokacijama: Use SSL = Yes, lanac CA je učitan i Verify server cert = Yes.
- Podaci stižu pod
controllers/<Unit ID>/u postavljenom Readout interval. - Pravo pisanja na naredbene topice ograničeno je na pouzdane klijente na brokeru.
- Datoteke certifikata i lozinke sigurno su pohranjene izvan kontrolera.