Seite 1 von 7

OpenWB API

Verfasst: Di Feb 19, 2019 5:30 pm
von openWB
Mit der Beta 1.22 hat sich die API erweitert.

Als Hilfe und Einstieg zum weiterverarbeiten der Daten erläutere ich diese mal.

Die Abfrage erfolgt per HTTP Requests.
Rückgabewerte sind in JSON.

Daten Abfragen:
(Werte Beispielhaft)
curl http://IPOPENWB/openWB/web/api.php?get=all

Code: Alles auswählen

{
  "date": "2019:02:19-18:10:44", # aktuelles datum
  "lademodus": "2", # lademodus (0 Sofort, 1 Min+PV, 2 NurPV, 3 Standby, 4 Stop)
  "minimalstromstaerke": "6", # konfigurierte Minimalstromstärke
  "maximalstromstaerke": "32", # konfigurierte Maximalstromstärke
  "llsoll": "0", # Soll Ladestromvorgabe
  "restzeitlp1": "5 Min", 
  "restzeitlp2": "1 H 30 Min",
  "restzeitlp3": "--",
  "gelkwhlp1": "0", # im aktuellen Ladevorgang
  "gelkwhlp2": "0", # im aktuellen Ladevorgang
  "gelkwhlp3": "0", # im aktuellen Ladevorgang
  "gelrlp1": "3", # im aktuellen Ladevorgang geladene km
  "gelrlp2": "50", # im aktuellen Ladevorgang geladene km
  "gelrlp3": "0", # im aktuellen Ladevorgang geladene km
  "llgesamt": "0", # Ladeleistung aller Ladepunkte summiert
  "evua1": "2.5657", # Ampere Bezug am EVU
  "evua2": "2.6333", # Ampere Bezug am EVU
  "evua3": "5.0019", # Ampere Bezug am EVU
  "lllp1": "1315",# Ladeleistung
  "lllp2": "0",# Ladeleistung
  "lllp3": "0",# Ladeleistung
  "evuw": "-9",# Bezug/Überschuss am EVU
  "pvw": "21",# PV Leistung
  "evuv1": "231", #Volt am EVU
  "evuv2": "232", #Volt am EVU
  "evuv3": "229", #Volt am EVU
  "ladestatusLP1": "1", # ob geladen wird aktuell
  "ladestatusLP2": "1", # ob geladen wird aktuell
  "ladestatusLP3": "0", # ob geladen wird aktuell
  "zielladungaktiv": "0", #ob Zielladen aktiv
  "lla1LP1": "6", #Ampere 
  "lla2LP1": "0", #Ampere 
  "lla3LP1": "0", #Ampere 
  "lla1LP2": "10", #Ampere 
  "lla2LP2": "0.000", #Ampere 
  "lla3LP2": "0.000", #Ampere 
  "llkwhLP1": "665.43", #Zäherstand am Ladepunktzähler
  "llkwhLP2": "269.233", #Zäherstand am Ladepunktzähler
  "llkwhLP3": "358.23", #Zäherstand am Ladepunktzähler
  "evubezugWh": "1968573", #Zäherstand Bezug in Wh
  "evueinspeisungWh": "10021315", #Zäherstand Einspeisung in Wh
  "pvWh": "425299.8047", #Zählerstand PV in Wh
  "speichersoc": "40.8",# SoC des Speichers in %
  "socLP1": "66", # SoC des EV in %
  "socLP2": "63", # SoC des EV in %
  "speicherleistung": "-1302" #Lade / Entladeleistung des Speichers
}
Werte senden:
Lademodus ändern:

Code: Alles auswählen

curl http://IPOPENWB/openWB/web/api.php?lademodus=jetzt
mögliche Werte:
jetzt, minundpv, pvuberschuss, stop, standby

Stromstärke ändern:

Code: Alles auswählen

curl http://IPOPENWB/openWB/web/api.php?sofortlllp1=15

Code: Alles auswählen

curl http://IPOPENWB/openWB/web/api.php?sofortlllp2=13

Code: Alles auswählen

curl http://IPOPENWB/openWB/web/api.php?sofortlllp3=19
mögliche Werte:
innerhalb von minimal und maximalstromstärke

Anregungen, Erweiterungswünsche willkommen :)

Grüße

Re: OpenWB API

Verfasst: So Apr 07, 2019 11:24 am
von Zement
Ich nutze die API um mir im Homeserver den aktuellen Zustand der openWB anzuzeigen.
Nun habe ich ein Problem entdeckt:

Code: Alles auswählen

  "ladestatusLP1": "1", # ob geladen wird aktuell
Dieser Wert ist auch 1, wenn das Auto voll geladen ist und nicht mehr geladen wird.
Aktuell habe ich eine Ladeleistung an LP1 von 0 Watt, trotzdem zeigt mir die API an, dass das Auto geladen wird, da ladestatusLP1 noch auf 1 steht.
Soll das so sein? Dann müsste ich die Logik im Homeserver umschreiben.
Meiner Meinung nach macht es Sinn, dass "ladestatusLP1" auf 0 springt, sobald kein Strom mehr fließt.

Re: OpenWB API

Verfasst: So Apr 07, 2019 2:02 pm
von openWB
Der Status 1 besagt das geladen werden kann bzw der Ladepunkt aktiv ist (...überschuss vorhanden), nicht aber unbedingt das auch geladen wird.
Hier könnte ich in die API noch eine zweite Variable setzen die schlicht prüft ob Ladeleistung > 100 Watt und dann dafür eine 1 ausgeben.

Re: OpenWB API

Verfasst: So Apr 07, 2019 3:20 pm
von Zement
snaptec hat geschrieben: So Apr 07, 2019 2:02 pmHier könnte ich in die API noch eine zweite Variable setzen die schlicht prüft ob Ladeleistung > 100 Watt und dann dafür eine 1 ausgeben.
Finde ich sinnvoll. Klar könne man die Berechnung im Homeserver machen, aber wenn es die openWB selber bereitstellt ist es vollständig.

Re: OpenWB API

Verfasst: Mo Apr 08, 2019 3:10 pm
von openWB
In Beta 1.39 drinnen

Re: OpenWB API

Verfasst: Sa Apr 20, 2019 7:17 am
von Zement

Code: Alles auswählen

"ladungaktivLP1":"","ladungaktivLP2":"","ladungaktivLP3":""
Sehr gut, API zeigt nun, ob ein Ladevorgang aktiv ist.
Allerdings wäre es gut, bei nicht aktiv eine "0" zu übergeben, aktuell wird ein leerer String übergeben.
Danke.

Re: OpenWB API

Verfasst: Sa Apr 20, 2019 7:31 am
von openWB
Da scheint etwas krumm zu sein.
Da sollte eine 0 drinnen stehen.

Sowohl bei meiner Entwicklungsumgebung als auch dem Test Device (herkömmlich geupdated) ist das auch der Fall.

War an LP1 schon ein Ladevorgang seit Update oder Reboot?

Re: OpenWB API

Verfasst: Sa Apr 20, 2019 8:00 am
von Zement
snaptec hat geschrieben: Sa Apr 20, 2019 7:31 am War an LP1 schon ein Ladevorgang seit Update oder Reboot?
Nein, noch keine Ladung. Ich warte mal ab, wenn es später geladen wurde, ob es dann die 0 gibt.

Re: OpenWB API

Verfasst: Di Jun 11, 2019 4:33 pm
von c2j2
Entschuldige die Frage, aber ich werde aus den Werte nicht ganz schlau.

Wie kann ich unterscheiden zwischen:

- kein Auto angeschlossen, Ladung würde aber stattfinden

ladestatusLPx == 0
llsoll != 0

- kein Auto angeschlossen, Wallbox aus

ladestatusLPx == 0
llsoll == 0

- Auto angeschlossen, Standby (z.B. Auto voll)

ladestatusLPx == 1
ladungaktivLPx == 0
llsoll != 0

- Auto angeschlossen, Ladevorgang aktiv

ladestatusLPx == 1
ladungaktivLPx == 1
llsoll != 0

- Auto angeschlossen, keine Ladung (z.B. nicht genug Ladeleistung)

ladestatusLPx == 1
ladungaktivLPx == 0
llsoll == 0

Kannst Du mir bitte weiterhelfen dabei? Stimmt das so?

Re: OpenWB API

Verfasst: Mi Jun 12, 2019 5:09 am
von openWB
c2j2 hat geschrieben: Di Jun 11, 2019 4:33 pm Entschuldige die Frage, aber ich werde aus den Werte nicht ganz schlau.

Wie kann ich unterscheiden zwischen:

- kein Auto angeschlossen, Ladung würde aber stattfinden

ladestatusLPx == 0
llsoll != 0
das wäre
ladestatusLPx == 1
lossoll >= 6
- kein Auto angeschlossen, Wallbox aus

ladestatusLPx == 0
llsoll == 0
korrekt
- Auto angeschlossen, Standby (z.B. Auto voll)

ladestatusLPx == 1
ladungaktivLPx == 0
llsoll != 0
bei standby (lademodus) ist Ladestatus 0 und llsoll auch 0
wenn auto voll aber theoretisch ladend dann Ladestatus 1 und llsoll >=6
- Auto angeschlossen, Ladevorgang aktiv

ladestatusLPx == 1
ladungaktivLPx == 1
llsoll != 0
korrekt

- Auto angeschlossen, keine Ladung (z.B. nicht genug Ladeleistung)

ladestatusLPx == 1
ladungaktivLPx == 0
llsoll == 0
immer wenn llsoll == 0 ist, ist LadestatusLPx auch 0
Kannst Du mir bitte weiterhelfen dabei? Stimmt das so?
In der aktuellen Beta wird schon angezeigt ob ein auto angeschlossen ist, das kommt in der nächsten Beta auch in die API