Reduxi Controller - MQTT API
1 Podrška za MQTT verzije
Podržavamo verziju 3. x. Međutim, ne podržavamo 5. x.
2 MQTT API dokumentacija Reduxi Controllera
Dokumentacija svih dostupnih MQTT tema i metoda pretplate dostupna je na:
MQTT dokumentacija izrađena je iz perspektive Reduxi Controllera.
Kad čitate iz Reduxi MQTT-a, vidjet ćete pojam "PUB". Zašto PUB? Zato što podatke iz Reduxi Controllera objavljujemo (publish) na temu.
Kad vrijednosti postavljate na Reduxi Controller putem MQTT-a, vidjet ćete pojam "SUB". Zašto SUB? Zato što se pretplaćujemo (subscribe) na temu i čitamo podatke iz nje, čime na Reduxi Controller postavljamo vrijednosti koje ste poslali.
U nastavku donosimo informacije o tome kako treba postaviti Reduxi Configurator da biste počeli primati podatke na određenim MQTT brokerima. U posljednjem odlomku vidjet ćete primjer jednog očitanja i postavljanja zadanih vrijednosti na jednom uređaju.
3 Konfiguracija Reduxi MQTT sučelja
Prijavite se na uređaj Reduxi Controler i idite na System settings. Pod System settings odaberite MQTT v3 i definirajte podatke MQTT brokera:
- Host (samo domena/IP, bez mqtts://)
- Port
- Korisničko ime
- Lozinka
Tekstualni opis ove slike
Snimka zaslona stranice MQTT v3 connection u Reduxi Configuratoru. Lijevi izbornik pod logotipom reduxi CONFIGURATOR: Users; Devices; Strategies; System (prošireno, znak minus); Identifier; Network; Open VPN; Connector (prošireno); Cloud; MQTT v3 (odabrano, podebljano); iFlex; Configuration (sažeto, znak plus); Distribution System Operators; Time. Zaglavlje stranice: MQTT v3 connection, zelena ikona veze desno. Tablica statusa: Client: prazno; Host: prazno; Connected: zelena kvačica. Odjeljak obrasca Mqtt connection: Host: mqtt.example.com (sivo, u stilu rezerviranog teksta); Port: 1883 (sivo); Username: prazno; Password: prazno; Server CA chain (PEM format): Choose File, No file chosen; Client public certificate (PEM format): Choose File, No file chosen; Client private key (PEM format): Choose File, No file chosen; Readout interval: 5 sec. Gumbi: Clear, Save.
4 Windows klijent
Podatke možete prikupljati pomoću MQTT Explorera i povezivanjem s MQTT brokerom sa sljedećim postavkama:
S MQTT brokerom možete se povezati kad pokrenete aplikaciju MQTT Explorer.
Tekstualni opis ove slike
Snimka zaslona aplikacije MQTT Explorer (gornja traka: DISCONNECT, okvir za pretraživanje) s otvorenim dijalogom MQTT Connection preko zatamnjenog glavnog prozora. Lijevi popis: žuti gumb plus s oznakom Connections; jedna spremljena stavka mqtt.example.com s malim tekstom mqtt://mqtt.example.com:1883/ (odabrana). Naslov dijaloga: MQTT Connection, a pokraj njega mqtt://mqtt.example.com:1883/. Polja: Name: mqtt.example.com; Validate certificate: prekidač isključen; Encryption (tls): prekidač isključen; Protocol: mqtt:// (padajući izbornik); Host: mqtt.example.com; Port: 1883; Username: prazno; Password: maskirano točkicama, s ikonom oka za prikaz/skrivanje. Gumbi: DELETE, ADVANCED, SAVE (žuti), CONNECT (tamni). U zatamnjenoj pozadini vidi se dio panela Topic i JSON vrijednost sa stavkama type POWER_ACTIVE, target FIXED, phaseType null.
5 Naredbe
5.1. Osvježavanje metapodataka
Zatražite od Reduxija da ponovno objavi sve metapodatke o sustavu, uređajima i strategijama na MQTT. Inače se periodično objavljuju samo očitanja i zadane vrijednosti.
Topic: controllers/controller_unit_id/commands/refresh
Tekstualni opis ove slike
Snimka zaslona aplikacije MQTT Explorer (status DISCONNECT, okvir za pretraživanje na vrhu) koja se koristi za slanje naredbe refresh. Lijevo stablo tema: e8c1fe29.ala.eu-central-1.emqxsl.com; controllers; ZGFE s keepAlive = 1734965285703; commands sa stavkom refresh; identifier = {"unitId":"ZGFE","unitIdFormatted":"ZGE","boardModel":"REDUXI_1","CPUSerial":"16516642034211ad","EMMCSerial":"4.(odrezano); settings; interval: readout = 15000, keepAlive = 60000; devices: 2 s info = {"id":2,"name":"Tesla Wall Connector Gen 3","typeId":59,"type":{"id":59,"categoryId":3,"category":{"id":3,"name":"EV charger","enumeration":"EV_CHARGER"; 4 (1 tema, 2 poruke); 12 s info = {"id":12,"name":"Iskraemeco AM550","typeId":16,"type":{"id":16,"categoryId":1,"category":{"id":1,"name":"Energy meter","enumeration":"ENERGY_METER"; 17 (1 tema, 2 poruke); 18 (1 tema, 2 poruke); strategies: 8 s info = {"id":8,"typeId":7,"type":{"id":7,"name":"1-phase current based ON/OFF regulation","enumeration":"DISCRETE_CURRENT_PHASE_1"}; parameters (3 teme, 12 poruka); 20 (2 teme, 8 poruka); 27 (odabrano) s info = {"id":27,"typeId":8,"type":{"id":8,"name":"Energy manager coordinator for PV, EVSE, battery and heat pump","enumeration":"UMBRELLA"}; parameters (1 tema, 4 poruke); list = [{"id":8,"typeId":7. Desna strana: panel Topic (oznaka 2) s putanjom controllers / ZGFE / strategies / 27; panel Value s History; panel Publish s Topic: controllers/ZGFE/commands/refresh; format raw, xml, json uz odabran json; prazno tijelo poruke; gumb PUBLISH s crvenom strelicom koja pokazuje na njega.
5.2. Ponovno pokretanje
Možete li ponovno pokrenuti Reduxi Controller?
Topic: controllers/controller_unit_id/commands/refresh
Tekstualni opis ove slike
Snimka zaslona aplikacije MQTT Explorer (status DISCONNECT, okvir za pretraživanje na vrhu) koja se koristi za slanje naredbe reboot. Lijevo stablo tema: $SYS (48 tema, 406 poruka); controllers; devices (29 tema, 865 poruka); strategies (38 tema, 884 poruke); commands (0 tema, 1 poruka); identifier = {"unitId","unitIdFormatted","CPUSerial":.} (odabrani redak); settings (2 teme, 2 poruke); keepAlive = 1675762462861. Desna strana: pregled JSON poruke na vrhu sa softwareVersion "20230207091611", hwVersion "0", hasWifiModule false, dso {.}; History: 1. Panel Publish s Topic: /controllers/ … /commands/reboot, s crvenom zagradom na kraju polja teme. Opcije formata raw, xml, json: odabran je json. Tijelo poruke je prazno. Gumb PUBLISH zaokružen je crveno. QoS: 0; retain: potvrdni okvir nije označen.
6. Zadane vrijednosti (setpoints)
6.1. Pregled svih aktivnih zadanih vrijednosti za uređaj
Tekstualni opis ove slike
Snimka zaslona aplikacije MQTT Explorer (status DISCONNECT, okvir za pretraživanje na vrhu) koja prikazuje zadanu vrijednost uređaja 15. Lijevo stablo tema: $SYS (48 tema, 862 poruke); controllers; devices; 13 (3 teme, 235 poruka); 14 (3 teme, 235 poruka); 15 proširen sa stavkama readout = {"time":1675762671666,"values":[{"deviceId":15,"dataTypeId":174,"dataTypeEnum":"VOLTAGE_L1"; setpoint = {"deviceId":15,"values":[{"action":"NONE","type":"POWER_ACTIVE","target":"FIXED","phaseType":"L1".} (odabrani redak, označen crvenom zagradom); info = {"id":15,"name":"Baterija","typeId":14,"type":{"id":14,"name":"Victron Energy MultiPlus II","enumeration":"BATTE; zatim 18, 8, 9, 10, 11, 12 (3 teme, 233 poruke svaki); list = [{"id":8,"name":"Sončna elektrarna","typeId":7,"type":{"id":7,"name":"SolarEdge","enumeration":"SOLAR_SOLARE; types = [{"id":40,"name":"ABB","enumeration":"CHARGER_ABB"; strategies (38 tema, 2104 poruke); commands (0 tema, 1 poruka); identifier = {"unitId","unitIdFormatted","CPUSerial"; settings (2 teme, 2 poruke); keepAlive = 1675762644772. Desna strana, Topic / controllers / / devices / 15 / setpoint. Panel Value, QoS: 0, 02/07/2023 10:37:53 AM, s gumbom formatiranog prikaza zaokruženim crveno i JSON vrijednošću označenom crvenom zagradom: { "deviceId": 15, "values": [ { "action": "NONE", "type": "POWER_ACTIVE", "target": "FIXED", "phaseType": "L1", "value": 0, "priority": 100, "validForTime": 28571 }, {. (nastavlja se). History: 20.
6.2. Postavljanje zadanih vrijednosti za uređaj
Tekstualni opis ove slike
Snimka zaslona aplikacije MQTT Explorer (status DISCONNECT, okvir za pretraživanje na vrhu) koja se koristi za objavu zadane vrijednosti za uređaj 15. Lijevo stablo tema: $SYS (48 tema, 1192 poruke); controllers; devices (istaknuto); 13 (3 teme, 341 poruka); 14 (3 teme, 341 poruka); 15 proširen sa stavkama readout = {"time":1675762794195,"values":[{"deviceId":15,"dataTypeId":174,"dataTypeEnum":"VOLTAGE_L1"; setpoint = {"deviceId":15,"values":[{"action":"NONE","type":"POWER_ACTIVE","target":"FIXED","phaseType":"L1".} (odabrani redak); info = {"id":15,"name":"Baterija","typeId":14,"type":{"id":14,"name":"Victron Energy MultiPlus II","enumeration":"BATTE; 18 (3 teme, 339 poruka); 8 (3 teme, 340 poruka, istaknuto); 9, 10, 11, 12 (3 teme, 339 poruka svaki); list = [{"id":8,"name":"Sončna elektrarna","typeId":7,"type":{"id":7,"name":"SolarEdge"; types = [{"id":40,"name":"ABB","enumeration":"CHARGER_ABB"; strategies (38 tema, 3062 poruke); commands (0 tema, 1 poruka); identifier = {"unitId","unitIdFormatted","CPUSerial":; settings (2 teme, 2 poruke); keepAlive = 1675762764833. Desna strana: oznaka History 20, zatim panel Publish. Topic: /controllers/ … /devices/15/setpoint/set; polje teme označeno je crvenim zagradama, a riječ set podcrtana je crveno. Format raw, xml, json: odabran je json. Tijelo poruke, označeno crvenom zagradom: { "values": [ { "action": "SET", "type": "POWER_ACTIVE", "target": "FIXED", "phaseType": null, "value": 1000, "priority": 10000, "validForTime": 60000 } ] }. Gumb PUBLISH zaokružen je crveno. QoS: 0; retain nije označen. Ispod je odjeljak History.
6.2.1. Primjer 1
Postavite radnu snagu na -1 kW (izvoz) na svim fazama u trajanju od 15 sekundi.
{
"values": [
{
"action": "SET",
"type": "POWER_ACTIVE",
"target": "FIXED",
"phaseType": null,
"value": 1000,
"priority": 10000,
"validForTime": 15000
}
]
}
6.2.2. Primjer 2
Ograničite maksimalnu struju na 10 A na fazi L2 u trajanju od 30 sekundi.
{
"values": [
{
"action": "SET",
"type": "CURRENT",
"target": "MAX",
"phaseType": "L2",
"value": 10,
"priority": 10000,
"validForTime": 30000
}
]
}