ENOCEAN key tcm310 problem

Good morning all,
I installed home assistant on pi 3 b with an enocean tcm310 key. I found in the logs the message below and I am unable to figure out how to make the key work and be able to add door opening sensors. If anyone can help me I would be very grateful.
Cordially.

Détails du journal ( ERROR )

Logger: enocean.communicators.SerialCommunicator
Source: /usr/local/lib/python3.8/site-packages/enocean/communicators/serialcommunicator.py:37
First occurred: 17:40:07 (1 occurrences)
Last logged: 17:40:07

Serial port exception! (device disconnected or multiple access on port?)

Hey Thierry and welcome to the community.

This sounds like Home Assistant has issues communicating to the USB device or you’ve just copied the example configuration without changing the hardware address. :thinking:

Please go to Supervisor (on the left) → System (up top) → In the “Host System” card, press the three dots → Hardware

Take a look at the pop-up and the values in serial:
You may find something like

/dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_…

If that’s the case, use this in your config for enocean (as your device)

Hello FEDO,
thank you very much for your help
This is what I find in the path you show me
serial:

  • /dev/ttyAMA0
  • /dev/ttyUSB0
  • /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600AVIC-if00-port0
    What to do with it?
    Cordially

Open up your configuration.yaml and change the device: /dev/(something)
to device: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600AVIC-if00-port0
in the enocean: configuration

Good evening FEDO,
Adding the expression as described, the check indicates Invalid configuration.
I also tried with dev / ttyUSB0 and it’s the same, what to do.

2020-11-23 20:11:40 WARNING (SyncWorker_0) [homeassistant.components.enocean.dongle] Dongle path /dev/ttyUSB3 is invalid: [Errno 2] could not open port /dev/ttyUSB3: [Errno 2] No such file or directory: ‘/dev/ttyUSB3’

2020-11-23 20:12:02 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from android-PC (192.168.1.7) (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36)

2020-11-23 20:12:02 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from android-PC (192.168.1.7) (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36)

2020-11-23 21:15:10 ERROR (Thread-8) [enocean.protocol.packet] Data CRC error!

2020-11-23 21:15:10 ERROR (Thread-9) [enocean.protocol.packet] Data CRC error!

2020-11-23 21:15:13 ERROR (Thread-9) [enocean.protocol.packet] Data CRC error!

2020-11-23 21:17:14 ERROR (MainThread) [homeassistant.components.hassio] Component error: device - Integration ‘device’ not found.

2020-11-23 21:25:25 ERROR (Thread-8) [enocean.communicators.SerialCommunicator] Serial port exception! (device disconnected or multiple access on port?)

2020-11-23 21:25:25 ERROR (Thread-9) [enocean.communicators.SerialCommunicator] Serial port exception! (device disconnected or multiple access on port?)

2020-11-23 21:28:58 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [548199521344] Error handling message: expected str for dictionary value @ data[‘service’]. Got None

Your configuration.yaml should look like this:

enocean:
  device: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600AVIC-if00-port0

Good evening,
The ocean was indeed missing:
Now there are no more errors but I do not see how to use the NODON opening sensor.
In configuration / integration there is enocean but without service or entity. I read the doc online, but I don’t see how to do it.
Cordially.

According to the docs, adding the enocean integration via configuration.yaml is deprecated, however seems like the UI didn’t work for you.
If you can, copy the device path and set up enocean via the UI (Configuration - Integrations), specify the device path (select “manual” first if needed.)

You have to add enocean devices manually.
First, you need to find out the device ID. Sometimes those are written on the back of the enocean devices.
An ID could look like this: 0x01,0x90,0x84,0x3C or similar with or without the 0x
Some manufacturers add additional zeros to the front - you usually only need the last 4 sets of numbers.
If the ID isn’t printed on the back of the device, you have to dig a bit deeper, I think you need to increase the log level of the enocean component to get to the IDs or plug the USB key into a PC.

EDIT: Yeah, so you do need to increase the log level by putting this into your config.
Then, press a button or trigger the sensor and take a look at the Logs (Under Configuration - show all logs). The device ID should appear.

Back to the IDs, if you got them, set them up as described in the docs.

Hello FEDO,
First of all, I am grateful for your help.
I would like to share with you my experience with domoticz.
Although this application is prone to accidental crashes, which I regret, supporting the TCM310 in the ocean is very simple. configuration / hardware the path is already present, save and it’s done. In switch, you press the learn button automatically, press the learn button on the sensor and all you have to do is name. In the dashboard, the element is displayed in a nice presentation with the photo of open or closed door that goes well. But here for me and so many others on the net it crashes too much.
Also, why not take inspiration from their work so that adding a single sensor is not a full time job.
In my opinion, having to access a lot of menus is redundant.
This is a real shame because the enocean protocol allows the use of sensors without batteries which reduce the cost over time of use.
I remain listening to know if you intend to evolve your system so that it becomes accessible to people like me who do not have a lot of computer experience.
Thanks again, Regards.

If I remember correctly someone was trying to re-write the EnOcean integration, however at the moment, that’s how we have to use it, it’s pretty basic. I have a lot of EnOcean devices as well and they work flawlessly once they are set up.
If you need a step-by-step guide, I can help you with screenshots if you want to :slight_smile:

Hello FEDO,
It’s really very kind of you, that’s okay.
Thank you very much in advance for keeping in touch as you do, I hope to have the opportunity to bring you something in return.
Cordially.

  1. Add this to your configuration.yaml:
logger:
  default: error
  logs:
    homeassistant.components.enocean: debug
  1. Save the file, restart Home Assistant
  2. After the restart, go to Configuration - Logs, click on Load Full Home Assistant Log
  3. Press a button on your remote
  4. Click on the reload arrow (not on REFRESH)
  5. Take a look at the latest message (probably the last one), it should say something like “received radio packet…” or something similar.
    You can paste the message here or DM me and I can take a look, the ID should be included here.
  6. Use the ID in your configuration, like in the docs (probably a binary sensor in your case)
  7. Restart Home Assistant, the entity_id should be there now.

Good evening,
I made the requested list and the log does not show any new events:
The configuration check is valid, and the logs give:
There are no new problems!

2020-11-23 23:12:09 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547665491280] Received invalid command: system_health / info
2020-11-24 07:25:34 ERROR (Thread-7) [enocean.protocol.packet] Data CRC error!

No notification
cordially

Good evening,
When restarting the rpi by cutting off the power supply, and switching from French to English, this message appeared:

Logger: enocean.communicators.SerialCommunicator
Source: /usr/local/lib/python3.8/site-packages/enocean/communicators/serialcommunicator.py:37
First occurred: 9:29:01 PM (1 occurrences)
Last logged: 9:29:01 PM

Serial port exception! (device disconnected or multiple access on port?)

Cordially.

You shouldn’t just cut off the power if possible, you can restart the system in “Supervisor”. Also by restarting I mean restarting Home Assistant in Configuration - Server Controls
Don’t know about those errors though, seems like the device didn’t get picked up? Maybe re-insert it, restart Home Assistant and if the error persists, take a look at the hardware popup as you did to find out the device path, maybe you’ll find sth. there.

Hi, I have the same serial exception issues. I am using the EnOcean USB 300 USB-Gateway 868MHz which is based on TCM310 chip. See here how far I got [enocean.communicators.SerialCommunicator] Serial port exception! (device disconnected or multiple access on port?).

Do you have it solved in the meantime?
I am still searching for a solution.