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.1

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.1
File Size Uploaded
eltako14bus-1.0.1.tar.gz 132.5 kB Details

Built distribution (wheel)

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

Total release size: 215.2 kB

Release files / eltako14bus-1.0.1.tar.gz

Download URL eltako14bus-1.0.1.tar.gz
Size 132.5 kB
Tags Source
SHA-256 checksum
How to use checksums
eaa5316fc6ed2cfbaa81f41dc37d8765e3723781adb3455d8e37bdcb08ffb567
BLAKE2b-256 checksum
How to use checksums
db1ac5ad7adce3ecbb385bfa2dc465e18103aa03cb5f6a3d9dcab872d15dcd35
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.1-py3-none-any.whl

Download URL eltako14bus-1.0.1-py3-none-any.whl
Size 82.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cde018a214b49e6012397086fc0021f6a5ac10087fc794a94c1b0078eb975907
BLAKE2b-256 checksum
How to use checksums
a117597c0cbf2e629624fcf8791988848f2ab6a51a3f7d12848d00ecc52d6c6d
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

This release

1.0.1 This release

2 release files

1.0.0

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