OpenWB API

KevinW
Site Admin
Beiträge: 1275
Registriert: So Okt 07, 2018 1:50 pm

OpenWB API

Beitrag von KevinW » Di Feb 19, 2019 5:30 pm

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

Zement
Beiträge: 9
Registriert: Di Jan 29, 2019 9:31 am

Re: OpenWB API

Beitrag von Zement » So Apr 07, 2019 11:24 am

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.

KevinW
Site Admin
Beiträge: 1275
Registriert: So Okt 07, 2018 1:50 pm

Re: OpenWB API

Beitrag von KevinW » So Apr 07, 2019 2:02 pm

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.

Zement
Beiträge: 9
Registriert: Di Jan 29, 2019 9:31 am

Re: OpenWB API

Beitrag von Zement » So Apr 07, 2019 3:20 pm

snaptec hat geschrieben:
So Apr 07, 2019 2:02 pm
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.
Finde ich sinnvoll. Klar könne man die Berechnung im Homeserver machen, aber wenn es die openWB selber bereitstellt ist es vollständig.

KevinW
Site Admin
Beiträge: 1275
Registriert: So Okt 07, 2018 1:50 pm

Re: OpenWB API

Beitrag von KevinW » Mo Apr 08, 2019 3:10 pm

In Beta 1.39 drinnen

Zement
Beiträge: 9
Registriert: Di Jan 29, 2019 9:31 am

Re: OpenWB API

Beitrag von Zement » Sa Apr 20, 2019 7:17 am

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.

KevinW
Site Admin
Beiträge: 1275
Registriert: So Okt 07, 2018 1:50 pm

Re: OpenWB API

Beitrag von KevinW » Sa Apr 20, 2019 7:31 am

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?

Zement
Beiträge: 9
Registriert: Di Jan 29, 2019 9:31 am

Re: OpenWB API

Beitrag von Zement » Sa Apr 20, 2019 8:00 am

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.

c2j2
Beiträge: 9
Registriert: Di Jun 11, 2019 4:24 pm

Re: OpenWB API

Beitrag von c2j2 » 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

- 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?

KevinW
Site Admin
Beiträge: 1275
Registriert: So Okt 07, 2018 1:50 pm

Re: OpenWB API

Beitrag von KevinW » Mi Jun 12, 2019 5:09 am

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

Antworten