Skip to main content

Lightweight Python API for accessing go-eCharger EV wallboxes using local HTTP API v2

Project description

goecharger API (lite)

Lightweight Python API for accessing modern go-eCharger EV wallboxes using local HTTP API v2

go-eCharger models:

  • Gemini
  • Gemini flex
  • HOMEfix
  • HOME+

Table of contents

Features

  • Query Charger Status
  • Set Charger Configuration
  • Uses asynchronous aiohttp requests for communication

Installation

pip install goecharger-api-lite

Usage Examples

Query Status

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"))

Hint: Pretty Print Status

import json

print(json.dumps(status, indent=4))
{
    "fna": "myEVCharger",
    "oem": "go-e"
}

Set Configuration

Interrupt and restart EV charging session

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)

Set charge rate (ampere) and number of phases

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)

Set cable lock mode

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)

Set charge limit

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)

Set Generic API Key

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")

Links

goecharger-api-lite GitHub repository

goecharger-api-lite on Pypi

go-E Website (manufacturer)

go-E API v2 specification

go-E API Keys (query status, set configuration)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goecharger-api-lite-1.5.1.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

goecharger_api_lite-1.5.1-py3-none-any.whl (8.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page