da das abfragen der openWB Dank Baxxy und Tyfys so gut geklappt hat, hatte ich mich auch an die APIv1 des Go-E gewagt.
Aus der API (v1):
car uint8_t StatusPWM Signalisierung
0: unbekannt (fuer HM WerteListe)
1: Ladestation bereit, kein Fahrzeug
2: Fahrzeug lädt
3: Warte auf Fahrzeug
4: Ladung beendet, Fahrzeug noch verbunden
tme String Aktuelle Uhrzeit, formatiert als ddmmyyhhmm
0104191236 entspricht to 01.04.2019 12:36
Vorbereitung (CuXD und Variablen anlegen)
Wallbox Timestamp Zeichenkette Datum im Json:tme
Wallbox Status Werteliste unbekannt;bereit kein Auto;Auto lädt;warte auf Auto;beendet Auto verbunden im Json:car
--> unbekannt braucht man als Platzhalter
zum abfrage Script:
Code: Alles auswählen
! Abfrage des Go-E mit CUxD und Antwort in string schreiben
var url ="http://IP-Deines-GO-E/status";
dom.GetObject("CUxD.CUX2801001:5.CMD_SETS").State("wget --no-check-certificate -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:5.CMD_QUERY_RET").State(1);
string goe_xml = dom.GetObject("CUxD.CUX2801001:5.CMD_RETS").State();
! Schlüsselwoerter im String finden und Daten in Systemvariablen schreiben
! Position plus 3 stellen plus 10 Stellen wert
string word = "tme";
integer word_laenge = word.Length();
integer word_position = goe_xml.Find(word);
string daten = goe_xml.Substr((word_position + word_laenge +3), 10);
string tt = daten.Substr(0,2);
string mm = daten.Substr(2,2);
string jj = "20"#daten.Substr(4,2);
string HH = daten.Substr(6,2);
string MM = daten.Substr(8,2);
string zeit = tt#"."#mm#"."#jj#" "#HH#":"#MM;
dom.GetObject("Wallbox Timestamp").State(zeit);
string word = "car";
integer word_laenge = word.Length();
integer word_position = goe_xml.Find(word);
string daten = goe_xml.Substr((word_position + word_laenge +3), 1);
integer zahl=daten.ToInteger();
dom.GetObject("Wallbox Status").State(zahl);
Vielen Dank allen nochmals
N