Python implementation of the EVSEMaster App
Project description
evsemaster
Python client library for communicating with a EVSE chargers that use the EVSEMaster app. I've only done my testing on a Telestar EC311S6, but it should work with any EVSE that uses the EVSEMaster app protocol.
I'm intenting to keep this a simple implementation, so it does not have all the features of the original TypeScript project, but it should be sufficient for basic use cases like my Home Assistant integration.
This is based on the original TypeScript project by johnwoo-nl
Currently Implemented
- Get EVSE device info
- Get EVSE status
- Get EVSE charging status
- Start/Stop charging
- Get/Set EVSE nickname
- Get/Set Current limit
- Get/Set Device Time (Correcting for on-device errors that causes drift)
Being Implemented
- Create/Update charging schedule
- Getting/Setting device properties like time, language, etc.
Not Planned
- Home Assistant or MQTT integration (see evsemaster-homeassistant)
- Connecting to the EVSE via Bluetooth (ie. for connecting the EVSE to wifi)
- Even though the EVSEMaster app is awful to use, using it once to connect the EVSE to wifi is sufficient for most use cases.
Usage
from evsemaster.evse_protocol import SimpleEVSEProtocol
def event_callback(event, data):
print(f"Event: {event}, Data: {data}")
async def main():
evse = SimpleEVSEProtocol(
host="10.0.0.1", # IP address of the EVSE
password="123456", # 6 digit password of the EVSE
callback=event_callback, # Callback function for events
)
await evse.connect() # Connect to the EVSE
await evse.request_status() # Request the current status of the EVSE
await evse.start_charging() # Start charging
await evse.stop_charging() # Stop charging
await evse.disconnect() # Disconnect from the EVSE
There is a test script test.py that can be used to test the library.
Its a bit messy as it just prints the output while accepting commands, but it can be useful for quick testing.
poetry run python test.py 10.0.0.1 123456
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 evsemaster-1.3.3.tar.gz.
File metadata
- Download URL: evsemaster-1.3.3.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.0 CPython/3.13.13 Linux/7.0.12-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a273c4cacd953dab2e37623d5a6bde5db6627689fb13aca9cde360756d86b573
|
|
| MD5 |
7509b570a1ed178527f3e8dd3a6f91a8
|
|
| BLAKE2b-256 |
9894f2832fe922fac2d9653f538dc66b866f5d62f13051b01736a481e46f6d9f
|
File details
Details for the file evsemaster-1.3.3-py3-none-any.whl.
File metadata
- Download URL: evsemaster-1.3.3-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.0 CPython/3.13.13 Linux/7.0.12-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e93627f732a58f69bef34b4fa28bfbc65a939fe8b72ac27e590cc6b09f85b4
|
|
| MD5 |
0e4f900ea42cabbcaa1eb93e672a537b
|
|
| BLAKE2b-256 |
0c60ad4709d419bfb79bacf1160a8967855fc881f1b29ddb5ef2bae4daab281a
|