Python wrapper for OpenEVSE HTTP API
Project description
python-openevse-http
A Python library for communicating with OpenEVSE chargers via the HTTP API on ESP8266 and ESP32-based WiFi modules.
Features
- Asynchronous: Built on
aiohttpfor non-blocking I/O. - WebSocket Support: Real-time updates for charger status.
- Firmware Support: Compatible with ESP8266 (2.x) and ESP32 (4.x+) WiFi firmware.
- Comprehensive API:
- Query status and configuration.
- Manage manual overrides.
- Control charging claims and limits.
- Handle schedules.
- Shaper Toggle: Enable or disable the grid shaper feature (requires firmware 4.0.0+).
Installation
pip install python_openevse_http
Quick Start
import asyncio
import aiohttp
from openevsehttp import OpenEVSE
async def main():
async with aiohttp.ClientSession() as session:
charger = OpenEVSE("192.168.1.30", session=session)
await charger.update()
print(f"Charger State: {charger.status}")
print(f"Current Charge: {charger.charge_current}A")
if charger.shaper_active:
print("Shaper is active, disabling...")
else:
print("Shaper is inactive, enabling...")
await charger.toggle_shaper()
await charger.ws_disconnect()
if __name__ == "__main__":
asyncio.run(main())
API Support Matrix
| Endpoint | Methods | Supported | Description |
|---|---|---|---|
/status |
GET, POST | ✅ | Real-time status, sensors, and Vehicle SoC pushing |
/config |
GET, POST | ✅ | System and WiFi configuration |
/override |
GET, POST, PATCH, DELETE | ✅ | Manual charging overrides & current limits |
/claims |
GET, POST, DELETE | ✅ | Client-based charging claims |
/schedule |
GET, POST | ⚠️ | Charging schedule management (Retrieval only) |
/limit |
GET, POST, DELETE | ✅ | Charge limits (Time, Energy, SoC) |
/shaper |
POST | ✅ | Grid shaper control (v4.0.0+) |
/restart |
POST | ✅ | Reboot WiFi gateway or EVSE module |
/divertmode |
POST | ✅ | Solar divert mode control |
/r (RAPI) |
POST | ✅ | Direct RAPI command interface |
/ws |
GET | ✅ | WebSocket real-time updates |
/time |
GET, POST | ❌ | RTC and NTP time settings |
/logs |
GET | ❌ | System and debug event logs |
/emeter |
DELETE | ❌ | Energy meter reset |
/wifi |
GET, POST | ❌ | Network scanning and AP configuration |
/tesla |
GET | ❌ | Tesla vehicle integration |
/certificates |
GET, POST, DELETE | ❌ | SSL/TLS certificate management |
/schedule/plan |
GET | ❌ | Schedule planning and optimization |
/update |
POST | ✅ | Firmware update interface |
/rfid/add |
POST | ❌ | RFID tag management |
✅ = Fully Supported | ⚠️ = Partial Support | ❌ = Not yet implemented
License
This project is licensed under the Apache-2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_openevse_http-1.2.0.tar.gz.
File metadata
- Download URL: python_openevse_http-1.2.0.tar.gz
- Upload date:
- Size: 70.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6248307c8b6761b870d5cd2a60bbd00d611cbdf5a6d1bf1d0422d0b60dcc35d
|
|
| MD5 |
48c82ffa46bb27ba3ad7dabdf3c63760
|
|
| BLAKE2b-256 |
4deb5cf1f29753a4a11dedfb639c1f0a15c0200918d716ed0730290e89d5c20c
|
Provenance
The following attestation bundles were made for python_openevse_http-1.2.0.tar.gz:
Publisher:
publish-to-pypi.yml on firstof9/python-openevse-http
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_openevse_http-1.2.0.tar.gz -
Subject digest:
d6248307c8b6761b870d5cd2a60bbd00d611cbdf5a6d1bf1d0422d0b60dcc35d - Sigstore transparency entry: 1803568224
- Sigstore integration time:
-
Permalink:
firstof9/python-openevse-http@640694a59f4f2665f841858df29099a4e2c906e6 -
Branch / Tag:
refs/tags/1.2.0 - Owner: https://github.com/firstof9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@640694a59f4f2665f841858df29099a4e2c906e6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file python_openevse_http-1.2.0-py3-none-any.whl.
File metadata
- Download URL: python_openevse_http-1.2.0-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42e9407cf03db5d3fa70a6975e8557cec195fb53a2c6ba4d6ca897b898507394
|
|
| MD5 |
44f44ac937f71f8d6f288d0114042b1f
|
|
| BLAKE2b-256 |
1e18debc4a8c0ebf8191c2527f6fb1ad74fbb12b3c9ea56f114b8dfcbc23a355
|
Provenance
The following attestation bundles were made for python_openevse_http-1.2.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on firstof9/python-openevse-http
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_openevse_http-1.2.0-py3-none-any.whl -
Subject digest:
42e9407cf03db5d3fa70a6975e8557cec195fb53a2c6ba4d6ca897b898507394 - Sigstore transparency entry: 1803568235
- Sigstore integration time:
-
Permalink:
firstof9/python-openevse-http@640694a59f4f2665f841858df29099a4e2c906e6 -
Branch / Tag:
refs/tags/1.2.0 - Owner: https://github.com/firstof9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@640694a59f4f2665f841858df29099a4e2c906e6 -
Trigger Event:
release
-
Statement type: