MQTT v3 connector
Publish live device and strategy data to your own MQTT broker and accept commands from it.
→ Overview
The MQTT v3 connector connects the controller as a client to an MQTT broker you choose, for example the broker of a building management system, a SCADA or a home automation platform. The controller then publishes the live values of all devices and strategies, the electricity prices and a keep-alive message, and it listens for commands such as device setpoints, strategy on/off, External EMS schedules and grid settings.
The connector is off until you enter a Host. It is independent of the Reduxi Cloud connection; both can run at the same time.
Anyone who can publish to the controller's command topics on your broker can change device
setpoints, switch strategies off, change the grid limits and reboot the controller. Use a broker
with user authentication, give the controller its own account, and allow write access to
controllers/<Unit ID>/…/set and controllers/<Unit ID>/commands/… only to trusted clients.
1 Connect to a broker
2 Parameters
Status
| Parameter | What it does | Unit / default |
|---|---|---|
| Client | MQTT client ID the controller uses. It is the controller's Unit ID and also forms every topic: controllers/<Unit ID>/…. Read-only. |
text |
| Host | The broker the saved configuration points to. Empty = connector off. Read-only. | text |
| Connected | Green tick = connected to the broker; red cross = not connected. Read-only. | — |
| Refresh icon | Reads the status again. | — |
Mqtt connection
| Parameter | What it does | Unit / default |
|---|---|---|
| Host | Host name or IP address of the broker. Leave empty to switch the connector off. | text · empty = off |
| Port | TCP port of the broker. | number · default 1883 |
| Username | User name on the broker. Optional. | text |
| Password | Password on the broker. Only used together with Username. The field shows the password in plain text. | text |
| Use SSL | Yes opens the connection with TLS encryption. If you never set it, it is switched on automatically when a server CA chain or a client certificate is stored. | Yes / No · default No |
| Verify server cert | Yes checks the broker's certificate against Server CA chain (or against the controller's built-in trusted authorities if no chain is uploaded). No accepts any certificate: the connection is encrypted, but the controller does not check who it talks to. Only used with Use SSL = Yes. | Yes / No · default No |
| Server CA chain (PEM format) | Certificate (chain) of the authority that signed the broker certificate. Click Choose File and pick a PEM file. Once stored, the field shows a Download button instead. | PEM file |
| Client public certificate (PEM format) | The controller's own client certificate, for brokers that authenticate clients by certificate (mutual TLS). Needs the matching private key. | PEM file |
| Client private key (PEM format) | Private key of the client certificate. | PEM file |
The client private key and the broker password give access to your broker. Keep the files in a safe place, do not send them by email, and do not leave copies on shared computers. Anyone with access to this Configurator page can download the stored certificates and see the password.
A stored certificate shows only a Download button. To upload a different one, click Clear connection configuration, then enter the whole connection again with the new files.
Additional topics
| Parameter | What it does | Unit / default |
|---|---|---|
| Name or path | Topic to publish, relative to controllers/<Unit ID>/. For example site/name is published as controllers/<Unit ID>/site/name. Rows with an empty name are skipped. |
text |
| Payload | Fixed text published on that topic. | text |
| Add | Adds an empty row. | — |
| Trash icon | Removes the row. Takes effect after Save. | — |
Additional topics are published together with the controller's metadata: each time the connector
connects to the broker and each time the broker sends commands/refresh.
Publishing and buttons
| Parameter | What it does | Unit / default |
|---|---|---|
| Readout interval | How often the controller publishes the readout and setpoint of every device and the readout, state and parameter values of every strategy. Lower values give fresher data but more traffic. | s · empty = 60 s · minimum 0.25 s |
| Save | Stores the settings and restarts the connector. Recorded in the Audit log as CONNECTOR_EDIT. |
— |
| Clear connection configuration | After the confirmation Are you sure to clear MQTT settings? (Yes / Cancel), deletes host, port, username, password, the SSL settings and all certificates. The connector switches off. Readout interval and Additional topics are kept. | — |
After Clear connection configuration the controller no longer publishes data or accepts commands over MQTT. A system that relies on the data, or sends External EMS schedules, stops receiving or delivering them. You must re-enter the password and upload the certificates again to reconnect.
3 Topics
All topics start with controllers/<Unit ID>/. The controller publishes with QoS 0 and without the
retain flag, and subscribes to command topics with QoS 1. Payloads are JSON or plain values; the
full payload formats are in the help-center article "Reduxi Controller - MQTT API".
Published by the controller:
| Topic | Content | When |
|---|---|---|
identifier |
Controller identification (unit ID, versions, …) | On connect and on commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Current intervals in ms | On connect and on refresh |
devices/list, devices/types, devices/<id>/info
|
Configured devices and their types | On connect and on refresh |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Configured strategies and their parameters | On connect and on refresh |
<additional topic> |
Payload from Additional topics | On connect and on refresh |
devices/<id>/readout |
Live values of a device | Every readout interval |
devices/<id>/setpoint |
Current setpoint of a device | Every readout interval |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Strategy on/off, live values, parameter values | Every readout interval |
prices |
Electricity prices for today and tomorrow | On connect, when prices change, on prices/refresh
|
strategies/<id>/externalEMS/<type> |
Stored External EMS schedule (battery, evse, hvac, pv) |
On …/externalEMS/<type>/refresh
|
keepAlive |
Current time (Unix ms) | Every keep-alive interval, default 60 s |
Commands the controller accepts:
| Topic | Effect |
|---|---|
commands/refresh |
Publishes the metadata topics again. |
commands/reboot |
Reboots the controller about 5 s later. |
prices/refresh |
Publishes prices again. |
settings/interval/readout/set |
Changes the readout interval (ms) and stores it. |
settings/interval/keepAlive/set |
Changes the keep-alive interval (ms) and stores it. |
devices/<id>/setpoint/set |
Sets a device setpoint. |
strategies/<id>/parameters/<id>/value/set |
Sets a strategy parameter. |
strategies/<id>/active/set |
Switches a strategy on or off. |
strategies/<id>/externalEMS/<type>/set |
Loads an External EMS schedule for battery, evse, hvac or pv. Ignored unless the strategy has an External EMS optimization mode. |
strategies/<id>/externalEMS/<type>/refresh |
Publishes the stored External EMS schedule. |
settings/grid/set |
Changes the grid settings (location, fuses, import and export limit), optionally also in selected strategies. |
settings/grid/set overwrites the values on Settings → Grid and, if requested, the limits of
the strategies — the same effect as saving the Grid settings page. devices/<id>/setpoint/set
writes the setpoint to the device directly. Do not send device setpoints for a device that a strategy
also controls, or the two will overwrite each other.
4 Troubleshooting
| Symptom | What to check |
|---|---|
| Connected stays red | Host and Port are right; the controller can reach the broker (TCP port test on the broker host and port); username and password; with TLS, the CA chain matches the broker certificate, or try Verify server cert = No to narrow the problem down. |
| Connected, but no data on the broker | Subscribe to controllers/# and check the Client value: topics use the Unit ID exactly as shown there. |
| Commands have no effect | The client sending them has publish rights on the broker; the topic uses the right device or strategy ID (see devices/list, strategies/list). |
5 Checklist
- Host and Port match the broker, and Connected shows a green tick after a refresh.
- On production sites: Use SSL = Yes, the CA chain is uploaded and Verify server cert = Yes.
- Data arrives under
controllers/<Unit ID>/at the configured Readout interval. - Write access to the command topics is limited to trusted clients on the broker.
- Certificate files and passwords are stored safely outside the controller.