Sie befinden sich hier: start » openwb » 2.1.9 » simpleapi

simpleAPI

simpleAPI **für MQTT**

Dieser Dienst ist dafür gedacht, komplexe MQTT-Topic-Strukturen in eine vereinfachte API umzuwandeln. Der Dienst greift openWB/* Topics auf und republiziert diese unter openWB/simpleAPI/* mit aufgeteilten JSON/Tuple-Werten und ID-Vereinfachung.

Features

  • Wert-Änderungserkennung: Publiziert nur wenn sich Werte tatsächlich ändern
  • JSON/Tuple-Aufspaltung: Zerlegt komplexe Datenstrukturen in einzelne Topics
  • ID-Vereinfachung: Niedrigste IDs werden auch ohne ID-Suffix verfügbar gemacht
  • Retained Messages: Alle Nachrichten werden mit retain=true publiziert
  • Robuste Verbindung: Automatische Wiederverbindung bei Verbindungsabbruch
  • Konfigurationsdatei: Unterstützung für JSON-Konfigurationsdateien
  • TLS/SSL Support: Optional verschlüsselte Verbindungen
  • Detailliertes Logging: Konfigurierbare Log-Level
  • Schreiboperationen: Vereinfachte Steuerung von Ladeparametern

Installation

Ist Teil der standard openWB Installation ab 2.1.9

Topic-Transformation (Lesezugriff)

Basis-Transformation

Originale Topics werden von openWB/ zu openWB/simpleAPI/ transformiert.

JSON-Aufspaltung

Original: openWB/chargepoint/template/0 {"id": 0, "name": "Test", "max_current": 32}
Wird zu:
- openWB/simpleAPI/chargepoint/template/0/id → 0
- openWB/simpleAPI/chargepoint/template/0/name → Test  
- openWB/simpleAPI/chargepoint/template/0/max_current → 32

Tuple/Array-Aufspaltung (1-basiert)

Original: openWB/counter/3/get/voltages [232.4, 0.0, 0.0]
Wird zu:
- openWB/simpleAPI/counter/3/get/voltages/1 → 232.4
- openWB/simpleAPI/counter/3/get/voltages/2 → 0.0
- openWB/simpleAPI/counter/3/get/voltages/3 → 0.0

Lademodus auslesen

openWB/simpleAPI/chargepoint/get/connected_vehicle/config/chargemode

Der Lademodus ist zugehörig zum Fahrzeug und dessen Profil. Daher befindet er sich in einem untergeordneten Topic und nicht auf höchster Ebene im Ladeunkt.

ID-Vereinfachung

Die niedrigste ID jeder Komponente wird auch ohne ID verfügbar gemacht:

Original: openWB/counter/0/get/power 1042.4
Wenn 0 die niedrigste counter-ID ist:
- openWB/simpleAPI/counter/0/get/power → 1042.4
- openWB/simpleAPI/counter/get/power → 1042.4

Schreiboperationen (Set-Topics)

1. Lademodus setzen

Beschreibung: Lademodus am Ladepunkt ändern

Topic: openWB/simpleAPI/set/chargepoint/3/chargemode oder openWB/simpleAPI/set/chargepoint/chargemode (niedrigste ID)

Gültige Werte: instant, pv, eco, stop, target

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/chargemode" -m "pv"

2. Ladestrom für Sofortladen

Beschreibung: Ladestrom für das Sofort laden

Topic: openWB/simpleAPI/set/chargepoint/3/chargecurrent

Wert: Stromstärke in Ampere (z.B. „16“)

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/chargecurrent" -m "16"

3. Minimaler EV SoC im PV Laden

Beschreibung: Minimaler EV SoC im PV Laden

Topic: openWB/simpleAPI/set/chargepoint/3/minimal_pv_soc

Wert: SoC in Prozent (z.B. „20“)

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/minimal_pv_soc" -m "20"

4. Minimaler Dauerstrom für PV Laden

Beschreibung: Minimaler Dauerstrom für das PV Laden

Topic: openWB/simpleAPI/set/chargepoint/3/minimal_permanent_current

Wert: Stromstärke in Ampere (z.B. „6“)

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/minimal_permanent_current" -m "6"

5. Maximaler Preis für ECO Laden

Beschreibung: Maximaler Preis für das ECO Laden

Topic: openWB/simpleAPI/set/chargepoint/3/max_price_eco

Wert: Preis als Dezimalzahl (z.B. „0.25“)

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/max_price_eco" -m "0.25"

6. Ladepunkt sperren

Beschreibung: Sperrt den Ladepunkt

Topic: openWB/simpleAPI/set/chargepoint/3/chargepoint_lock

Werte: true/false

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/chargepoint/3/chargepoint_lock" -m "true"

7. Speicherbeachtung konfigurieren

Beschreibung: Konfiguriert die Speicherbeachtung

Topic: openWB/simpleAPI/set/bat_mode

Gültige Werte: min_soc_bat_mode, ev_mode, bat_mode

Beispiel:

mosquitto_pub -t "openWB/simpleAPI/set/bat_mode" -m "ev_mode"

Intelligente Features

  • Automatisches ID-Management: Wenn keine ID angegeben wird, wird die niedrigste verfügbare ID verwendet
  • JSON-Template-Caching: Charge-Templates werden automatisch zwischengespeichert
  • Werte-Mapping: Einfache Werte werden zu internen openWB-Werten gemappt
  • Fehlerbehandlung: Ungültige Werte werden abgefangen und geloggt
  • Logging: Alle Schreiboperationen werden ausführlich geloggt

Überwachte Komponenten

Der Daemon überwacht folgende openWB-Komponenten:

  • bat: Batteriespeicher (Leistung, SoC, Import/Export)
  • pv: Photovoltaik-Anlagen (Leistung, Ertrag)
  • chargepoint: Ladepunkte (Status, Konfiguration, Messwerte)
  • counter: Energiezähler (Leistung, Verbrauch, Netzwerte)

openWB simpleAPI **HTTP**

Features

  • 51+ Parameter - Umfassende Unterstützung für Chargepoint, Counter, Battery und PV
  • Auto-ID Feature - Automatische Auswahl der niedrigsten verfügbaren ID
  • Template-basierte Settings - Erweiterte openWB-Template-Manipulation
  • Raw & JSON Output - Flexible Ausgabeformate
  • GET & POST Support - Beide HTTP-Methoden unterstützt

Verwendung

Lesende Anfragen

Alle Daten eines Ladepunkts:

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all=3"

Auto-ID Feature - niedrigste verfügbare ID:

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all=auto"
# oder ohne Angabe einer ID:
curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all="

Spannung Phase 1 (Raw-Ausgabe):

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_voltage_p1=3&raw=true"

Batterie-Daten:

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?battery=2"

Kombination mehrerer Werte:

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all=3&battery=2"

Schreibende Anfragen

Lademodus ändern:

curl -X POST -d "set_chargemode=pv&chargepoint_nr=3" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Auto-ID Feature beim Schreiben:

# Schreibt an den Ladepunkt mit der niedrigsten ID
curl -X POST -d "set_chargemode=pv" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Ladestrom setzen:

curl -X POST -d "chargecurrent=8.23&chargepoint_nr=3" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Batterie-Modus setzen:

curl -X POST -d "bat_mode=min_soc_bat_mode" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Alle verfügbaren Parameter

Chargepoint (Ladepunkt) Parameter

Parameter Beschreibung Beispiel
get_chargepoint_all Alle Daten ?get_chargepoint_all=2
get_chargepoint_voltages Alle Spannungen ?get_chargepoint_voltages=2
get_chargepoint_voltage_p1/p2/p3 Spannung einzelne Phase ?get_chargepoint_voltage_p1=2
get_chargepoint_currents Alle Ströme ?get_chargepoint_currents=2
get_chargepoint_current_p1/p2/p3 Strom einzelne Phase ?get_chargepoint_current_p1=2
get_chargepoint_powers Alle Leistungen ?get_chargepoint_powers=2
get_chargepoint_power Gesamtleistung ?get_chargepoint_power=2
get_chargepoint_imported Gesamtenergie geladen ?get_chargepoint_imported=2
get_chargepoint_exported Gesamtenergie zurückgespeist ?get_chargepoint_exported=2
get_chargepoint_soc Batteriestand (%) ?get_chargepoint_soc=2
get_chargepoint_state_str Status-Text ?get_chargepoint_state_str=2
get_chargepoint_fault_str Fehler-Text ?get_chargepoint_fault_str=2
get_chargepoint_fault_state Fehler-Code ?get_chargepoint_fault_state=2
get_chargepoint_phases_in_use Verwendete Phasen ?get_chargepoint_phases_in_use=2
get_chargepoint_plug_state Stecker angeschlossen ?get_chargepoint_plug_state=2
get_chargepoint_charge_state Ladevorgang aktiv ?get_chargepoint_charge_state=2
get_chargepoint_chargemode Lademodus ?get_chargepoint_chargemode=2

Counter (Zähler) Parameter

Parameter Beschreibung Beispiel
get_counter Alle Zähler-Daten ?get_counter=0
get_counter_voltages Alle Spannungen ?get_counter_voltages=0
get_counter_voltage_p1/p2/p3 Spannung einzelne Phase ?get_counter_voltage_p1=0
get_counter_currents Alle Ströme ?get_counter_currents=0
get_counter_current_p1/p2/p3 Strom einzelne Phase ?get_counter_current_p1=0
get_counter_powers Alle Leistungen ?get_counter_powers=0
get_counter_power Gesamtleistung ?get_counter_power=0
get_counter_power_factors Leistungsfaktoren ?get_counter_power_factors=0
get_counter_imported Gesamtenergie bezogen ?get_counter_imported=0
get_counter_exported Gesamtenergie eingespeist ?get_counter_exported=0
get_counter_daily_imported Tagesenergie bezogen ?get_counter_daily_imported=0
get_counter_daily_exported Tagesenergie eingespeist ?get_counter_daily_exported=0
get_counter_frequency Netzfrequenz ?get_counter_frequency=0
get_counter_fault_str Fehler-Text ?get_counter_fault_str=0
get_counter_fault_state Fehler-Code ?get_counter_fault_state=0

Battery (Batterie) Parameter

Parameter Beschreibung Beispiel
battery Alle Batterie-Daten ?battery=2
get_battery_power Batterie-Leistung ?get_battery_power=2
get_battery_soc Batterie-Ladestand ?get_battery_soc=2
get_battery_currents Batterie-Ströme ?get_battery_currents=2
get_battery_imported Batterie geladen ?get_battery_imported=2
get_battery_exported Batterie entladen ?get_battery_exported=2
get_battery_daily_imported Tagesenergie geladen ?get_battery_daily_imported=2
get_battery_daily_exported Tagesenergie entladen ?get_battery_daily_exported=2
get_battery_fault_str Fehler-Text ?get_battery_fault_str=2
get_battery_fault_state Fehler-Code ?get_battery_fault_state=2

PV (Photovoltaik) Parameter

Parameter Beschreibung Beispiel
pv Alle PV-Daten ?pv=5
get_pv_power PV-Leistung ?get_pv_power=5
get_pv_currents PV-Ströme ?get_pv_currents=5
get_pv_exported PV-Gesamtertrag ?get_pv_exported=5
get_pv_daily_exported PV-Tagesertrag ?get_pv_daily_exported=5
get_pv_monthly_exported PV-Monatsertrag ?get_pv_monthly_exported=5
get_pv_yearly_exported PV-Jahresertrag ?get_pv_yearly_exported=5
get_pv_fault_str Fehler-Text ?get_pv_fault_str=5
get_pv_fault_state Fehler-Code ?get_pv_fault_state=5

Schreibbare Parameter

Parameter Werte Beschreibung
set_chargemode instant, pv, eco, stop, target Lademodus setzen
chargecurrent 0, 6-32 Ladestrom in Ampere
minimal_pv_soc 0-100 Min. SoC für PV-Laden
minimal_permanent_current 0, 6-32 Min. Dauerstrom für PV
max_price_eco -100 bis 200 Max. Preis für ECO-Laden
chargepoint_lock 0, 1 Ladepunkt sperren
bat_mode min_soc_bat_mode, ev_mode, bat_mode Batterie-Modus

Auto-ID Feature

Das Auto-ID Feature ist eine Erweiterung der openWB SimpleAPI. Wenn keine ID angegeben wird oder auto verwendet wird, wird automatisch die niedrigste verfügbare ID verwendet:

# Diese Aufrufe sind equivalent:
curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all="
curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all=auto"
 
# Findet automatisch den Ladepunkt mit der niedrigsten ID
curl -X POST -d "chargemode=pv" "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Authentifizierung

Mit Bearer Token

curl -H "Authorization: Bearer your-token" \
     -X POST -d "chargemode=pv&chargepoint_nr=3" \
     "https://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Mit Username/Passwort

curl -X POST \
     -d "username=admin" \
     -d "password=admin123" \
     -d "chargemode=pv" \
     -d "chargepoint_nr=3" \
     "https://IPADRESSE/openWB/simpleAPI/simpleapi.php"

Ausgabeformate

JSON-Format (Standard)

{
  "chargepoint_3": {
    "power": 0,
    "voltages": [237.79, 0, 0],
    "currents": [0, 0, 0],
    "state_str": "Nicht bereit"
  }
}

Raw-Format

Für Kompatibilität mit der originalen SimpleAPI kann das Raw-Format verwendet werden:

curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_power=3&raw=true"
# Ausgabe: 0

Beispiele

Vollständiges Monitoring-Dashboard

# Alle wichtigen Werte in einem Aufruf
curl "http://IPADRESSE/openWB/simpleAPI/simpleapi.php?get_chargepoint_all=auto&battery=auto&pv=auto&get_counter=0"

Ladevorgang steuern

# PV-Laden aktivieren
curl -X POST -d "set_chargemode=pv&chargepoint_nr=auto" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"
 
# Ladestrom auf 16A setzen
curl -X POST -d "chargecurrent=16&chargepoint_nr=auto" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"
 
# Batterie-Modus auf EV-Mode setzen
curl -X POST -d "bat_mode=ev_mode" \
     "http://IPADRESSE/openWB/simpleAPI/simpleapi.php"
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
Diese Seite bearbeiten
Nach oben