Reduxi Controller - MQTT API
1 Ondersteuning van MQTT-versies
Wij ondersteunen versie 3. x. Versie 5. x ondersteunen wij echter niet.
2 MQTT-API-documentatie van de Reduxi Controller
Documentatie van alle beschikbare MQTT-topics en abonneermethoden vindt u op:
De MQTT-documentatie is opgesteld vanuit het perspectief van de Reduxi Controller.
Wanneer u uit Reduxi MQTT leest, ziet u de term "PUB". Waarom PUB? Omdat wij de gegevens van de Reduxi Controller publiceren naar het topic.
Wanneer u via MQTT waarden instelt op de Reduxi Controller, ziet u de term "SUB". Waarom SUB? Omdat wij ons abonneren op het topic en er gegevens uit lezen, waarbij de waarden die u hebt verstuurd naar de Reduxi Controller worden ingesteld.
Hieronder vindt u informatie over hoe u de Reduxi Configurator moet instellen om gegevens te ontvangen van specifieke MQTT-brokers. In de laatste alinea ziet u een voorbeeld van het uitlezen en het instellen van setpoints op één apparaat.
3 Configuratie van de Reduxi MQTT-interface
Log in op het Reduxi Controller-apparaat en ga naar de systeeminstellingen. Selecteer onder System settings de optie MQTT v3 en definieer de gegevens van de MQTT-broker:
- Host (alleen domein/IP-adres, zonder mqtts://)
- Poort
- Gebruikersnaam
- Wachtwoord
Tekstbeschrijving van deze afbeelding
Schermafbeelding van de pagina MQTT v3 connection van de Reduxi Configurator. Linkermenu onder het logo reduxi CONFIGURATOR: Users; Devices; Strategies; System (uitgeklapt, minteken); Identifier; Network; Open VPN; Connector (uitgeklapt); Cloud; MQTT v3 (geselecteerd, vet); iFlex; Configuration (ingeklapt, plusteken); Distribution System Operators; Time. Paginakop: MQTT v3 connection, rechts een groen koppelingspictogram. Statustabel: Client: leeg; Host: leeg; Connected: groen vinkje. Formuliersectie Mqtt connection: Host: mqtt.example.com (grijs, als placeholder); Port: 1883 (grijs); Username: leeg; Password: leeg; 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. Knoppen: Clear, Save.
4 Windows-client
U kunt proberen gegevens te verzamelen met MQTT Explorer en verbinding te maken met de MQTT-broker met het volgende:
U kunt verbinding maken met de MQTT-broker wanneer u een MQTT Explorer-applicatie start.
Tekstbeschrijving van deze afbeelding
Schermafbeelding van MQTT Explorer (bovenbalk: DISCONNECT, zoekvak) met het dialoogvenster MQTT Connection geopend boven het gedimde hoofdvenster. Linkerlijst: gele plusknop met het label Connections; één opgeslagen item mqtt.example.com met kleine tekst mqtt://mqtt.example.com:1883/ (geselecteerd). Titel van het dialoogvenster: MQTT Connection, met ernaast mqtt://mqtt.example.com:1883/. Velden: Name: mqtt.example.com; Validate certificate: schakelaar uit; Encryption (tls): schakelaar uit; Protocol: mqtt:// (keuzelijst); Host: mqtt.example.com; Port: 1883; Username: leeg; Password: gemaskeerd met puntjes, met een oogpictogram om te tonen/verbergen. Knoppen: DELETE, ADVANCED, SAVE (geel), CONNECT (donker). In de gedimde achtergrond is een deel van het Topic-paneel en een JSON-waarde zichtbaar met de items type POWER_ACTIVE, target FIXED, phaseType null.
5 Commando's
5.1. Metadata vernieuwen
Vraag Reduxi om alle metadata over het systeem, de apparaten en de strategieën opnieuw naar MQTT te publiceren. Anders worden alleen uitlezingen en setpoints periodiek gepubliceerd.
Topic: controllers/controller_unit_id/commands/refresh
Tekstbeschrijving van deze afbeelding
Schermafbeelding van MQTT Explorer (status DISCONNECT, zoekvak bovenaan) waarmee het commando refresh wordt verstuurd. Linker topicboom: e8c1fe29.ala.eu-central-1.emqxsl.com; controllers; ZGFE met keepAlive = 1734965285703; commands met item refresh; identifier = {"unitId":"ZGFE","unitIdFormatted":"ZGE","boardModel":"REDUXI_1","CPUSerial":"16516642034211ad","EMMCSerial":"4.(afgesneden); settings; interval: readout = 15000, keepAlive = 60000; devices: 2 met 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 topic, 2 berichten); 12 met info = {"id":12,"name":"Iskraemeco AM550","typeId":16,"type":{"id":16,"categoryId":1,"category":{"id":1,"name":"Energy meter","enumeration":"ENERGY_METER"; 17 (1 topic, 2 berichten); 18 (1 topic, 2 berichten); strategies: 8 met info = {"id":8,"typeId":7,"type":{"id":7,"name":"1-phase current based ON/OFF regulation","enumeration":"DISCRETE_CURRENT_PHASE_1"}; parameters (3 topics, 12 berichten); 20 (2 topics, 8 berichten); 27 (geselecteerd) met info = {"id":27,"typeId":8,"type":{"id":8,"name":"Energy manager coordinator for PV, EVSE, battery and heat pump","enumeration":"UMBRELLA"}; parameters (1 topic, 4 berichten); list = [{"id":8,"typeId":7. Rechterkant: Topic-paneel (badge 2) met pad controllers / ZGFE / strategies / 27; Value-paneel met History; Publish-paneel met Topic: controllers/ZGFE/commands/refresh; formaat raw, xml, json met json geselecteerd; leeg berichtveld; knop PUBLISH met een rode pijl die ernaar wijst.
5.2. Opnieuw opstarten
Kunt u de Reduxi Controller opnieuw opstarten?
Topic: controllers/controller_unit_id/commands/refresh
Tekstbeschrijving van deze afbeelding
Schermafbeelding van de MQTT Explorer-applicatie (status DISCONNECT, zoekvak bovenaan) waarmee het commando reboot wordt verstuurd. Linker topicboom: $SYS (48 topics, 406 berichten); controllers; devices (29 topics, 865 berichten); strategies (38 topics, 884 berichten); commands (0 topics, 1 bericht); identifier = {"unitId","unitIdFormatted","CPUSerial":.} (geselecteerde rij); settings (2 topics, 2 berichten); keepAlive = 1675762462861. Rechterkant: bovenaan een JSON-berichtvoorbeeld met softwareVersion "20230207091611", hwVersion "0", hasWifiModule false, dso {.}; History: 1. Publish-paneel met Topic: /controllers/ … /commands/reboot, met een rode accolade aan het einde van het topicveld. Formaatopties raw, xml, json: json is geselecteerd. De berichttekst is leeg. Knop PUBLISH is rood omcirkeld. QoS: 0; retain: selectievakje niet aangevinkt.
6. Setpoints
6.1. Alle actieve setpoints van het apparaat bekijken
Tekstbeschrijving van deze afbeelding
Schermafbeelding van MQTT Explorer (status DISCONNECT, zoekvak bovenaan) met het setpoint van apparaat 15. Linker topicboom: $SYS (48 topics, 862 berichten); controllers; devices; 13 (3 topics, 235 berichten); 14 (3 topics, 235 berichten); 15 uitgeklapt met items readout = {"time":1675762671666,"values":[{"deviceId":15,"dataTypeId":174,"dataTypeEnum":"VOLTAGE_L1"; setpoint = {"deviceId":15,"values":[{"action":"NONE","type":"POWER_ACTIVE","target":"FIXED","phaseType":"L1".} (geselecteerde rij, gemarkeerd met een rode accolade); info = {"id":15,"name":"Baterija","typeId":14,"type":{"id":14,"name":"Victron Energy MultiPlus II","enumeration":"BATTE; daarna 18, 8, 9, 10, 11, 12 (elk 3 topics, 233 berichten); 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 topics, 2104 berichten); commands (0 topics, 1 bericht); identifier = {"unitId","unitIdFormatted","CPUSerial"; settings (2 topics, 2 berichten); keepAlive = 1675762644772. Rechterkant, Topic / controllers / / devices / 15 / setpoint. Value-paneel, QoS: 0, 02/07/2023 10:37:53 AM, met de knop voor de opgemaakte weergave rood omcirkeld en de JSON-waarde omkaderd met een rode accolade: { "deviceId": 15, "values": [ { "action": "NONE", "type": "POWER_ACTIVE", "target": "FIXED", "phaseType": "L1", "value": 0, "priority": 100, "validForTime": 28571 }, {. (gaat verder). History: 20.
6.2. Setpoints instellen voor het apparaat
Tekstbeschrijving van deze afbeelding
Schermafbeelding van MQTT Explorer (status DISCONNECT, zoekvak bovenaan) waarmee een setpoint voor apparaat 15 wordt gepubliceerd. Linker topicboom: $SYS (48 topics, 1192 berichten); controllers; devices (gemarkeerd); 13 (3 topics, 341 berichten); 14 (3 topics, 341 berichten); 15 uitgeklapt met readout = {"time":1675762794195,"values":[{"deviceId":15,"dataTypeId":174,"dataTypeEnum":"VOLTAGE_L1"; setpoint = {"deviceId":15,"values":[{"action":"NONE","type":"POWER_ACTIVE","target":"FIXED","phaseType":"L1".} (geselecteerde rij); info = {"id":15,"name":"Baterija","typeId":14,"type":{"id":14,"name":"Victron Energy MultiPlus II","enumeration":"BATTE; 18 (3 topics, 339 berichten); 8 (3 topics, 340 berichten, gemarkeerd); 9, 10, 11, 12 (elk 3 topics, 339 berichten); list = [{"id":8,"name":"Sončna elektrarna","typeId":7,"type":{"id":7,"name":"SolarEdge"; types = [{"id":40,"name":"ABB","enumeration":"CHARGER_ABB"; strategies (38 topics, 3062 berichten); commands (0 topics, 1 bericht); identifier = {"unitId","unitIdFormatted","CPUSerial":; settings (2 topics, 2 berichten); keepAlive = 1675762764833. Rechterkant: History-badge 20, daarna het Publish-paneel. Topic: /controllers/ … /devices/15/setpoint/set; het topicveld is gemarkeerd met rode accolades en het woord set is rood onderstreept. Formaat raw, xml, json: json geselecteerd. Berichttekst, omkaderd met een rode accolade: { "values": [ { "action": "SET", "type": "POWER_ACTIVE", "target": "FIXED", "phaseType": null, "value": 1000, "priority": 10000, "validForTime": 60000 } ] }. Knop PUBLISH rood omcirkeld. QoS: 0; retain niet aangevinkt. Daaronder staat een sectie History.
6.2.1. Voorbeeld 1
Stel het actieve vermogen gedurende 15 seconden in op -1 kW (export) op alle fasen.
{
"values": [
{
"action": "SET",
"type": "POWER_ACTIVE",
"target": "FIXED",
"phaseType": null,
"value": 1000,
"priority": 10000,
"validForTime": 15000
}
]
}
6.2.2. Voorbeeld 2
Beperk de maximale stroom gedurende 30 seconden tot 10 A op fase L2.
{
"values": [
{
"action": "SET",
"type": "CURRENT",
"target": "MAX",
"phaseType": "L2",
"value": 10,
"priority": 10000,
"validForTime": 30000
}
]
}