MQTT-v3-Connector
Veröffentlichen Sie Live-Daten von Geräten und Strategien auf Ihrem eigenen MQTT-Broker und nehmen Sie Befehle von ihm entgegen.
→ Überblick
Der MQTT v3-Connector verbindet den Controller als Client mit einem MQTT-Broker Ihrer Wahl, zum Beispiel dem Broker eines Gebäudeleitsystems, eines SCADA-Systems oder einer Smart-Home-Plattform. Der Controller veröffentlicht dann die Live-Werte aller Geräte und Strategien, die Strompreise und eine Keep-alive-Nachricht und wartet auf Befehle wie Sollwerte für Geräte, das Ein- und Ausschalten von Strategien, Zeitpläne des externen EMS und Netzeinstellungen.
Der Connector ist ausgeschaltet, bis Sie einen Host eingeben. Er ist unabhängig von der Verbindung zur Reduxi Cloud; beide können gleichzeitig laufen.
Wer auf Ihrem Broker an die Befehls-Topics des Controllers veröffentlichen kann, kann Sollwerte von Geräten ändern, Strategien ausschalten, die Netzgrenzwerte ändern und den Controller neu starten. Verwenden Sie einen Broker mit Benutzerauthentifizierung, geben Sie dem Controller ein eigenes Konto und erlauben Sie Schreibzugriff auf controllers/<Unit ID>/…/set und controllers/<Unit ID>/commands/… nur vertrauenswürdigen Clients.
1 Mit einem Broker verbinden
2 Parameter
Status
| Parameter | Funktion | Einheit / Standard |
|---|---|---|
| Client | MQTT-Client-ID, die der Controller verwendet. Es ist die Unit ID des Controllers, und sie bildet auch jedes Topic: controllers/<Unit ID>/…. Nur lesbar. |
Text |
| Host | Der Broker, auf den die gespeicherte Konfiguration verweist. Leer = Connector aus. Nur lesbar. | Text |
| Connected | Grünes Häkchen = mit dem Broker verbunden; rotes Kreuz = nicht verbunden. Nur lesbar. | — |
| Aktualisieren-Symbol | Fragt den Status erneut ab. | — |
Mqtt connection
| Parameter | Funktion | Einheit / Standard |
|---|---|---|
| Host | Hostname oder IP-Adresse des Brokers. Leer lassen, um den Connector auszuschalten. | Text · leer = aus |
| Port | TCP-Port des Brokers. | Zahl · Standard 1883 |
| Username | Benutzername auf dem Broker. Optional. | Text |
| Password | Passwort auf dem Broker. Wird nur zusammen mit Username verwendet. Das Feld zeigt das Passwort im Klartext an. | Text |
| Use SSL | Yes öffnet die Verbindung mit TLS-Verschlüsselung. Wenn Sie die Einstellung nie gesetzt haben, wird sie automatisch eingeschaltet, sobald eine Server-CA-Kette oder ein Client-Zertifikat gespeichert ist. | Yes / No · Standard No |
| Verify server cert | Yes prüft das Zertifikat des Brokers anhand der Server CA chain (oder anhand der integrierten vertrauenswürdigen Zertifizierungsstellen des Controllers, wenn keine Kette hochgeladen wurde). No akzeptiert jedes Zertifikat: Die Verbindung ist verschlüsselt, aber der Controller prüft nicht, mit wem er spricht. Wird nur bei Use SSL = Yes verwendet. | Yes / No · Standard No |
| Server CA chain (PEM format) | Zertifikat (Kette) der Zertifizierungsstelle, die das Zertifikat des Brokers signiert hat. Klicken Sie auf Choose File und wählen Sie eine PEM-Datei. Sobald sie gespeichert ist, zeigt das Feld stattdessen eine Schaltfläche Download. | PEM-Datei |
| Client public certificate (PEM format) | Das eigene Client-Zertifikat des Controllers für Broker, die Clients per Zertifikat authentifizieren (Mutual TLS). Benötigt den passenden privaten Schlüssel. | PEM-Datei |
| Client private key (PEM format) | Privater Schlüssel des Client-Zertifikats. | PEM-Datei |
Der private Client-Schlüssel und das Broker-Passwort geben Zugriff auf Ihren Broker. Bewahren Sie die Dateien sicher auf, versenden Sie sie nicht per E-Mail und lassen Sie keine Kopien auf gemeinsam genutzten Computern liegen. Jeder, der Zugriff auf diese Seite des Configurator hat, kann die gespeicherten Zertifikate herunterladen und das Passwort sehen.
Ein gespeichertes Zertifikat zeigt nur eine Schaltfläche Download. Um ein anderes hochzuladen, klicken Sie auf Clear connection configuration und geben dann die gesamte Verbindung mit den neuen Dateien erneut ein.
Additional topics
| Parameter | Funktion | Einheit / Standard |
|---|---|---|
| Name or path | Zu veröffentlichendes Topic, relativ zu controllers/<Unit ID>/. Zum Beispiel wird site/name als controllers/<Unit ID>/site/name veröffentlicht. Zeilen mit leerem Namen werden übersprungen. |
Text |
| Payload | Fester Text, der auf diesem Topic veröffentlicht wird. | Text |
| Add | Fügt eine leere Zeile hinzu. | — |
| Papierkorb-Symbol | Entfernt die Zeile. Wird nach Save wirksam. | — |
Zusätzliche Topics werden zusammen mit den Metadaten des Controllers veröffentlicht: jedes Mal, wenn sich der Connector mit dem Broker verbindet, und jedes Mal, wenn der Broker commands/refresh sendet.
Veröffentlichung und Schaltflächen
| Parameter | Funktion | Einheit / Standard |
|---|---|---|
| Readout interval | Wie oft der Controller den Messwert und den Sollwert jedes Geräts sowie den Messwert, den Zustand und die Parameterwerte jeder Strategie veröffentlicht. Kleinere Werte liefern aktuellere Daten, aber mehr Datenverkehr. | s · leer = 60 s · Minimum 0,25 s |
| Speichern | Speichert die Einstellungen und startet den Connector neu. Wird im Audit log als CONNECTOR_EDIT protokolliert. |
— |
| Clear connection configuration | Löscht nach der Bestätigung Are you sure to clear MQTT settings? (Yes / Cancel) Host, Port, Benutzername, Passwort, die SSL-Einstellungen und alle Zertifikate. Der Connector schaltet sich aus. Readout interval und Additional topics bleiben erhalten. | — |
Nach Clear connection configuration veröffentlicht der Controller keine Daten mehr und nimmt keine Befehle mehr über MQTT an. Ein System, das auf die Daten angewiesen ist oder Zeitpläne des externen EMS sendet, empfängt oder liefert sie nicht mehr. Um die Verbindung wiederherzustellen, müssen Sie das Passwort erneut eingeben und die Zertifikate erneut hochladen.
3 Topics
Alle Topics beginnen mit controllers/<Unit ID>/. Der Controller veröffentlicht mit QoS 0 und ohne Retain-Flag und abonniert Befehls-Topics mit QoS 1. Die Payloads sind JSON oder einfache Werte; die vollständigen Payload-Formate stehen im Help-Center-Artikel „Reduxi Controller - MQTT API“.
Vom Controller veröffentlicht:
| Topic | Inhalt | Wann |
|---|---|---|
identifier |
Identifikation des Controllers (Unit ID, Versionen, …) | Beim Verbinden und bei commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Aktuelle Intervalle in ms | Beim Verbinden und bei Refresh |
devices/list, devices/types, devices/<id>/info
|
Konfigurierte Geräte und ihre Typen | Beim Verbinden und bei Refresh |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Konfigurierte Strategien und ihre Parameter | Beim Verbinden und bei Refresh |
<additional topic> |
Payload aus Additional topics | Beim Verbinden und bei Refresh |
devices/<id>/readout |
Live-Werte eines Geräts | Bei jedem Ausleseintervall |
devices/<id>/setpoint |
Aktueller Sollwert eines Geräts | Bei jedem Ausleseintervall |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Strategie ein/aus, Live-Werte, Parameterwerte | Bei jedem Ausleseintervall |
prices |
Strompreise für heute und morgen | Beim Verbinden, bei Preisänderungen und bei prices/refresh
|
strategies/<id>/externalEMS/<type> |
Gespeicherter Zeitplan des externen EMS (battery, evse, hvac, pv) |
Bei …/externalEMS/<type>/refresh
|
keepAlive |
Aktuelle Zeit (Unix-ms) | Bei jedem Keep-alive-Intervall, Standard 60 s |
Befehle, die der Controller annimmt:
| Topic | Wirkung |
|---|---|
commands/refresh |
Veröffentlicht die Metadaten-Topics erneut. |
commands/reboot |
Startet den Controller etwa 5 s später neu. |
prices/refresh |
Veröffentlicht prices erneut. |
settings/interval/readout/set |
Ändert das Ausleseintervall (ms) und speichert es. |
settings/interval/keepAlive/set |
Ändert das Keep-alive-Intervall (ms) und speichert es. |
devices/<id>/setpoint/set |
Setzt den Sollwert eines Geräts. |
strategies/<id>/parameters/<id>/value/set |
Setzt einen Strategieparameter. |
strategies/<id>/active/set |
Schaltet eine Strategie ein oder aus. |
strategies/<id>/externalEMS/<type>/set |
Lädt einen Zeitplan des externen EMS für battery, evse, hvac oder pv. Wird ignoriert, wenn die Strategie keinen Optimierungsmodus External EMS hat. |
strategies/<id>/externalEMS/<type>/refresh |
Veröffentlicht den gespeicherten Zeitplan des externen EMS. |
settings/grid/set |
Ändert die Netzeinstellungen (Standort, Sicherungen, Bezugs- und Einspeisegrenze), auf Wunsch auch in ausgewählten Strategien. |
settings/grid/set überschreibt die Werte unter Settings → Grid und, falls angefordert, die Grenzwerte der Strategien – mit derselben Wirkung wie das Speichern der Seite Grid settings. devices/<id>/setpoint/set schreibt den Sollwert direkt in das Gerät. Senden Sie keine Sollwerte für ein Gerät, das auch von einer Strategie gesteuert wird, sonst überschreiben sich beide gegenseitig.
4 Fehlerbehebung
| Symptom | Was zu prüfen ist |
|---|---|
| Connected bleibt rot | Host und Port sind richtig; der Controller erreicht den Broker (TCP port test auf Host und Port des Brokers); Benutzername und Passwort; bei TLS passt die CA-Kette zum Zertifikat des Brokers, oder versuchen Sie Verify server cert = No, um das Problem einzugrenzen. |
| Verbunden, aber keine Daten auf dem Broker | Abonnieren Sie controllers/# und prüfen Sie den Wert Client: Die Topics verwenden die Unit ID genau so, wie sie dort angezeigt wird. |
| Befehle haben keine Wirkung | Der Client, der sie sendet, hat Veröffentlichungsrechte auf dem Broker; das Topic verwendet die richtige Geräte- oder Strategie-ID (siehe devices/list, strategies/list). |
5 Checkliste
- Host und Port stimmen mit dem Broker überein, und Connected zeigt nach dem Aktualisieren ein grünes Häkchen.
- Auf Produktivstandorten: Use SSL = Yes, die CA-Kette ist hochgeladen und Verify server cert = Yes.
- Die Daten kommen unter
controllers/<Unit ID>/im eingestellten Readout interval an. - Der Schreibzugriff auf die Befehls-Topics ist auf dem Broker auf vertrauenswürdige Clients beschränkt.
- Zertifikatsdateien und Passwörter werden sicher außerhalb des Controllers aufbewahrt.