Eltako "Baureihe 14 – RS485" (Enocean) Debugging

Hi,

I am new here and just started looking at hass.
I tried to look at all matching information in the documentation and here, but if I missed something please point it out to me! :slight_smile:

I have a test setup for my build in progress house with components from Eltako which use the EnOcean Serial Protocol 2 (ESP2).
There is no wireless component in my setup, everything is wired up with RS485, so there might be some special cases here (I had a glimpse look at the corresponding code in FHEM and they have some special case handling).

How do I get started?
I added my devices as switches / binary_sensor and tried the automation here: https://www.home-assistant.io/components/binary_sensor.enocean/ but I am not able to see any communication.

logger:
  default: warning
  logs:
    homeassistant.components: debug

Setting the logger to give me debug output does not show me anything that would indicate that hass is receiving or sending any messages on the bus, but It looks like it can access the device.

$ lsof /dev/ttyUSB0
COMMAND   PID          USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
hass    31005 homeassistant    8u   CHR  188,0      0t0 181376 /dev/ttyUSB0

How can I start to debug?
Does anyone else here has a device form the Eltako Series 14 as well?

My setup can be seen here:

I guess I found two of the main reasons why there is no communication seen.

  1. No debug messages in the corresponding code
  2. The version of the enocean protocol my devices use is not supported by the chosen library

I fixed 1. by myself, maybe its worthy for a pull request after I bring the messages to a good use.

For the second part, maybe someone from here would like to help: https://github.com/kipe/enocean/issues/72

I am not sure if someone is interested but I hacked a proof of concept in the enocean library and I can now.

  • Read the current state of all actors / sensors
  • Get notification if sensor changes / triggers
  • Control actors via Python
1 Like

Hello @xxorde, thanks for implementing Eltako’s version of ESP2. Did you make any efforts yet to get that code into the pypi version of the enocean package, and from there to enable its use with the enocean HomeAssistant component?

(I’d like to avoid duplicate effort on that part, which I’d otherwise be starting.)

Hi @chrysn,

unfortunately I have done nothing here in the meantime …
And most likely I will not be able to get back to this until Jan/Feb, so it would be really great if you are interested to work on it!

Hi @xxorde ,

As I want to integrate Home Assistant with the Eltako Bauhreihe 14, I also purchased some 14-hardware:


I’m still at step 1: trying to make a first connection to program some basic logic → Installing tool PCT14 on Windows laptop, connecting it to the FTS14KS USB port → don’t seem to be able to establish a connection. If you’d have any recommendations there?
All units are connected via the RS485 bus connectors, and the bus is properly terminated at both sides. I didn’t connect the “HOLD” terminals yet, perhaps that’s the issue?

Once I get it up and running, I’m willing to further contribute to your effort to set up and Eltako14 integration for Home Assistant.
Did you make any further progress since the last posts in this forum?

thanks!

If the HA APIs have not changed, the module at chrysn / home-assistant-eltako · GitLab should still work.

There is no need to set things up from a Windows laptop – the only thing that does need to happen is the step of assigning bus numbers, but that should be possible from the FTS14KS as per its manual.

The HOLD is a very ugly hack in the Eltako system (“whoops, we designed a multi-master bus, but actually we need reliable real-time messages sometimes … we just add another wire”), but AIU not wiring it all the way just creates the risk of losing button clicks (or higher latency) in rare situations.

1 Like

Hi chrysn,

thanks for your fast reply and the work you’ve shared on the Eltako 14-series integration.
I tried to install your custom_component, but there are errors:

It seems the integration code doesn’t work with HA version 2022.08.01 release.
If I find some time, I’ll start a fork of the integration (on Github).

Best regards, Michaël

1 Like

I ran into a similar problem.
I managed to restart Homeassistant anyway but the configuration still reports errors.

SCR-20221109-rgc

It would be kind if you could help with solving the problem @chrysn.

Hi everyone,

I’d like to bring this topic back to life since you all were working on this already 4 years ago, and for sure have gained quite some experience. I’m on the same path, and started to document as I do this in the absence of a clear step-by-step to follow documentation: GitHub - cvanlabe/Eltako-home-automation: This project documents how I'm working on my home automation using Eltako Teleruptors .

Would anyone be willing to contribute to write the homeassistant stuff? Currently I’m still pretty new to HA. I’ll learn, but my learning would definitely be so much faster if I could learn from you and add your knowledge to the doc. There definitely needs to be a section how to monitor and log the traffic on the bus, and how to interpret it.

What I’m planning to do in HA is:

  • have a map where I can see the status of the different lights (controlled via the FSR14)
  • be able to turn off/turn on lights by toggling on the map or some other list
  • setup some automation with an example use-case: presence simulation.

If nobody is interested, no worries, happy new year :slight_smile: If you are interested, happy to collaborate and work together. The combination Eltako and HA, is so powerful and very budget friendly!

Thank you!

2 Likes

Hi @cvvvlb , I’m interested in having a working Eltako 14 integration for Home Assistant.
Earlier in this thread, @chrysn made available his implementation of a HA custom component for Eltako 14. Unfortunately, the code doesn’t work anymore in the current HA Core version, so the code would need some upgrading.
Therefore, I started a repository for an HA custom component Eltako 14 here, starting from chrysn’s code: GitHub - michaelpiron/home-assistant-eltako

Feel free to contribute to my repository.
My aim is to get the integration working again with its current functionalities, then consider integrating it with HACS for easier installation. And then further on, we could consider new features.

Would you be OK if I integrate your nice documentation in the repository I started?

1 Like

Hi @michaelpiron !

Thanks for your reply. Yes, definitely. Let’s work together and get this off the ground.
Would you be willing to contribute back a bit? What I miss from your README.md is how I - as a person who never installed custom components on HA - start, and some more explanation how your YAML syntax works. How did you get to those IDs for a FUD14, or FSR14 actuator?

Definitely interested into contributing. Right now I’m actually trying to read from my USB bus so I can better understand what’s happening. If you already built that, then let’s go :slight_smile:

If you give me a headstart with clarifying what you documented, that’d be of great help!

Looks like OpenHAB got it well supported: openhab-addons/bundles/org.openhab.binding.enocean at main · openhab/openhab-addons · GitHub

With this guide as a working manual: Beginners guide for implementing Eltako FSR14, FSB14, FUD14 via FGW14 - Bindings - openHAB Community

I haven’t had any luck yet myself reading anything from the FGW14-USB using the above mentioned libs and their dependencies.

@chrysn were you connected directly to the FAM/FTS14KS mini-usb connector or to an FGW14-USB?

This will be an interesting project with quite a learning curve from what I’ve been reading… :slight_smile:

Also for me it’s quite a learning curve.
From what I understood, best is to connect to the Eltako Enocean bus through the dedicated FGW-USB module. The FAM also allows for USB connections, but there seems to be quite a timing delay which is not ideal for reading statuses or writing.

For now, I just took chrysn’s code, and now I try to solve the bugs to get it running with the latest HA core.

I myself also have to decypher the README.md file.
Will try to make some progress this week.

2 Likes

Work in progress on getting the integration working again on HA Core 2022.12.8:

1 Like

OK, there’s progress.
After updating the code of the Eltako HA custom component (GitHub - michaelpiron/home-assistant-eltako: Integration for Eltako 14 series in Home Assistant) as well as the underlying eltakobus PyPi package (GitHub - michaelpiron/eltako14bus: Python library for participation in and control over the Eltako Series 14 RS485 bus system), the code is running,
but now stops while running the sweep function.

The issue can be followed here: Assuming that no FAM is present on the bus - FTS14KS device not detected · Issue #3 · michaelpiron/eltako14bus · GitHub

It seems that the FAM14 (or in my case the FTS14KS) device is not detected.
What would be causing this?

  • Should I change the rotary switch position on FTS14KS and/or FGW14-USB?
  • Should I use a USB connection to the FTS14KS instead of USB connection to FGW14-USB?
  • Is the code specifically for FAM14, not suitable for FTS14KS (because on a different address)?

This is now the questions to be solved. If anyone knows more about this, your help would be welcome!

I don’t think it matters. The FAM doesn’t have to be detected. For the HA use-case all it should do is listen to the traffic on the bus and likewise send messages.

HA should be connected to the FGW14-USB. I read earlier on the OpenHAB forums the FAM mini-usb port has issues with dropped/out of order messages or in general shouldn’t be used for this.

Hi I’m new to HA. eltako series 14 is a main part of my smart actuators.
I have HA running on a server in the basement and my FGW14USB and his friends live in the top floor connected to a pi3. Would it be able to connect @michaelpiron 's custom component via ethernet to my HA installation. Would you have any hint’s for me on doing so?

There must be a way to program Python code on your RPi which acts as middleware between the Eltako FGW-USB on one hand and the Home assistant API on the other hand. Would require some coding (knowledge). I’m not able to help you with that, unfortunately.

Hey there!
I just had a look into the implementation and that’s what I found out:

  • The home assistant component is designed to be connected directly to a FAM14
  • If you connect through a FGW14-USB the sweep function will not work, because the bus cannot be locked
  • If you remove the sweep function call from main and just set “self.entities_for_status = {}” the component will start and listen on the bus
  • With this I was able to successfully teach in a FWG14MS
  • I didn’t test the direct connection to the FAM14, but as I see in the code, it will manipulate the bus devices to be able to control them
  • For now I was not able to successfully add other devices
2 Likes