Lightweight Python API for accessing modern go-eCharger EV wallboxes using local HTTP API v2
go-eCharger models:
- Gemini
- Gemini flex
- HOMEfix
- HOME+
- Query Charger Status
- Set Charger Configuration
- Uses asynchronous aiohttp requests for communication
pip install goecharger-api-lite
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# get full status
status = charger.get_status(status_type=GoeCharger.STATUS_FULL)
# essential status (car state, wallbox state, wallbox error)
status = charger.get_status(status_type=GoeCharger.STATUS_MINIMUM)
# status for custom API keys (friendly name, OEM manufacturer)
status = charger.get_status(("fna", "oem"))
import json
print(json.dumps(status, indent=4))
{
"fna": "myEVCharger",
"oem": "go-e"
}
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# STOP current charging session
charger.set_charging_mode(charger.SettableValueEnums.ChargingMode.off)
# restart charging session again
charger.set_charging_mode(charger.SettableValueEnums.ChargingMode.neutral)
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# set to 1 phase, 13 ampere
charger.set_phase_mode(charger.SettableValueEnum.PhaseMode.one)
charger.set_ampere(13)
# set to 3 phases, 16 ampere
charger.set_phase_mode(charger.SettableValueEnum.PhaseMode.three)
charger.set_ampere(16)
# set phase mode to auto
charger.set_phase_mode(charger.SettableValueEnum.PhaseMode.auto)
# set maximum possible charge rate of the charger (ampere)
# this will limit the maximum charge rate that can be set by the user, i.e. via the app
charger.set_absolute_max_current(10)
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# set to require unlocking the car first
charger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.unlockcarfirst)
# set to automatically unlock after charging
charger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.automatic)
# set to always lock the cable
charger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.locked)
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# set charge limit to 2.5 kWh
charger.set_charge_limit(2500)
# Disable charge limit
charger.set_charge_limit(None)
from goecharger_api_lite import GoeCharger
charger = GoeCharger("192.168.1.150") # --> change to your IP
# set generic API key (friendly name: "myEVCharger")
charger.set_key("fna", "myEVCharger")