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:
- "energySourceActive":
"<mode>" kann einer der folgenden Werte sein:
Code: Alles auswählen
{ "cmd": "energySourceActive", "param": { "mode": <mode>}}- 0: PV_ONLY
- 1: PV_AND_SMART
- 2: SMART_ONLY
- "chargelimit":
"<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":
Logischerweise nur für Autos, deren SoC abgefragt werden kann.
Code: Alles auswählen
{ "cmd": "chargeminSoc", "param": { "soc": <soc(%)>}} - "car":
Die Datenbank-ID (GUID) wird bei dem Auto in der Auto-Datenbank angezeigt.
Code: Alles auswählen
{ "cmd": "car", "param": { "id": <Datenbank-ID>}} - "wallbox":
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 - "autoactivateAutoMode":
Der Wert kann sein:
Code: Alles auswählen
{ "cmd": "autoactivateAutoMode", "param": { "mode": <Wert>}}- 0 (keine Autoactivate)
- 1 (nach Abhängen)
- 2 (morgens um 6 Uhr)