Skip to main content

An async implementation of the EnOcean Serial Protocol Version 3.

Project description

enocean-async

This is a light-weight, asynchronous, fully typed Python implementation of the EnOcean Serial Protocol Version 3 (ESP3) based on pyserial-asyncio-fast.

It is currently still a proof of concept (PoC) implementation loosely based on my previous Node.js implementation, so anything may change at anytime!

What works:

  • Receiving ESP3 packets and parsing them into ERP1 telegrams
  • Sending ESP3 packets (only tested with Common Command telegrams so far) incl. waiting for response (or time-out) and reacting to the response
  • Retrieving EURID, Base ID and version info from the EnOcean module
  • Changing the Base ID
  • Sending ERP1 telegrams
  • Parsing EEPs (with F6-02-01 as tested/implemented example)
  • Parse Universal Teach-In (UTE) Queries
  • logging (partially)

What is missing/untested:

  • create and send Universal Teach-In (UTE) responses
  • handle Teach-in (UTE, 4BS, 1BS)
  • add (and test) more EEPs

Implemented EEPs

See SUPPORTED_EEPS.md.

Contributing

See CONTRIBUTING.

Dependencies

This library only has one dependency, namely

Copyright & license

Copyright 2026 Henning Kerstan

Licensed under the Apache License, Version 2.0 (the "License"). See LICENSE file for details.

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

enocean_async-0.2.0.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

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

enocean_async-0.2.0-py3-none-any.whl (58.7 kB view details)

Uploaded Python 3

File details

Details for the file enocean_async-0.2.0.tar.gz.

File metadata

  • Download URL: enocean_async-0.2.0.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for enocean_async-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ce849672deebea641753787a09779897047cc7b9141d51580ee825a5802c1ccc
MD5 b2bdd08dee96c0b4a56b8d62a3cc316c
BLAKE2b-256 83fdf471fd0686f6219a6b1a86c8064a598fdf6a3acea52353b11a3b87a8f4c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_async-0.2.0.tar.gz:

Publisher: publish.yml on henningkerstan/enocean-async

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file enocean_async-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: enocean_async-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 58.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for enocean_async-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cedf88b461e84145bbcb8d16ad765a8a91e663f4f1ca5a5f0a6ba2fedf1441b
MD5 43ad9c81c7f21b02b6e3b3a852bbc87f
BLAKE2b-256 35f1f79949a104fcf09fb344def21c35eba1745f3c5f8bbe155c55495564b8de

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_async-0.2.0-py3-none-any.whl:

Publisher: publish.yml on henningkerstan/enocean-async

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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