Skip to main content

Eltako14Bus Python library

This repository contains a library and some tools for interacting with the Eltako Series 14 bus system, which is an extension to the EnOcean Serial Protocol ESP2.

This is part of the reverse engineering approach that allows using Eltako Series 14 devices without a FAM.

It can work both on a direct RS485 serial connection to the bus, with or without a FAM14 present on the bus, through a FAM14's serial connection, or through a bespoke CoAP interface to the ESP2 protocol.

Tools

The eltakotool program shipped with it can do various raw interactions with the bus (replacing some FAM14 functionality, locking and unlocking the bus, sending arbitrary messages) as well as reading and writing the bus participants' memory (including verification and annotation of the memory contents).

Developer documentation

The developer guide covers installation, serial and CoAP transports, asynchronous bus access, discovery, device and EEP APIs, locking, caching, the command-line tool, offline testing, and extension points. The release guide documents version selection, local verification, tagging, GitHub Releases, and PyPI publication.

The independent device catalog documents device-to-EEP metadata and lookup helpers. Teach-in support describes the Eltako-specific sender telegrams, and compatibility tests protect the public API used by external applications without adding a dependency on Home Assistant.

The complete EEP reference lists all implemented profiles, organizations, fields, units, and value ranges.

Quick start

Install the serial transport and start the included tool with:

python3 -m pip install -e '.[serial,eltakotool]'
python eltakotool.py --eltakobus /dev/ttyUSB0 enumerate

The library is asynchronous. A minimal application creates an RS485SerialInterfaceV2, starts it, awaits bus.exchange(...), and calls bus.stop() during shutdown. See the developer guide for a complete example and the required baud-rate settings for common gateways.

Protocol description

(This is a short version. The long is partially available in the EnOcean and Eltako documentations, and the rest is in the reverse engineered code).

The EnOcean serial protocol is a point-to-point serial protocol between a computer and a radio transceiver; it contains synchronization bytes, some structured data bytes, and checksumming. The most common message formats are RPS and 4BS, which have equivalent messages (with short and long (4 byte) data, respectively) on the radio side. These messages contain some addressing information both when receiving (indicating which device sent it) and when sending through the transceiver (in which case the addresses need to match the address range of the transceiver, giving about 128 possible sending addresses).

The Eltako protocol is loosely built on the ESP2 protocol, but is used on an RS485 bus (with up to 127 participants), and uses several message types that are not defined in ESP2.

Part of the Eltako bus protocol is enumeration: Devices on the bus can be put into an addressing mode, and the bus master (a FAM14 or the library user) can assign one of the 127 available address to the device.

Commands are also known to visually identify devices on the bus, and to read and write their configuration (eg. in a relay, setting which buttons it should react to).

License

Originally developed by Christian Amsüss c.amsuess@energyharvesting.at and Energy Harvesting Solutions (2016–2020). Further developed and maintained by Philipp Grimm and contributors.

The library is published under the terms of the GNU Lesser General Public License version 3 or later. See LICENSE. The accompanying GPLv3 text required by the LGPL is preserved in LICENSE-GPL-3.0.

Metadata

Release files for eltako14bus 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eltako14bus 1.0.0
File Size Uploaded
eltako14bus-1.0.0.tar.gz 125.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eltako14bus 1.0.0
File Interpreter ABI Platform
eltako14bus-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 204.8 kB

Release files / eltako14bus-1.0.0.tar.gz

Download URL eltako14bus-1.0.0.tar.gz
Size 125.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4a04680d1e0be8f5fe4e7613c5411a3c76bba10e4e1d9ca3e6d672cf1e040166
BLAKE2b-256 checksum
How to use checksums
6c0004ed03e1dc7f513e7182c85163611e42404cc50aa2cf03a43d7eb1de11f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eltako14bus-1.0.0-py3-none-any.whl

Download URL eltako14bus-1.0.0-py3-none-any.whl
Size 79.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09750b8f17a75a076a8cba06447dc629dded693d96bb59bae31df6dd134cdde6
BLAKE2b-256 checksum
How to use checksums
828c60041421c7649c39de0b0ec00caf830db9739d386d97654f31661012c0d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.0.82

2 release files

0.0.80

2 release files

0.0.79

2 release files

0.0.78

2 release files

0.0.77

2 release files

0.0.76

2 release files

0.0.74

2 release files

0.0.73

2 release files

0.0.69

2 release files

0.0.68

2 release files

0.0.67

2 release files

0.0.66

2 release files

0.0.65

2 release files

0.0.63

2 release files

0.0.56

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

1 release file

0.0.44

1 release file

0.0.43

1 release file

0.0.42

1 release file

0.0.41

1 release file

0.0.40

1 release file

0.0.39

1 release file

0.0.38

1 release file

0.0.37

1 release file

0.0.36

1 release file

0.0.35

1 release file

0.0.34

1 release file

0.0.33

1 release file

0.0.32

1 release file

0.0.31

1 release file

0.0.30

1 release file

0.0.28

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page