# [goecharger API (lite)](https://github.com/bkogler/goecharger-api-lite)
Lightweight Python API for accessing modern go-eCharger EV wallboxes using local HTTP API v2
[go-eCharger](https://go-e.com) models:
* Gemini
* Gemini flex
* HOMEfix
* HOME+
# Table of contents
<!-- TOC -->
* [Features](#features)
* [Installation](#installation)
* [Usage Examples](#usage-examples)
* [Query Status](#query-status)
* [Pretty Print Status](#pretty-print-status)
* [Set Configuration](#set-configuration)
* [Links](#links)
<!-- TOC -->
# Features
* Query Charger Status
* Set Charger Configuration
* Uses asynchronous aiohttp requests for communication
# Installation
`pip install goecharger-api-lite`
# Usage Examples
## Query Status
````python
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
````python
import json
print(json.dumps(status, indent=4))
````
````
{
"fna": "myEVCharger",
"oem": "go-e"
}
````
## Set Configuration
### Interrupt and restart EV charging session
````python
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
````python
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
````python
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
````python
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
````python
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](https://github.com/bkogler/goecharger-api-lite)
[goecharger-api-lite on Pypi](https://pypi.org/project/goecharger-api-lite)
[go-E Website (manufacturer)](https://go-e.com)
[go-E API v2 specification](https://github.com/goecharger/go-eCharger-API-v2/blob/main/introduction-en.md)
[go-E API Keys (query status, set configuration)](https://github.com/goecharger/go-eCharger-API-v2/blob/main/apikeys-en.md)
Raw data
{
"_id": null,
"home_page": "https://github.com/bkogler/goecharger-api-lite",
"name": "goecharger-api-lite",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "go-e EV wallbox electric charger Gemini flex HOMEfix HOME+ HTTP API v2",
"author": "Bernhard Kogler",
"author_email": "bernhard.kogler@supersonnig.org",
"download_url": "https://files.pythonhosted.org/packages/1e/a9/606e8f17e8841631da99ec6c4d2ddbb8689fd1a744b36bdbb83335a97608/goecharger-api-lite-1.5.1.tar.gz",
"platform": null,
"description": "# [goecharger API (lite)](https://github.com/bkogler/goecharger-api-lite)\nLightweight Python API for accessing modern go-eCharger EV wallboxes using local HTTP API v2\n\n[go-eCharger](https://go-e.com) models:\n* Gemini\n* Gemini flex\n* HOMEfix\n* HOME+\n\n# Table of contents\n<!-- TOC -->\n* [Features](#features)\n* [Installation](#installation)\n* [Usage Examples](#usage-examples)\n * [Query Status](#query-status)\n * [Pretty Print Status](#pretty-print-status)\n * [Set Configuration](#set-configuration)\n* [Links](#links)\n<!-- TOC -->\n\n# Features\n* Query Charger Status\n* Set Charger Configuration\n* Uses asynchronous aiohttp requests for communication\n\n# Installation\n`pip install goecharger-api-lite`\n\n# Usage Examples\n\n## Query Status\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# get full status\nstatus = charger.get_status(status_type=GoeCharger.STATUS_FULL)\n\n# essential status (car state, wallbox state, wallbox error)\nstatus = charger.get_status(status_type=GoeCharger.STATUS_MINIMUM)\n\n# status for custom API keys (friendly name, OEM manufacturer) \nstatus = charger.get_status((\"fna\", \"oem\"))\n````\n\n#### Hint: Pretty Print Status\n````python\nimport json\n\nprint(json.dumps(status, indent=4))\n````\n````\n{\n \"fna\": \"myEVCharger\",\n \"oem\": \"go-e\"\n}\n````\n\n## Set Configuration\n\n### Interrupt and restart EV charging session\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# STOP current charging session\ncharger.set_charging_mode(charger.SettableValueEnums.ChargingMode.off)\n\n# restart charging session again\ncharger.set_charging_mode(charger.SettableValueEnums.ChargingMode.neutral)\n````\n\n### Set charge rate (ampere) and number of phases\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# set to 1 phase, 13 ampere\ncharger.set_phase_mode(charger.SettableValueEnum.PhaseMode.one)\ncharger.set_ampere(13)\n\n# set to 3 phases, 16 ampere\ncharger.set_phase_mode(charger.SettableValueEnum.PhaseMode.three)\ncharger.set_ampere(16)\n\n# set phase mode to auto\ncharger.set_phase_mode(charger.SettableValueEnum.PhaseMode.auto)\n\n# set maximum possible charge rate of the charger (ampere)\n# this will limit the maximum charge rate that can be set by the user, i.e. via the app\ncharger.set_absolute_max_current(10)\n````\n\n### Set cable lock mode\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# set to require unlocking the car first\ncharger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.unlockcarfirst)\n\n# set to automatically unlock after charging\ncharger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.automatic)\n\n# set to always lock the cable\ncharger.set_cable_lock_mode(charger.SettableValueEnum.CableLockMode.locked)\n````\n\n### Set charge limit\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# set charge limit to 2.5 kWh\ncharger.set_charge_limit(2500)\n\n# Disable charge limit\ncharger.set_charge_limit(None)\n````\n\n### Set Generic API Key\n````python\nfrom goecharger_api_lite import GoeCharger\n\ncharger = GoeCharger(\"192.168.1.150\") # --> change to your IP\n\n# set generic API key (friendly name: \"myEVCharger\")\ncharger.set_key(\"fna\", \"myEVCharger\")\n````\n\n# Links\n[goecharger-api-lite GitHub repository](https://github.com/bkogler/goecharger-api-lite)\n\n[goecharger-api-lite on Pypi](https://pypi.org/project/goecharger-api-lite)\n\n[go-E Website (manufacturer)](https://go-e.com)\n\n[go-E API v2 specification](https://github.com/goecharger/go-eCharger-API-v2/blob/main/introduction-en.md)\n\n[go-E API Keys (query status, set configuration)](https://github.com/goecharger/go-eCharger-API-v2/blob/main/apikeys-en.md)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Lightweight Python API for accessing go-eCharger EV wallboxes using local HTTP API v2",
"version": "1.5.1",
"project_urls": {
"Homepage": "https://github.com/bkogler/goecharger-api-lite"
},
"split_keywords": [
"go-e",
"ev",
"wallbox",
"electric",
"charger",
"gemini",
"flex",
"homefix",
"home+",
"http",
"api",
"v2"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fc32198f8c8702e83869112f553612364898605d76109c5c9e2d84522d5f85ce",
"md5": "fae8b847655388c893d1651e1d7fa6f0",
"sha256": "0e573c90496fe279a955a86764f5532cd9678a9540dffa1262f06d72f2f4a996"
},
"downloads": -1,
"filename": "goecharger_api_lite-1.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fae8b847655388c893d1651e1d7fa6f0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 8463,
"upload_time": "2023-07-28T20:22:21",
"upload_time_iso_8601": "2023-07-28T20:22:21.575314Z",
"url": "https://files.pythonhosted.org/packages/fc/32/198f8c8702e83869112f553612364898605d76109c5c9e2d84522d5f85ce/goecharger_api_lite-1.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1ea9606e8f17e8841631da99ec6c4d2ddbb8689fd1a744b36bdbb83335a97608",
"md5": "6d4c59db44b1d5c74da9e66c86517a72",
"sha256": "cc175bc4d472bd1baf4eb76618fe7023d5cc79703fee482c8cefd7b5814aa6a5"
},
"downloads": -1,
"filename": "goecharger-api-lite-1.5.1.tar.gz",
"has_sig": false,
"md5_digest": "6d4c59db44b1d5c74da9e66c86517a72",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 8843,
"upload_time": "2023-07-28T20:22:22",
"upload_time_iso_8601": "2023-07-28T20:22:22.993314Z",
"url": "https://files.pythonhosted.org/packages/1e/a9/606e8f17e8841631da99ec6c4d2ddbb8689fd1a744b36bdbb83335a97608/goecharger-api-lite-1.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-28 20:22:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bkogler",
"github_project": "goecharger-api-lite",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "goecharger-api-lite"
}