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.0.0.tar.gz (58.6 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.0.0-py3-none-any.whl (55.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for enocean_extended-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fe4cc1a4a5329cf1942e9493d9d573b26188e75836eb19f98662ffb270bab752
MD5 e5662cde723f8f0f9b9e53de275b79ef
BLAKE2b-256 ca4741ba885719fa86a9e47c28c2cfeacb3c7fd29cf68b039999c88d0a5687cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_extended-1.0.0.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.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for enocean_extended-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f6027e217d041d53835be0d068cc7f2eae52c2e6b71018dcac31a9968f38d3c
MD5 22f8a3b93c5ef709919692e979284460
BLAKE2b-256 327bca271a2a5ba6da5880f69b05e0ee80ea3fffd336838158d312348374c508

See more details on using hashes here.

Provenance

The following attestation bundles were made for enocean_extended-1.0.0-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