MQTT v3-connector
Publiceer live gegevens van apparaten en strategieën naar uw eigen MQTT-broker en accepteer opdrachten van die broker.
→ Overzicht
De connector MQTT v3 verbindt de controller als client met een MQTT-broker die u zelf kiest, bijvoorbeeld de broker van een gebouwbeheersysteem, een SCADA of een domoticaplatform. De controller publiceert dan de live waarden van alle apparaten en strategieën, de elektriciteitsprijzen en een keep-alivebericht, en luistert naar opdrachten zoals setpoints van apparaten, strategie aan/uit, schema's van een extern EMS en netinstellingen.
De connector staat uit totdat u een Host invoert. Hij is onafhankelijk van de verbinding met de Reduxi Cloud; beide kunnen tegelijk actief zijn.
Iedereen die op uw broker kan publiceren naar de opdrachttopics van de controller, kan setpoints van apparaten wijzigen, strategieën uitschakelen, de netlimieten wijzigen en de controller opnieuw opstarten. Gebruik een broker met gebruikersauthenticatie, geef de controller een eigen account en geef alleen vertrouwde clients schrijftoegang tot controllers/<Unit ID>/…/set en controllers/<Unit ID>/commands/….
1 Verbinding maken met een broker
2 Parameters
Status
| Parameter | Wat het doet | Eenheid / standaardwaarde |
|---|---|---|
| Client | MQTT-client-ID dat de controller gebruikt. Dit is de Unit ID van de controller en vormt ook elk topic: controllers/<Unit ID>/…. Alleen-lezen. |
tekst |
| Host | De broker waarnaar de opgeslagen configuratie verwijst. Leeg = connector uit. Alleen-lezen. | tekst |
| Connected | Groen vinkje = verbonden met de broker; rood kruis = niet verbonden. Alleen-lezen. | — |
| Verversingspictogram | Leest de status opnieuw uit. | — |
Mqtt connection
| Parameter | Wat het doet | Eenheid / standaardwaarde |
|---|---|---|
| Host | Hostnaam of IP-adres van de broker. Laat leeg om de connector uit te schakelen. | tekst · leeg = uit |
| Port | TCP-poort van de broker. | getal · standaard 1883 |
| Username | Gebruikersnaam op de broker. Optioneel. | tekst |
| Password | Wachtwoord op de broker. Wordt alleen gebruikt samen met Username. Het veld toont het wachtwoord in leesbare tekst. | tekst |
| Use SSL | Yes opent de verbinding met TLS-versleuteling. Als u dit nooit hebt ingesteld, wordt het automatisch ingeschakeld wanneer een CA-keten van de server of een clientcertificaat is opgeslagen. | Yes / No · standaard No |
| Verify server cert | Yes controleert het certificaat van de broker aan de hand van Server CA chain (of aan de hand van de ingebouwde vertrouwde instanties van de controller als er geen keten is geüpload). No accepteert elk certificaat: de verbinding is versleuteld, maar de controller controleert niet met wie hij communiceert. Alleen gebruikt bij Use SSL = Yes. | Yes / No · standaard No |
| Server CA chain (PEM format) | Certificaat (keten) van de instantie die het certificaat van de broker heeft ondertekend. Klik op Choose File en kies een PEM-bestand. Zodra het is opgeslagen, toont het veld in plaats daarvan een knop Download. | PEM-bestand |
| Client public certificate (PEM format) | Het eigen clientcertificaat van de controller, voor brokers die clients authenticeren met een certificaat (mutual TLS). Vereist de bijbehorende private key. | PEM-bestand |
| Client private key (PEM format) | Private key van het clientcertificaat. | PEM-bestand |
De private key van de client en het wachtwoord van de broker geven toegang tot uw broker. Bewaar de bestanden op een veilige plek, verstuur ze niet per e-mail en laat geen kopieën achter op gedeelde computers. Iedereen met toegang tot deze pagina van de Configurator kan de opgeslagen certificaten downloaden en het wachtwoord zien.
Een opgeslagen certificaat toont alleen een knop Download. Om een ander certificaat te uploaden, klikt u op Clear connection configuration en voert u daarna de hele verbinding opnieuw in met de nieuwe bestanden.
Additional topics
| Parameter | Wat het doet | Eenheid / standaardwaarde |
|---|---|---|
| Name or path | Te publiceren topic, relatief ten opzichte van controllers/<Unit ID>/. Bijvoorbeeld: site/name wordt gepubliceerd als controllers/<Unit ID>/site/name. Rijen met een lege naam worden overgeslagen. |
tekst |
| Payload | Vaste tekst die op dat topic wordt gepubliceerd. | tekst |
| Add | Voegt een lege rij toe. | — |
| Prullenbakpictogram | Verwijdert de rij. Wordt van kracht na Save. | — |
Additional topics worden samen met de metagegevens van de controller gepubliceerd: telkens wanneer de connector verbinding maakt met de broker en telkens wanneer de broker commands/refresh verstuurt.
Publiceren en knoppen
| Parameter | Wat het doet | Eenheid / standaardwaarde |
|---|---|---|
| Readout interval | Hoe vaak de controller de uitlezing en het setpoint van elk apparaat en de uitlezing, de status en de parameterwaarden van elke strategie publiceert. Lagere waarden geven actuelere gegevens maar meer verkeer. | s · leeg = 60 s · minimaal 0.25 s |
| Opslaan | Slaat de instellingen op en start de connector opnieuw. Wordt vastgelegd in het Audit log als CONNECTOR_EDIT. |
— |
| Clear connection configuration | Na de bevestiging Are you sure to clear MQTT settings? (Yes / Cancel) worden host, poort, gebruikersnaam, wachtwoord, de SSL-instellingen en alle certificaten verwijderd. De connector wordt uitgeschakeld. Readout interval en Additional topics blijven behouden. | — |
Na Clear connection configuration publiceert de controller geen gegevens meer en accepteert hij geen opdrachten meer via MQTT. Een systeem dat op de gegevens vertrouwt of schema's van een extern EMS verstuurt, ontvangt of levert die niet meer. U moet het wachtwoord opnieuw invoeren en de certificaten opnieuw uploaden om weer verbinding te maken.
3 Topics
Alle topics beginnen met controllers/<Unit ID>/. De controller publiceert met QoS 0 en zonder retain-vlag en abonneert zich met QoS 1 op de opdrachttopics. Payloads zijn JSON of gewone waarden; de volledige payloadformaten staan in het artikel in het helpcenter "Reduxi Controller - MQTT API".
Gepubliceerd door de controller:
| Topic | Inhoud | Wanneer |
|---|---|---|
identifier |
Identificatie van de controller (Unit ID, versies, …) | Bij het verbinden en bij commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Huidige intervallen in ms | Bij het verbinden en bij refresh |
devices/list, devices/types, devices/<id>/info
|
Geconfigureerde apparaten en hun typen | Bij het verbinden en bij refresh |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Geconfigureerde strategieën en hun parameters | Bij het verbinden en bij refresh |
<additional topic> |
Payload uit Additional topics | Bij het verbinden en bij refresh |
devices/<id>/readout |
Live waarden van een apparaat | Elk uitleesinterval |
devices/<id>/setpoint |
Huidig setpoint van een apparaat | Elk uitleesinterval |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Strategie aan/uit, live waarden, parameterwaarden | Elk uitleesinterval |
prices |
Elektriciteitsprijzen voor vandaag en morgen | Bij het verbinden, wanneer prijzen wijzigen, bij prices/refresh
|
strategies/<id>/externalEMS/<type> |
Opgeslagen schema van een extern EMS (battery, evse, hvac, pv) |
Bij …/externalEMS/<type>/refresh
|
keepAlive |
Huidige tijd (Unix ms) | Elk keep-alive-interval, standaard 60 s |
Opdrachten die de controller accepteert:
| Topic | Effect |
|---|---|
commands/refresh |
Publiceert de metagegevenstopics opnieuw. |
commands/reboot |
Start de controller ongeveer 5 s later opnieuw op. |
prices/refresh |
Publiceert prices opnieuw. |
settings/interval/readout/set |
Wijzigt het uitleesinterval (ms) en slaat het op. |
settings/interval/keepAlive/set |
Wijzigt het keep-alive-interval (ms) en slaat het op. |
devices/<id>/setpoint/set |
Stelt een setpoint van een apparaat in. |
strategies/<id>/parameters/<id>/value/set |
Stelt een parameter van een strategie in. |
strategies/<id>/active/set |
Schakelt een strategie in of uit. |
strategies/<id>/externalEMS/<type>/set |
Laadt een schema van een extern EMS voor battery, evse, hvac of pv. Wordt genegeerd tenzij de strategie de optimalisatiemodus External EMS heeft. |
strategies/<id>/externalEMS/<type>/refresh |
Publiceert het opgeslagen schema van een extern EMS. |
settings/grid/set |
Wijzigt de netinstellingen (locatie, zekeringen, afnamelimiet en invoedingslimiet), optioneel ook in geselecteerde strategieën. |
settings/grid/set overschrijft de waarden op Settings → Grid en, indien gevraagd, de limieten van de strategieën: hetzelfde effect als het opslaan van de pagina Grid settings. devices/<id>/setpoint/set schrijft het setpoint rechtstreeks naar het apparaat. Stuur geen setpoints voor een apparaat dat ook door een strategie wordt aangestuurd, anders overschrijven ze elkaar.
4 Problemen oplossen
| Symptoom | Wat u moet controleren |
|---|---|
| Connected blijft rood | Host en Port zijn juist; de controller kan de broker bereiken (TCP port test op host en poort van de broker); gebruikersnaam en wachtwoord; bij TLS komt de CA-keten overeen met het certificaat van de broker, of probeer Verify server cert = No om het probleem af te bakenen. |
| Verbonden, maar geen gegevens op de broker | Abonneer u op controllers/# en controleer de waarde van Client: topics gebruiken de Unit ID precies zoals die daar staat. |
| Opdrachten hebben geen effect | De client die ze verstuurt, heeft publicatierechten op de broker; het topic gebruikt het juiste apparaat- of strategie-ID (zie devices/list, strategies/list). |
5 Checklist
- Host en Port komen overeen met de broker en Connected toont na verversen een groen vinkje.
- Op productielocaties: Use SSL = Yes, de CA-keten is geüpload en Verify server cert = Yes.
- Gegevens komen binnen onder
controllers/<Unit ID>/met het ingestelde Readout interval. - Schrijftoegang tot de opdrachttopics is beperkt tot vertrouwde clients op de broker.
- Certificaatbestanden en wachtwoorden worden veilig buiten de controller bewaard.