Reduxi Controller - MQTT API
1 Podrška za MQTT verzije
Podržavamo verziju 3. x. Međutim, ne podržavamo 5. x.
2 Reduxi Controller MQTT API dokumentacija
Dokumentacija svih dostupnih MQTT tema i metoda pretplate dostupna je na:
MQTT dokumentacija je napisana iz ugla uređaja Reduxi Controller.
Kada čitate iz Reduxi MQTT, videćete pojam "PUB". Zašto PUB? Zato što objavljujemo podatke sa uređaja Reduxi Controller na temu.
Kada postavljate vrednosti na Reduxi Controller preko MQTT, videćete pojam "SUB". Zašto SUB? Zato što se pretplaćujemo na temu i čitamo podatke iz nje, čime se na Reduxi Controller postavljaju vrednosti koje ste poslali.
Ispod su navedene informacije o tome kako treba podesiti Reduxi Configurator da biste počeli da primate podatke na određenim MQTT brokerima. U poslednjem odeljku možete videti primer jednog očitavanja i postavljanja zadatih vrednosti na jednom uređaju.
3 Konfiguracija Reduxi MQTT interfejsa
Prijavite se na uređaj Reduxi Controler i idite na System settings. Pod System settings izaberite MQTT v3 i definišite podatke MQTT brokera:
- Host (samo domen/IP adresa, bez mqtts://)
- Port
- Korisničko ime
- Lozinka
Tekstualni opis ove slike
Snimak ekrana stranice MQTT v3 connection u Reduxi Configurator. Levi meni pod reduxi CONFIGURATOR logotipom: Users; Devices; Strategies; System (proširen, znak minus); Identifier; Network; Open VPN; Connector (proširen); Cloud; MQTT v3 (izabrano, podebljano); iFlex; Configuration (skupljeno, znak plus); Distribution System Operators; Time. Zaglavlje stranice: MQTT v3 connection, zelena ikona veze desno. Tabela statusa: Client: prazno; Host: prazno; Connected: zelena kvačica. Odeljak obrasca Mqtt connection: Host: mqtt.example.com (sivo, stil rezervisanog 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. Dugmad: Clear, Save.
4 Windows klijent
Podatke možete prikupljati pomoću MQTT Explorer povezivanjem na MQTT broker sa sledećim postavkama:
Na MQTT broker možete se povezati kada pokrenete aplikaciju MQTT Explorer.
Tekstualni opis ove slike
Snimak ekrana MQTT Explorer (gornja traka: DISCONNECT, polje za pretragu) sa otvorenim dijalogom MQTT Connection iznad zatamnjenog glavnog prozora. Leva lista: žuto dugme plus sa oznakom Connections; jedna sačuvana stavka mqtt.example.com sa sitnim tekstom mqtt://mqtt.example.com:1883/ (izabrano). Naslov dijaloga: MQTT Connection, a pored njega mqtt://mqtt.example.com:1883/. Polja: Name: mqtt.example.com; Validate certificate: prekidač isključen; Encryption (tls): prekidač isključen; Protocol: mqtt:// (padajuća lista); Host: mqtt.example.com; Port: 1883; Username: prazno; Password: maskirano tačkicama, sa ikonom oka za prikaz/skrivanje. Dugmad: DELETE, ADVANCED, SAVE (žuto), CONNECT (tamno). U zatamnjenoj pozadini vidi se deo panela Topic i JSON vrednost sa unosima type POWER_ACTIVE, target FIXED, phaseType null.
5 Komande
5.1. Osvežavanje metapodataka
Zatražite od sistema Reduxi da ponovo objavi sve metapodatke o sistemu, uređajima i strategijama na MQTT. U suprotnom se periodično objavljuju samo očitavanja i zadate vrednosti.
Topic: controllers/controller_unit_id/commands/refresh
Tekstualni opis ove slike
Snimak ekrana MQTT Explorer (status DISCONNECT, polje za pretragu pri vrhu) koji se koristi za slanje komande refresh. Levo stablo tema: e8c1fe29.ala.eu-central-1.emqxsl.com; controllers; ZGFE sa keepAlive = 1734965285703; commands sa stavkom refresh; identifier = {"unitId":"ZGFE","unitIdFormatted":"ZGE","boardModel":"REDUXI_1","CPUSerial":"16516642034211ad","EMMCSerial":"4.(odsečeno); settings; interval: readout = 15000, keepAlive = 60000; devices: 2 sa 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 sa 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 sa 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 (izabrano) sa 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) sa putanjom controllers / ZGFE / strategies / 27; panel Value sa History; panel Publish sa Topic: controllers/ZGFE/commands/refresh; format raw, xml, json sa izabranim json; prazno telo poruke; dugme PUBLISH sa crvenom strelicom koja pokazuje na njega.
5.2. Ponovno pokretanje
Možete li ponovo pokrenuti Reduxi Controller?
Topic: controllers/controller_unit_id/commands/refresh
Tekstualni opis ove slike
Snimak ekrana aplikacije MQTT Explorer (status DISCONNECT, polje za pretragu pri vrhu) koji se koristi za slanje komande reboot. Levo 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":.} (izabran red); settings (2 teme, 2 poruke); keepAlive = 1675762462861. Desna strana: pregled JSON poruke pri vrhu sa softwareVersion "20230207091611", hwVersion "0", hasWifiModule false, dso {.}; History: 1. Panel Publish sa Topic: /controllers/ … /commands/reboot, sa crvenom zagradom na kraju polja teme. Opcije formata raw, xml, json: izabran je json. Telo poruke je prazno. Dugme PUBLISH je zaokruženo crvenom bojom. QoS: 0; retain: polje nije označeno.
6. Zadate vrednosti
6.1. Prikaz svih aktivnih zadatih vrednosti za uređaj
Tekstualni opis ove slike
Snimak ekrana MQTT Explorer (status DISCONNECT, polje za pretragu pri vrhu) koji prikazuje zadatu vrednost uređaja 15. Levo stablo tema: $SYS (48 tema, 862 poruke); controllers; devices; 13 (3 teme, 235 poruka); 14 (3 teme, 235 poruka); 15 raš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".} (izabran red, 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, po 233 poruke); 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, sa dugmetom formatiranog prikaza zaokruženim crvenom bojom i JSON vrednošću okvirenom 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 zadatih vrednosti za uređaj
Tekstualni opis ove slike
Snimak ekrana MQTT Explorer (status DISCONNECT, polje za pretragu pri vrhu) koji se koristi za objavljivanje zadate vrednosti za uređaj 15. Levo stablo tema: $SYS (48 tema, 1192 poruke); controllers; devices (istaknuto); 13 (3 teme, 341 poruka); 14 (3 teme, 341 poruka); 15 raširen sa readout = {"time":1675762794195,"values":[{"deviceId":15,"dataTypeId":174,"dataTypeEnum":"VOLTAGE_L1"; setpoint = {"deviceId":15,"values":[{"action":"NONE","type":"POWER_ACTIVE","target":"FIXED","phaseType":"L1".} (izabran red); 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, po 339 poruka); 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 je označeno crvenim zagradama, a reč set je podvučena crvenom bojom. Format raw, xml, json: izabran je json. Telo poruke, okvireno crvenom zagradom: { "values": [ { "action": "SET", "type": "POWER_ACTIVE", "target": "FIXED", "phaseType": null, "value": 1000, "priority": 10000, "validForTime": 60000 } ] }. Dugme PUBLISH je zaokruženo crvenom bojom. QoS: 0; retain nije označeno. Ispod je odeljak History.
6.2.1. Primer 1
Postavite aktivnu 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. Primer 2
Ograničite maksimalnu struju na 10A na fazi L2 u trajanju od 30 sekundi.
{
"values": [
{
"action": "SET",
"type": "CURRENT",
"target": "MAX",
"phaseType": "L2",
"value": 10,
"priority": 10000,
"validForTime": 30000
}
]
}