Skip to content

grimmpp/home-assistant-eltako

Repository files navigation

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Eltako Bus Integration (RS485 - EnOcean) for Home Assistant

This repo contains an Home Assistant Integration for Eltako Baureihe 14. This integration allows you to get all information of the Eltako 14 Bus and it allows you to control all the devices via Home Assistant. (See supported devices.) You can also react on sensors like weather station, rocker switches, window contacts ... with automations in Home Assistant.

For more details check out the provided docs and links listed at the end. Check out the example configuration. (It gets verifided by an unit test and should not be outdated.)

Supported EEPs and devices

The following EnOcean Equipment Profiles (EEPs) and devices are currently supported. In general, this is not limited to Eltako devices, mainly to the EnOcean standard. Elatko devices are exemplarily mentioned. You can find here a nice overview about which EEPs are provided/required by which Eltako devices.

Supported sensor EEPs

  • Binary sensor
    • A5-07-01 (Occupancy sensor)
    • A5-30-01, A5-30-03 (Digital Input - used for water sensor FSM60B)
    • F6-02-01 (Rocker switch, FTS14EM)
    • F6-02-02 (Rocker switch)
    • F6-10-00 (Window handle, classic switches or contacs via FTS14EM, window and door contacts like FTKE, FFTE, supported states: open, closed)
    • D5-00-01 (Contact sensor, FTS14EM) incl. signal inverter
  • Sensor
    • A5-04-01 (Temperature and Humidity Sensor)
    • A5-04-02 (Temperature and Humidity Sensor e.g.: FLGTF, FLT58, FFT60)
    • A5-04-03 (Temperature and Humidity Sensor e.g.: FFT60)
    • A5-06-01 (Light - Twilight and daylight in one sensor value)
    • A5-07-01 (Occupancy sensor e.g.: FB55EB)
    • A5-08-01 (Light-, Temperature-, Occupancy Sensor e.g.: FABH65S, FBH65, FBH65S, FBH65TF)
    • A5-09-0C (Air Quality / VOC⁠ (Volatile Organic Compounds) e.g. FLGTF)
    • A5-10-03 (Temperature Sensor and Controller e.g. FTR78S)
    • A5-10-06 (Temperature Sensor and Controller e.g. FUTH)
    • A5-10-12 (Temperature Sensor and Controller and Humidity Sensor e.g. FUTH)
    • A5-12-01 (Automated meter reading - electricity, FWZ12, FSDG14, FSR14M-2x)
    • A5-12-02 (Automated meter reading - gas, F3Z14D)
    • A5-12-03 (Automated meter reading - water, F3Z14D)
    • A5-13-01 (Weather station, FWG14)
    • F6-10-00 (Window handle, classic switches or contacs via FTS14EM, window and door contacts like FTKE, supported states: open, closed, tilt)
  • Light
    • A5-38-08 (Dimmable Light: Central command - gateway, FUD14)
    • M5-38-08 (Switchable Light: Eltako relay, FSR14)
  • Switch
    • M5-38-08 (Eltako relay, FSR14)
    • F6-02-01 and F6-02-02
  • Cover
    • G5-3F-7F (Eltako cover, FSB14, FSB61, FSB71, FJ62)

Supported sender EEPs

  • Light
    • A5-38-08 (Central command - gateway, FUD14) PREFERRED!!!
    • F6-02-01 and F6-02-02 (Rocker switch - function 02 'direct pushbutton top on' default left) / (only as switch not for dimmable lights.)
  • Switch
    • A5-38-08 (Central command) PREFERRED!!!
    • F6-02-01 and F6-02-02 (Rocker switch - function 02 'direct pushbutton top on' default left)
  • Cover
    • H5-3F-7F (Eltako cover, FSB14)
  • Climate (Experimental Feedback is welcome.)
    • A5-10-06 (Eltako FAE14, FHK14, F4HK14, F2L14, FHK61, FME14)
  • Teach-In Buttons
    • A5-10-06, A5-10-12 (climate/thermostats)
    • A5-38-08 (light and switch)
    • H5-3F-7F (cover)
  • Send Message Service Sends any EnOcean Message. Can be used for automatinos in Home Assistant so that none-EnOcean and EnOcean deviecs can be combined.
    • Not supported EEPs: A5-09-0C (Air Quality), A5-38-08 (Central Command)

Gateway (See also how to use gateways and multiple gateway support)

Installation and Configuration

While this is not integrated into home assistant's repositories. You need to install first Home Assistant Commuinty Sore (HACS) in order to install custom components. After that you need to do the following steps:

  1. Install repo via HACS:

    Click on the button below to automatically navigate to the repository within HACS, add and download it.

    Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

    Alternative1: Simply enter the URL of this repo. It will then be listed in HACS and also shows when new updates are available. Detailed Docs in HACS Custom Repositories

    Alternative 2: Copying directory eltako** from this repository into your home assistant's /config/custom_components directory. For easy installation just clone this repository git clone https://github.com/grimmpp/home-assistant-eltako.git and execute the installation script of this repo ./install_custom_component_eltako.sh.

  2. Before you add the integration you have to provide a list of gateways and devices you want to use. Here is a minimum example you need to put into /config/configuration.yaml to start with. The configuration can be change and adapt at any point in time.

eltako:
  gateway:
  - id: 1
    base_id: FF-AA-80-00
    device_type: fgw14usb
  1. To enable this component, go to your integrations, press the "add" button and select "Eltako". In the presented sheet just select the detected USB gateway.
  2. Update Home Assistant configuration /config/configuration.yaml and add all devices and sensors you want to integrate. See How to update Home Assistant Configuration to see how the configuration should look like. In order to automatically generate the configuration and managing your devices you can use Enocean Device Manager (eo_man).

Important

Devices that are later removed from the configuration are not deleted in HA. Although it is possible to delete the entity, it is currently not possible to delete the device via a button. The easiest and quickest way to clean up is to delete the Eltako HUB and create a new one. Don't worry, the automations, scenes, scripts, dashboard settings and historical data will not be lost. These are linked to the device ID and are reassigned after the Eltako HUB has been recreated.

image

Testing

Testing this integration via Home Assistant development container or updating it in a Home Assistant instance is quite time consuming. Therefore I've added some basic tests to ensure quickly a base quality.

Unit and component tests for this integration are located in the folder tests. There is already a vscode settings.json prepared to start them via vscode or you can just run the following command from the repo folder.

python -m unittest discover tests -v

Documentation

Dependencies

  • Eltako Software PCT14 for programming and configuring Eltako Baureihe 14 devices natively.
  • Home Assistant Community Store is needed to be able to install this repository. It allows you to install custom_components.
  • Eltako14Bus Python Library is used by Home Assistant Eltako Integration for serial communication for device Eltako FAM14 and FGW14-USB.
  • Python EnOcean is used by Home Assistant Eltako Integration for serial communication for device USB300.
  • esp2_gateway_adapter is an adapter so that ESP3 can be made compatible to the rest of the integration which works on ESP2.

Useful Home Assistant Addons

External Documentation

Contribution and Support to this Project

I'm really happy to provide a more and more growing Home Assistant Eltako Integration by this project. The size of this integration is getting much bigger than the use cases I've realized at home, the variety of supported devices is increasing and the stability of the integraiton is getting to a professional level. On the other side it is getting hard to keep this level of development speed and operational quality. I'm about to build up a professional development and testing environment so that the quality can even improved and futher features can still be delivered in a short time frame. You can support this activity in sending devices and/or money.

In general, you can contribute to this project by:

Credits

Thanks to chrysn and Johannes Bosecker who initiated and made the first version of this code publicly available on their Gitlab repos, and shared it in the Home Assistant community (Eltako “Baureihe 14 – RS485” (Enocean) Debugging).
This fork was decoupled because of many many fundamental changes to the original repository.
Big thanks as well to Cedric Van Labeke who provides a very good documentation and helped me to make my first steps into this world.
Thanks to LHBL2003 who is eagerly testing and pushing things to a good quality by creating Pull Requests and Issues.