Skip to main content

Enhanced Python library for EnOcean protocol with dynamic EEP parsing and VentilAirSec support

Project description

Python EnOcean Extended

PyPI version License: MIT Python Version

An enhanced Python library for reading and controlling EnOcean devices with extended device support and dynamic EEP parsing.

What's New in This Fork

This is an enhanced version of the original kipe/enocean library with:

  • Dynamic EEP Parsing: Improved parsing of complex EnOcean Equipment Profiles with proper enum handling
  • Extended Device Support: Additional EEP profiles including VentilAirSec ventilation units (D2-50-00, D2-50-01)
  • Enhanced MSC Telegram Support: Better handling of Manufacturer-Specific Command (MSC) telegrams
  • Improved Enum Values: Proper parsing of rangeitem enums with min/max values
  • Better Error Handling: More robust packet parsing and error reporting

Originally started as part of Forget Me Not design challenge @ element14.

Installation

Install from PyPI:

pip install enocean-extended

Or install from source for the latest development version:

pip install git+https://github.com/pledou/enocean.git

Quick Start

After installation, you can run the example script and interact with your EnOcean devices:

import enocean.utils
from enocean.communicators.serialcommunicator import SerialCommunicator
from enocean.protocol.packet import RadioPacket

# Initialize the EnOcean dongle
communicator = SerialCommunicator('/dev/ttyUSB0')
communicator.start()

# Receive packets
for packet in communicator.receive.get(block=True, timeout=1):
    if isinstance(packet, RadioPacket):
        print(packet)

See the examples/ directory for more usage examples, including VentilAirSec ventilation unit control.

Supported Devices

This library supports a wide range of EnOcean Equipment Profiles (EEPs), including:

  • Sensors: Temperature, humidity, illumination, occupancy, CO2, etc.
  • Switches: Rocker switches, push buttons, window handles
  • Actuators: Light dimmers, blinds, valves
  • Ventilation: VentilAirSec units with full monitoring and control

For a complete list, see SUPPORTED_PROFILES.md.

Features

Dynamic EEP Parsing

Automatically parses complex EnOcean Equipment Profiles with proper handling of:

  • Enum values with ranges
  • Multi-byte values
  • Manufacturer-specific commands (MSC)
  • Bitfield data

VentilAirSec Support

Full support for VentilAirSec ventilation units including:

  • Operating mode control
  • Fan speed adjustment
  • Temperature setpoints
  • Boost and holiday modes
  • Sensor monitoring
  • Maintenance status

Development

To contribute or modify the library:

git clone https://github.com/pledou/enocean.git
cd enocean
pip install -e .[dev]
pytest

Credits

  • Original Author: Kimmo Huoman (kipe/enocean)
  • Enhanced Version: Pierre Leduc with dynamic EEP parsing and extended device support

License

MIT 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_extended-1.1.1.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

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

enocean_extended-1.1.1-py3-none-any.whl (57.2 kB view details)

Uploaded Python 3

File details

Details for the file enocean_extended-1.1.1.tar.gz.

File metadata

  • Download URL: enocean_extended-1.1.1.tar.gz
  • Upload date:
  • Size: 66.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for enocean_extended-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b1e91d5a18170749d73d0d18918492cf5fc552b7521e29632fefb35c2a8e3378
MD5 50de740131d23dae07c16a08c0862a11
BLAKE2b-256 b4b5d0c1b973860fe2e4537473c76f618ab102a99ab3cbae6d0ec02e23e42e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_extended-1.1.1.tar.gz:

Publisher: publish-to-pypi.yml on pledou/enocean

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_extended-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for enocean_extended-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9e7c30a11d7b8797b705376973d50bf2337556ff38933f95b45c4927e74a1e6
MD5 fdeda583e6c74ddbf30172e2e2161378
BLAKE2b-256 46df0e25860e268c7b57376c295453369fe69f32a6465d08eec2904e199c7a8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_extended-1.1.1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on pledou/enocean

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