TapHome

go-e Gemini flex Wallbox

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
go-e Gemini flex Wallbox

A go-e Gemini flex egy osztrák gyártású EV wallbox, amely 11 kW (16 A) és 22 kW (32 A) változatban érhető el, az újabb Gemini flex 2.0 modell integrált 4G LTE modullal rendelkezik. A TapHome a helyi HTTP API v2-n keresztül kommunikál a töltővel Wi-Fi-n — felhőkapcsolat nem szükséges. Az API-t a go-e alkalmazásban kifejezetten engedélyezni kell, mielőtt a TapHome csatlakozhatna.

A sablon biztosítja a töltő állapotának monitorozását, a töltőáram és üzemmód vezérlését, a fázisváltást, fázisonkénti feszültség- és árammérést, valamint írásvédett bemeneteket külső FV- és hálózati teljesítményadatokhoz a felesleges energiával történő töltés lehetővé tételéhez.

Konfiguráció

A HTTP API engedélyezése

A helyi HTTP API v2 alapértelmezés szerint le van tiltva. Az engedélyezéséhez:

  1. Csatlakozzon a go-e Chargerhez a go-e alkalmazáson keresztül (iOS és Android rendszerre elérhető)
  2. Navigáljon a Beállítások > Kapcsolat > API beállítások menüpontra
  3. Engedélyezze a „Helyi HTTP API vX elérésének engedélyezése" opciót

Az engedélyezés után a töltő a 80-as porton válaszol HTTP kérésekre. Hitelesítés nem szükséges — a hozzáférést kizárólag ez a kapcsoló szabályozza.

Hálózati beállítás

A go-e Gemini flex Wi-Fi-n (802.11b/g/n, csak 2,4 GHz) keresztül csatlakozik. Ethernet port nem áll rendelkezésre. A TapHome sablon importálásakor adja meg a töltő IP-címét.

A go-e Charger nem támogatja az mDNS-t. A DHCP-megújítás utáni kapcsolódási problémák elkerülése érdekében állítson be statikus IP-címet vagy DHCP-foglalást a routeren a töltő MAC-címéhez.

A töltő hotspot módban (közvetlen kapcsolat) vagy meglévő Wi-Fi hálózathoz csatlakozva is működhet. A TapHome integrációhoz a töltőnek ugyanazon a hálózaton kell lennie, mint a TapHome CCU-nak.

Eszközök képességei

Töltő állapota

A Töltő állapota eszköz az aktuális csatlakozási és töltési állapotot jeleníti meg többértékű indikátorként (csak olvasható). A car API kulcs öt állapot egyikét adja vissza: Hiba (0), Elérhető (1), Töltés (2), Előkészítés (3) vagy Befejezve (4). Ez lehetővé teszi a TapHome automatizációk számára, hogy reagáljanak arra, hogy a jármű csatlakoztatva van-e, aktívan tölt-e, vagy befejezte-e a munkamenetet.

Töltőáram és üzemmód vezérlése

Két vezérelhető eszköz irányítja a töltő működését:

  • Töltőáram — a kért töltőáramot hat diszkrét értékből választja ki: 6, 8, 10, 12, 14 és 16 A. A sablon ezeket a 0–5 kapcsolóállásokra képezi le az amp/2 - 3 képlettel olvasáshoz és a (position + 3) × 2 képlettel íráshoz. Az értékek az api/set?amp={value} végponton keresztül kerülnek a töltőhöz.

  • Töltési üzemmód — a töltési logikát választja ki: Alap (alapértelmezett folyamatos töltés), Eco (Awattar tarifa alapján ároptimalizált) vagy Napi út (automatikus leállás a cél elérésekor). Az API a 3, 4 és 5 értékeket használja; a sablon ezeket a 0, 1 és 2 pozíciókra képezi le.

A töltőáram-választó csak hat értéket képez le (6–16 A, 2 A-es lépésekben). A Gemini flex 22 kW-os változata akár 32 A-t is támogat, de a 16 A feletti értékeket ez a sablon nem fedi le. Magasabb áramok használatához az amp API kulcs közvetlenül, a sablonon kívül állítható be.

Fázisváltás

A Fázisváltás eszköz azt szabályozza, hány fázist használ a töltő: Automatikus (0), 1 fázisú (1) vagy 3 fázisú (2). A go-e Charger támogatja a fázisváltást aktív töltési munkamenet közben is. Automatikus módban a töltő az elérhető teljesítmény alapján választja ki az optimális fáziskonfigurációt.

Energiamonitorozás

A sablon a töltő nrg energiatömbjéből olvassa a fázisonkénti feszültséget és áramot, amely 16 értéket tartalmaz, amelyek minden lekérdezési ciklusban frissülnek:

EszközForrásEgység
L1 feszültségnrg[0]V
L2 feszültségnrg[1]V
L3 feszültségnrg[2]V
L1 áramnrg[5]A
L2 áramnrg[6]A
L3 áramnrg[7]A
Aktuális fogyasztásnrg[12]W

Az Aktuális fogyasztás eszköz a teljes aktív töltési teljesítményt jeleníti meg wattban. Minden energiaérték csak olvasható.

FV felesleg töltés bemenetek

Két csak írható eszköz lehetővé teszi a TapHome számára, hogy külső energiaadatokat továbbítson a töltőnek a felesleges energiával történő töltés számításaihoz:

  • Hálózati teljesítmény — az aktuális hálózati export/import teljesítményt küldi (kW-ban, W-ra konvertálva 1000-rel való szorzással) az api/set?ids={"pGrid":value} végponton keresztül
  • FV teljesítmény — az aktuális fotovoltaikus termelést küldi (kW-ban, W-ra konvertálva 1000-rel való szorzással) az api/set?ids={"pPv":value} végponton keresztül

Ezek az eszközök nem olvasnak adatot a töltőből. A go-e Charger önmagában nem méri a hálózati vagy FV teljesítményt — külső forrásokra támaszkodik ezen információk biztosításához. Egy tipikus TapHome konfigurációban egy különálló energiamérő vagy napelemes inverter (szintén TapHome-ba integrált) értékeit továbbítják a töltőhöz ezeken a csak írható eszközökön keresztül, lehetővé téve az Eco töltési mód számára az önfogyasztás optimalizálását.

A FV felesleg töltés használatához állítsa a Töltési üzemmódot Eco-ra, majd TapHome automatizációkkal rendszeresen írja az aktuális hálózati teljesítmény és FV termelés értékeit a Hálózati teljesítmény és FV teljesítmény eszközökbe. A töltő automatikusan igazítja a töltőáramot a rendelkezésre álló felesleg alapján.

További képességek

A go-e Charger API v2 további adatokat is biztosít, amelyek jelenleg nincsenek leképezve a sablonban: fázisonkénti teljesítmény (W) és teljesítménytényező, nullavezeték feszültsége, összesen felhasznált energia (eto Wh-ban), munkamenet energia (wh), hibaállapot-kódok, kábel áramkorlátja, hőmérséklet-érzékelők, hálózati frekvencia, kényszerített töltés állapotvezérlése, energiakorlát-beállítások és minimális/maximális áramerősség konfigurálása. Ezek egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Az eszköz nem válaszol
  1. Ellenőrizze, hogy a töltő csatlakozik-e a Wi-Fi-hez és van-e érvényes IP-címe — ellenőrizze a go-e alkalmazásban a Beállítások > Kapcsolat alatt
  2. Győződjön meg arról, hogy a HTTP API engedélyezve van (Beállítások > Kapcsolat > API beállítások)
  3. Nyissa meg a http://{charger-ip}/api/status címet egy böngészőben — ha JSON-nal válaszol, az API elérhető
  4. Ellenőrizze, hogy a TapHome CCU és a töltő ugyanazon a hálózaton / VLAN-on van-e
A töltőáram nem változik
  1. A sablon csak hat értéket képez le (6, 8, 10, 12, 14, 16 A). Ha a töltő más értéket mutat (pl. 20 A, amelyet az alkalmazáson keresztül állítottak be), a TapHome a legközelebbi leképezett pozíciót jeleníti meg
  2. Ellenőrizze, hogy a töltő firmware-e 051.4-es vagy újabb verziójú — a régebbi firmware eltérő szűrőszintaxist használ, ami értelmezési problémákat okozhat
A FV felesleg töltés nem működik
  1. Győződjön meg arról, hogy a Töltési üzemmód Eco-ra van állítva — a felesleg logika csak ebben az üzemmódban aktiválódik
  2. Ellenőrizze, hogy a Hálózati teljesítmény és FV teljesítmény értékei rendszeresen íródnak (legalább 30 másodpercenként)
  3. Ellenőrizze, hogy az értékek kW-ban vannak megadva (a sablon automatikusan W-ra konvertálja)
  4. Nyissa meg a http://{charger-ip}/api/status?filter=pgrid,ppv címet annak ellenőrzéséhez, hogy a töltő fogadja-e az értékeket

Az eto (összes energia) API kulcs szerepel az állapotszűrőben, de nincs kitéve eszközként a sablonban. Az összes energia értéke lekérdezésre kerül, de nem kerül felhasználásra.

Elérhető eszközök

go-e Wallbox Modul
Egyéni változók

Go-e

Olvasás (modul)
responseJson := "error";



VAR response := SENDHTTPREQUEST("api/status?filter=car,nrg,psm,amp,eto,lmo");

IF response.IsSuccess
    responseJson := response.Content;
ELSE
    VAR contentJson := response.Content;
    VAR errCode := response.StatusCode;
    VAR message := PARSEJSON(contentJson, "message");
    #ADDERROR("Failed to read data - (" + errCode + ") " + message);
END
Töltő állapota Többértékű kapcsoló Csak olvasható

Járműcsatlakozás és töltési állapot — Hiba, Elérhető, Töltés, Előkészítés, Befejezve

uint8
Értékek / Állapotok: Failure · Available · Charging · Preparing · Finished

Töltő állapota

Kapcsoló állapot olvasása
RETURN(PARSEjson(responseJson, "car"));
Kapcsoló állapot írása
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Mu);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Mu, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Mu + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Mu + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Mu, "write"); # use "append" mode to append data to existing file
Töltőáram Többértékű kapcsoló

Kért töltőáram választó — 6, 8, 10, 12, 14, 16 A diszkrét lépésekben

uint8 Egység: A numeric
Értékek / Állapotok: 6-Amp · 8-Amp · 10-Amp · 12-Amp · 14-Amp · 16-Amp

Töltőáram

Kapcsoló állapot olvasása
VAR ampers := PARSEjson(responseJson, "amp");
RETURN(ampers/2-3);
Kapcsoló állapot írása
VAR amps:= (Mu +3)*2;
VAR response := SENDHTTPREQUEST("api/set?amp=" + amps);
IF response.IsSuccess = false
ADDERROR(response.StatusCode);
END
Töltési üzemmód Többértékű kapcsoló

Töltési logika választó — Alap (folyamatos), Eco (ároptimalizált / FV felesleg), Napi út (automatikus leállás célnál)

uint8 numeric
Értékek / Állapotok: Basic · Eco · Daily trip

Töltési üzemmód

Kapcsoló állapot olvasása
RETURN(PARSEjson(responseJson, "lmo")-3);
Kapcsoló állapot írása
VAR response := SENDHTTPREQUEST("api/set?lmo=" + (Mu+3));
IF response.IsSuccess = false
ADDERROR(response.StatusCode);
END
Aktuális fogyasztás Változó Csak olvasható

Teljes aktív töltési teljesítmény az összes fázison (W)

numeric Egység: W json_path

Aktuális fogyasztás

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,12)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L1 áram Változó Csak olvasható
numeric Egység: A json_path

L1 áram

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,5)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L1 feszültség Változó Csak olvasható
numeric Egység: V json_path

L1 feszültség

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,0)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L2 áram Változó Csak olvasható
numeric Egység: A json_path

L2 áram

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,6)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L2 feszültség Változó Csak olvasható
numeric Egység: V json_path

L2 feszültség

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,1)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L3 áram Változó Csak olvasható
numeric Egység: A json_path

L3 áram

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,7)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
L3 feszültség Változó Csak olvasható
numeric Egység: V json_path

L3 feszültség

Olvasás
VAR a := PARSETEXT (PARSEjson(responseJson, "nrg"), "[", "]");
VAR b := SPLIT(a,",");
RETURN(TODOUBLE(GETAT(b,2)))
Írás
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Fázisváltás Többértékű kapcsoló

Fáziskonfiguráció — Automatikus (töltő dönt), 1 fázisú (kényszerített), 3 fázisú (kényszerített). Váltás aktív töltés közben is lehetséges.

uint8
Értékek / Állapotok: Automatic · 1-Phase · 3-Phase

Fázisváltás

Kapcsoló állapot olvasása
RETURN(PARSEjson(responseJson, "psm"));
Kapcsoló állapot írása
VAR response := SENDHTTPREQUEST("api/set?psm=" + Mu);
IF response.IsSuccess = false
ADDERROR(response.StatusCode);
END
Hálózati teljesítmény Változó

Csak írható — külső hálózati teljesítményadatokat (kW) küld a töltőnek a felesleges energiával történő töltés számításaihoz

numeric Egység: kW json_path

Hálózati teljesítmény

Írás
VAR pgrid := "{\"pGrid\":"+ Round(Va*1000)+"}";

VAR response := SENDHTTPREQUEST("api/set?ids=" + pgrid);

IF response.IsSuccess = false
ADDERROR(response.StatusCode);
END
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
FV teljesítmény Változó

Csak írható — külső FV termelési adatokat (kW) küld a töltőnek a felesleges energiával történő töltés számításaihoz

numeric Egység: kW json_path

FV teljesítmény

Írás
VAR pPv := "{\"pPv\":"+ Round(Va*1000)+"}";

VAR response := SENDHTTPREQUEST("api/set?ids=" + pPv);

IF response.IsSuccess = false
ADDERROR(response.StatusCode);
END
Olvasás (modul)
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (18)
  • Voltage N — Neutral voltage in V, available in nrg array index 3
  • Per-phase Power (L1, L2, L3, N) — Individual phase power in W — template only reads total power (nrg[12])
  • Power Factor (L1, L2, L3) — Power factor per phase, available in nrg array
  • Total Energy — Total energy consumed in Wh — included in status filter but not exposed as a device
  • Session Energy — Energy consumed in current charging session (Wh)
  • Error State — Error code — None, FiAc, FiDc, Phase, Overvolt, Overamp, etc. Useful for diagnostics.
  • Allow Charging — Whether the car is presently allowed to charge
  • Force State — Force charger state: Neutral=0, Off=1, On=2. Read/write. Could override charging logic.
  • Cable Current Limit — Maximum current the connected cable supports (A)
  • Temperature Sensors — Controller and charger temperature sensors array
  • Grid Frequency — Grid frequency in Hz
  • Firmware Version — Current firmware version string
  • Serial Number — Device serial number
  • Uptime — Time since boot in milliseconds
  • Energy Limit — Charging energy limit in Wh (null=disabled). Read/write.
  • Ampere Maximum — Maximum ampere limit (R/W)
  • Minimum Charging Current — Minimum charging current (R/W)
  • PV Surplus Feature — Enable/disable PV surplus charging (boolean, R/W)

Források

  • go-eCharger API v2 — HTTP API Reference
    github.com 2026-03-27
  • go-e Charger Gemini flex — Data Sheet V1.4
    go-e.com 2026-03-27
    PDF
  • ha-goecharger-api2 — Home Assistant Integration
    github.com 2026-03-27