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
from openevsehttp import OpenEVSE
async def main():
# Initialize the charger
charger = OpenEVSE("192.168.1.30")
# Update state
await charger.update()
print(f"Charger State: {charger.status}")
print(f"Current Charge: {charger.charge_current}A")
# Toggle the Shaper feature
if charger.shaper_active:
print("Shaper is active, disabling...")
else:
print("Shaper is inactive, enabling...")
await charger.toggle_shaper()
# Clean up
await charger.close()
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 |
/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-0.3.4.tar.gz.
File metadata
- Download URL: python_openevse_http-0.3.4.tar.gz
- Upload date:
- Size: 49.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64be1d7a8a7f43c9b7a3ba68b73c79cf4d84673dc42be489e5d93afbf97d962a
|
|
| MD5 |
e4389b3cbd534d2a307585abaf86e1d3
|
|
| BLAKE2b-256 |
c139410fcaf53ee2c37206ab40b6acd2df2c53208160b1c3ea5c10bace1d23f6
|
File details
Details for the file python_openevse_http-0.3.4-py3-none-any.whl.
File metadata
- Download URL: python_openevse_http-0.3.4-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
959b455ece96ecc038c37c5c8f0b6a006cdc098bb0697a6e8ac82da2c28e8950
|
|
| MD5 |
2df82dff969c96e769a7c3aa8bc25f5a
|
|
| BLAKE2b-256 |
af7917e51817d1917f7416387b2feeae87e9e2684040d5947af9539e264d815a
|