grimmpp / home-assistant-eltako

Integration for Eltako 14 series in Home Assistant
MIT License
28 stars 5 forks source link
custom-compoent eltako eltako14bus home-assistant integration

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

Supported sender EEPs

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

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.