MQTT in der App für Status-Infos und zum steuern
Verfasst: 22.Okt 2025, 06:52
Wichtig: Die App muss aktiv sein, um die MQTT-Befehle zu empfangen, daher muss mindestens das „Ladejournal“ aktiv sein, der Überschussmodus aktiv oder das Gerät muss ein Fernbedienungsserver sein, damit der Hintergrunddienst ausgeführt wird.
Außerdem muss in der App ein MQTT-Publisher eingerichtet sein (Einstellungen > [Optionen] > Erweitert > MQTT-Publisher).
Die MQTT-Client-ID (root topic) lautet „wallbox_control“.
--------------------
Außerdem muss in der App ein MQTT-Publisher eingerichtet sein (Einstellungen > [Optionen] > Erweitert > MQTT-Publisher).
Die MQTT-Client-ID (root topic) lautet „wallbox_control“.
--------------------
- Status-Infos (werden nur vom Fernsteuer-Server geliefert!)
Folgende Zweige gibt es:- „service” Informationen der App selbst
- „running” Zustand des App-Diensts (true=running, false=stopped: keine Daten-Updates, ...)
- „cars” Liste der Autos mit ihren bekannten Zuständen
"current" ist das aktuelle Auto
- „wallboxes” Liste der Wallboxen mit ihren bekannten Zuständen
"current" ist die aktuelle Wallbox
- „sources” Liste der Stromquellen (Speicher/PV/Grid/...) mit ihren bekannten Zuständen
- „service” Informationen der App selbst
- Steuerung
Das Thema zum Steuern lautet „wallbox_control/command“, der Befehl ist im JSON-Format.
Das Senden eines Befehls erfolgt also wie folgt (hier: FHEM „set <broker> publish wallbox_control/command <payload>”):
<Befehl> kann sein:Code: Alles auswählen
set myMQTT2Broker publish wallbox_control/command { „cmd”: <Befehl>, „param”: { „mode”: „manual”, „active”: true, „current”: 9, „energy”: 8 }}- "dumpStates": veröffentlicht alle momentanen MQTT-Zustände (Initialisierung - der Dienst macht das auch am Start)
- "controlmode": Modus einstellen (manuell oder PV-Überschuss)
„controlmode” unterscheidet die Betriebsmodi (dazu kommen ihre Parameter):
- „auto” Überschuss-Modus einstellen, kann optional mit Argumenten im folgenden Format übergeben werden:
– „active” ist ein boolescher Wert, aktiviert/beendet die Überschussregelung, standardmäßig false,
Code: Alles auswählen
{ „controlmode”: „auto”, „active”: true, „energy”: 5.5 }
– „energy” in kWh, standardmäßig 0 (unbegrenzt). - „manual” manuellen Modus einstellen, kann optional im folgenden Format übergeben werden:
– „active” ist ein boolescher Wert, startet oder stoppt den Ladeprozess
Code: Alles auswählen
{ „controlmode”: „manual”, „active”: true, „current”: 10, „energy”: 5 }
- „auto” Überschuss-Modus einstellen, kann optional mit Argumenten im folgenden Format übergeben werden:
- "smarttariffmode": (erst ab Build 1990)
„<mode>” kann einer der folgenden Werte sein:
Code: Alles auswählen
{ „cmd”: „smarttariffmode”, „param”: { „mode”: <mode>}}- 0: PV_ONLY
- 1: PV_AND_SMART
- 2: SMART_ONLY
- "chargelimit": (erst ab Build 1990)
„<mode>” kann einer der folgenden Werte sein:
Code: Alles auswählen
{ „cmd”: „chargelimit”, „param”: { „mode”: <mode>[, "soc": <soc(%)>][, "energy", <energy(kWh)>]}}- "pv": das "übliche" Ladelimit
- "manual": das Ladelimit für den manuellen Modus
- "smarttariff": das Ladelimit im Smart-Tarif-Modus
- "chargeminSoc": (erst ab Build 1990)
Logischerweise nur für Autos, deren SoC abgefragt werden kann.
Code: Alles auswählen
{ „cmd”: „chargeminSoc”, „param”: { „soc”: <soc(%)>}} - "car": (erst ab Build 1990)
Die Datenbank-ID (GUID) wird bei dem Auto in der Auto-Datenbank angezeigt.
Code: Alles auswählen
{ „cmd”: „car”, „param”: { „id”: <Datenbank-ID>}} - "wallbox": (erst ab Build 1990)
Die Datenbank-ID (GUID) wird bei der Wallbox in der Wallbox-Datenbank angezeigt.
Code: Alles auswählen
{ „cmd”: „wallbox”, „param”: { „id”: <Datenbank-ID>}}
Achtung: wenn die Wallbox ein verknüpftes Auto hat, wird dieses automatisch mit gesetzt