Eltako "Baureihe 14 – RS485" (Enocean) Debugging

Hello @Philipp14 I have managed to scan all devices with the latest version v0.1.20 of eo.man.
The USB300 is not recognized as a gateway.
I loaded the generated yaml. file in Home Assistant and changed the gateway manually to USB300.
After I assigned the sender ID and the receiver / Aktor ID to the devices, I was able to switch the devices and also received the status messages.
Since I also changed the name, the changed devices were displayed as additional devices in the device list. I then deleted the Eltako hub and created a new one.
Unfortunately, it no longer worked.
The USB300 was recognized on port 1 and port 2. It looks as if instances of the USB300 have been created.
However, I only connected one USB300. The devices were distributed across the ports / instances. Even when I swapped the USB port of the USB300, I could no longer control any devices.
After I imported the backup, everything worked again, although port 1 and port 2 are still recognized. Unfortunately, the duplicate devices are now there again.

Is there a way to delete a port / instance?
Or could it be something else?

Bildschirmfoto 2024-04-19 um 12.26.59

I am grateful for any help.
Best regards Oliver

Hello @omxgit,

actaully I should need to reastart HA inbetween but maybe the port is still blocked from the previous config and restart could release it.

Many gateways support two serial interfaces one is for using it like was want to and the other interface is to program the chip on the gateway. For some gateways even both ports work, for others only one port is working.

Hello @Harrier,

can you try to click on the entity name itself. For me an popup windows appears where you can switch it on.

(in this example light is disabled otherwise default color would be yellow/orange)

Hello @tden159,

can you tell me what message was send before? The integration tried to send any command and that seems to be not valid for ESP3 (USB300). Most probably I do the translation from ESP2 to ESP3 not correctly.

It there something working regarding the shutters? Can you move them?

Opened ticket:

Can to tell me where i can see which message was sent? It seems that the advaned logging is also not working with ESP3 messages.

Regarding the shutters, no, nothing works.

edit: sorry didnt reload after changing the logging settings in the config. These is a logging entry:

2024-04-19 17:58:10.146 DEBUG (SyncWorker_25) [eltako] [Gateway] [Id: 1] Send message: <Regular4BSMessage from ff 88 03 4d, data 00 1a 02 08, status = 0x00> - Serialized: a55a6b07001a0208ff88034d006d
2024-04-19 17:58:10.148 INFO (MainThread) [enocean.communicators.SerialCommunicator] Converted esp2 (<Regular4BSMessage from ff 88 03 4d, data 00 1a 02 08, status = 0x00> - A5-5A-6B-07-00-1A-02-08-FF-88-03-4D-00-6D) message to esp3 (0x01 ['0xa5', '0x0', '0x1a', '0x2', '0x8', '0xff', '0x88', '0x3', '0x4d', '0x0'] ['0x3', '0xff', '0xff', '0xff', '0xff', '0xff'] OrderedDict() - 55-00-0A-06-01-FE-A5-00-1A-02-08-FF-88-03-4D-00-03-FF-FF-FF-FF-FF-04)
2024-04-19 17:58:10.148 INFO (MainThread) [enocean.communicators.SerialCommunicator] Send ESP3 message 0x01 ['0xa5', '0x0', '0x1a', '0x2', '0x8', '0xff', '0x88', '0x3', '0x4d', '0x0'] ['0x3', '0xff', '0xff', '0xff', '0xff', '0xff'] OrderedDict()
2024-04-19 17:58:10.237 INFO (Thread-2) [enocean.communicators.Communicator] Sending packet
2024-04-19 17:58:10.238 DEBUG (Thread-2) [enocean.communicators.SerialCommunicator] send msg: 0x01 ['0xa5', '0x0', '0x1a', '0x2', '0x8', '0xff', '0x88', '0x3', '0x4d', '0x0'] ['0x3', '0xff', '0xff', '0xff', '0xff', '0xff'] OrderedDict()

After restarting HA the Shutters now do somehow work…! My bad i guess. Thanks for your help anyways. Ill try some more stuff with the USB300 and give some feedback!

No worries.

Here is the logging doc in case you need it. Simply set everything to debug

Hello, since the last update (2024.5.0) the statuses are no longer updated.
Here is one of the log entries:
Logger: root
Quelle: helpers/frame.py:203
Erstmals aufgetreten: 20:37:35 (1 Vorkommnisse)
Zuletzt protokolliert: 20:37:35

Uncaught thread exception
Traceback (most recent call last):
File “/usr/local/lib/python3.12/threading.py”, line 1073, in _bootstrap_inner
self.run()
File “/usr/local/lib/python3.12/site-packages/eltakobus/serial.py”, line 176, in run
self.__callback(parsed_msg)
File “/config/custom_components/eltako/gateway.py”, line 300, in _callback_receive_message_from_serial_bus
self._fire_last_message_received_event()
File “/config/custom_components/eltako/gateway.py”, line 107, in _fire_last_message_received_event
self.hass.async_create_task(
File “/usr/src/homeassistant/homeassistant/core.py”, line 816, in async_create_task
self.verify_event_loop_thread(“async_create_task”)
File “/usr/src/homeassistant/homeassistant/core.py”, line 440, in verify_event_loop_thread
frame.report(
File “/usr/src/homeassistant/homeassistant/helpers/frame.py”, line 162, in report
_report_integration(what, integration_frame, level, error_if_integration)
File “/usr/src/homeassistant/homeassistant/helpers/frame.py”, line 203, in _report_integration
raise RuntimeError(
RuntimeError: Detected that custom integration ‘eltako’ calls async_create_task from a thread at custom_components/eltako/gateway.py, line 107: self.hass.async_create_task(. Please report it to the author of the ‘eltako’ custom integration.

Has anyone else had this problem?

Hello,
I have a similar problem. Every time I update to version 2024.5.x, my gateway no longer connects.

image

After importing the backup to 2024.4.x, this problem no longer exists…
Does anyone know this problem and possibly have a solution?

Reloading the Integration helps for now.

Thanks for the hint. It now worked for me by reloading the Eltako app in HACS.

Hello,

I am currently trying to add a fgw14-USB into an exisiting eltako system based on FAM14 with multiple F4SR14 and FSB14. It was setup by the company who build our house. To test the system I have connected my laptop to the FAM14 via USB and PTC14 and am listening for switch events.
And in parallel I have the logs from HA activated to show the traffic on fgw14-USB.

The HA log is receiving something, when I press a physical switch. But when I send button events via HA, PTC14 is not receiving anything. It seems like the packets are not send to the bus or have some wrong format and are dropped by PTC14.
Is there anything I am missing or that I could check, before I jump into decoding the bus protocol?

HA logs:

2024-05-17 22:22:30.764 DEBUG (Thread-3) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from fe d8 c0 f6, db0 = 30, status = 0x30 (T2, N, 0 repetitions)>
2024-05-17 22:22:31.084 DEBUG (Thread-3) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from fe d8 c0 f6, db0 = 00, status = 0x20 (T2, U, 0 repetitions)>
2024-05-17 22:22:31.516 DEBUG (Thread-3) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from fe d8 c0 f6, db0 = 10, status = 0x30 (T2, N, 0 repetitions)>
2024-05-17 22:22:31.755 DEBUG (Thread-3) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from fe d8 c0 f6, db0 = 00, status = 0x20 (T2, U, 0 repetitions)>
2024-05-17 22:22:32.522 DEBUG (Thread-3) [eltako] [Gateway] [Id: 1] Received message: <EltakoWrappedRPS from 00 00 00 10, status 30, data 70>
2024-05-17 22:22:48.458 DEBUG (SyncWorker_37) [eltako] [Gateway] [Id: 1] Send message: <Regular4BSMessage from ff 8c 20 0c, data e0 40 0d 80, status = 0x80> - Serialized: a55a6b07e0400d80ff8c200c8056
2024-05-17 22:22:48.459 DEBUG (Thread-3) [eltakobus.serial] Sent message: <Regular4BSMessage from ff 8c 20 0c, data e0 40 0d 80, status = 0x80>

HA configuration.yaml:

eltako:
  gateway:
    - id: 1
      base_id: FF-AA-80-00
      device_type: fgw14usb
      devices:
        light:
          - id: 00-00-00-09
            eep: M5-38-08
            name: wohnzimmer
            sender:
              id: FF-8C-20-0C
              eep: A5-38-08

logger:
  default: info
  logs:
    eltako: debug
    eltakobus.serial: debug

PTC14:

Hello, @teeheee
I had the same problem with the 00-00-00-xx IDs. I have entered the hex ID of the actuator. This worked for me. I still had my actuator IDs from an IoBroker installation. But I can also read out my IDs with the Log Viewer. I have the following entry in configuration.yaml

When I press a physical switch, I get this information from the Log Viewer.

In the following example, you can see how the IDs looks in my configuration.yaml.

Bildschirmfoto 2024-05-19 um 11.34.56

I hope it helps you.
Best regards
Oliver

Hi Oliver,

thank you for your help. I tried your suggestion, but it did not work. I still cannot switch the light and PTC14 is not showing any events when I press the HA button.
Just to make sure we are talking about the same things, here an image of what I am trying:


When I press the teach button in HA I do not get any events in the right field of PTC14.
And for the events to be detected by PTC14 the id of the light and the sender should not play any role, right?
For me it seems like there is some filter active, that is blocking packages send from HA to the eltako bus.
Is there some other way to verify that FGW14-USB is really sending packages to the bus?
Maybe I got a broken TX line.

Alex

Hello,

after reading my own post I checked my wiring and noticed, that I forgot wiring the hold line to FAM14. Should have read the instructions until the end. Now everything is working.
thank you for your help.

Alex

1 Like

Hello @teeheee,

Unfortunately, it is quite complex to create the configuration. Therefore I’ve started to develop eo_man. You can use it to detect all devices and to auto-generate an example configuration containing your ids and all the fields you need. So far the teach-in function is only for bus devices supported.

Hi Philipp,
I’m pretty new in this stuff and no programmer.
I’ve running a Eltako setup in IoBroker. FAM14, USB300, FUD14, FSR14.

Now i wanted to move to HA. But i’m realy strugeling with eltako.

I tried to start with your tool but couldn’t get it to work. When try to detect the connection, the tool freezes.

Perhaps you have a hint to get this to work.

..venv\Scripts\python.exe -m eo_man

Microsoft Windows [Version 10.0.22631.3737]
(c) Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\chris>..venv\Scripts\python.exe -m eo_man
C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0\Lib\html\parser.py:171: XMLParsedAsHTMLWarning: It looks like you’re parsing an XML document using an HTML parser. If this really is an HTML document (maybe it’s XHTML?), you can ignore or filter this warning. If it’s XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument features="xml" into the BeautifulSoup constructor.
k = self.parse_starttag(i)
2024-06-14 06:17:59,946 INFO eo_man Start Application eo_man
2024-06-14 06:18:01,282 INFO eo_man Name: eo_man
Version: 0.1.24
Summary: Tool to managed EnOcean Devices and to generate Home Assistant Configuration.
Home-Page: GitHub - grimmpp/enocean-device-manager: enocean-device-manager
Author: Philipp Grimm
License: MIT License
Requires-Python: >=3.7
Lastest_Available_Version: 0.1.24

2024-06-14 06:18:18,846 ERROR root Was not able to detect serial ports.
Traceback (most recent call last):
File “C:\Users\chris.venv\Lib\site-packages\eo_man\view\serial_communication_bar.py”, line 213, in detect_serial_ports
serial_ports = self.serial_cntr.get_serial_ports(self.cb_device_type.get(), force_reload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chris.venv\Lib\site-packages\eo_man\controller\serial_controller.py”, line 54, in get_serial_ports
self.port_mapping[GDT.LAN] = detect_lan_gateways()
^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chris.venv\Lib\site-packages\esp2_gateway_adapter\esp3_tcp_com.py”, line 26, in detect_lan_gateways
alias = zeroconf.cache.entries_with_name(‘_bsc-sc-socket._tcp.local.’)[0].alias
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

Hello @Chrisego,

there is a bug in detecting gateways which is actually fixed but not yet released. I try to release it soon.

Update:
I’ve relesed v0.1.25 containing the bug fix. Can you please test it again?

Hi @philipp14,
that was realy quick. Thanks!
I could connect to my system over FAM14 without any issues an download the config.

Export to HA worked.
A Konfiguration Check in HA showed a fault on all sender IDs. Sender ID listed in the Device Manager is 01 (Dec.?) for example. Not in Hex form 00-00-00-01.
I think therefore i have to teach all sender IDs with PCT14.

Hello @Chrisego,

Most probably you’ve generate the config for FAM14. This is always provided because you had it attached. Before generating HA config connect to usb300 as well and then you get both config sections for both gateways.

The configuration always contains the max you can configure for all known devices incl. gateways. You can then choose what you want to use.

Hello,
I have a question: I see alll my lights and can control these with the home assistant. So this works fine! One question however: how can I manage that I see the update of the lights also in home assistant if I’m using the buttons?
thanks
Pieter