Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evsemaster-1.3.2.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evsemaster-1.3.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file evsemaster-1.3.2.tar.gz.

File metadata

  • Download URL: evsemaster-1.3.2.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for evsemaster-1.3.2.tar.gz
Algorithm Hash digest
SHA256 eed87b0a8ab8e6955c81b16f46dd85a8d89ac4c5a3a34750df1bf958f5590aee
MD5 5413618ac704c908aa451cea0e29ad67
BLAKE2b-256 02e888fa4bc57aee1822b02e97d113419e90f2daefb254f384987aeebacbcec6

See more details on using hashes here.

File details

Details for the file evsemaster-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: evsemaster-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for evsemaster-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9b4a2196b805a45f1b432e7b8e81df1b78971991d4690ba21f6e861223a638b7
MD5 00c23475f151a4b1ee466d22b7c1acf2
BLAKE2b-256 950e63cc429ee6c8c976c04b1278cb191099b6d1ceacd0aa60f1e28d79f53d56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page