python-openevse-http
Python wrapper for OpenEVSE HTTP API
What it is and what it does
This package provides a Python wrapper around the OpenEVSE HTTP API, enabling asynchronous control and monitoring of electric vehicle chargers equipped with WiFi modules. It abstracts the low-level HTTP and WebSocket protocols into a high-level client interface, allowing developers to query charger status, manage charging claims and limits, toggle grid shaper features, and receive real-time updates without blocking I/O.
The library is built on aiohttp for non-blocking communication and targets Python 3.13 or later. It supports a comprehensive set of API endpoints for status, configuration, overrides, schedules, and firmware updates, though some endpoints remain unimplemented. It handles both HTTP and HTTPS connections, including optional SSL verification bypass for self-signed certificates on trusted networks.
Use it for:
- Monitor and control home EV chargers from a Python automation or home-assistant integration.
- Build a dashboard or mobile app backend that queries real-time charger status and sensor data.
- Implement solar-divert or grid-shaping logic that adjusts charging claims and limits based on external conditions.
- Automate charging schedules and limits across multiple chargers in a fleet or multi-unit setting.
- Integrate OpenEVSE chargers into a smart-home or energy-management system via async Python APIs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python library for asynchronous communication with OpenEVSE chargers via HTTP API on ESP8266 and ESP32 WiFi modules, supporting status queries, charging control, and real-time WebSocket updates.
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and provides a well-structured async interface to a real device ecosystem. It is suitable for production use in home automation, fleet management, and energy-management integrations. The Python 3.13 requirement is a minor constraint but aligns with current best practice.
Install
python-openevse-http on PyPI
pip
pip install python-openevse-httpuv
uv add python-openevse-httppoetry
poetry add python-openevse-httpInstalling python-openevse-http
Before you install
Low friction installation as a pure-Python wheel with a single runtime dependency on aiohttp. The package is actively maintained with recent commits and supports current Python versions.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install python_openevse_http
import asyncio
import aiohttp
async def main():
async with aiohttp.ClientSession() as session:
charger = python_openevse_http.OpenEVSE("192.168.1.30", session=session)
await charger.update()
print(f"Charger State: {charger.status}")
asyncio.run(main())
Requires Python 3.13 or later; target OpenEVSE device must be reachable on the network and running compatible ESP8266 or ESP32 firmware.
Verify before relying
- Whether WebSocket real-time updates work reliably across all supported firmware versions and network conditions.
- Performance characteristics when controlling multiple chargers concurrently from a single client.
- Compatibility with OpenEVSE devices behind proxies or NAT configurations.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.13) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — aiohttp |
| Maintenance | actively maintained — 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,909/month — #14,910 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_openevse_http-1.5.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
ocppImplements the JSON version of the Open Charge…
permissive · top 15,000 on PyPI
pytrydanpytrydan provides Python bindings and a…
permissive · top 15,000 on PyPI
victron-mqttAn asynchronous Python library for…
permissive · top 15,000 on PyPI
pyemvuePyEmVue reads energy usage data from Emporia…
permissive · top 15,000 on PyPI
electrickiwi-apiAsync Python client for the Electric Kiwi API…
copyleft · top 15,000 on PyPI
teslajsonpyAn async Python library for interacting with…
permissive · top 15,000 on PyPI
pyenphaseProvides a Python library to communicate with…
permissive · top 15,000 on PyPI
ovoenergyA Python client library for querying energy…
permissive · top 15,000 on PyPI
aiounifiAsynchronous Python library for communicating…
permissive · top 15,000 on PyPI
asusrouterAsynchronous API wrapper for querying and…
permissive · top 15,000 on PyPI