I have OH3 on a Docker container running on a Raspi 4 with Raspberry Pi OS (64-bit). To integrate Hoppe Secusignal window handle sensors, I would like to use the EnOcean Pi module. I plugged this into the GPIO connector, the LED lights up green continuously. I have done following configuration:
Set Serial to enabled in the Raspi-Config
Deleted the console=serial0,115200 entry in /boot/cmdline.txt
Added the following lines to /boot/config.txt:
dtoverlay=pi3-miniuart-bt
enable_uart=1
force_turbo=1
Raspi restarted
The binding EnOcean, version 3.2.0 installed on OH3
Created a Thing (EnoCean Gateway) configured as ESP3 and path /dev/ttyAMA0
Unfortunately I get the message “Configuration_Error, Port could not be found”
I tested on the Raspi using ls -lah /dev/ttyAMA0, as a result I get:
crw–w---- 1 root tty 204, 64 Jul 22 20:08 /dev/ttyAMA0
Does anyone have an idea what could be wrongly configured here?
Sorry, I don’t understand what it means to pass the EnOcean device (?) to the Docker container? I got other devices into the thing-inbox after connecting the respective gateway (Somfy, Hue, MQTT) and scanning for things.
On the other hand I‘m a newbie in OH and Raspberry, maybe I have forgotten some simple config
Ok sorry, let me try to be more precise:
In order to be able to access the serial device (EnOceanPi Module) from within your openHAB docker Container you would need to allow your container to access the device. When you execute „ls /dev/ttyAMA0“ from within your container you will notice that the device you can see on your RasPi is not there.
Based on these permissions, only root-user could work with that device. Not sure with docker, but running OH3 natively, the openhab-user needs to be member of the tty-group (and this group needs permissions). So at least you’d need a chmod g+r on the ttyAMA0 device.
Thank you very much for your help! I’ve now come a few steps further.
On Portainer I added the devices /dev/ttyAMA0 and /dev/ttyACM0 (for z-Wave stick) under Runtime & Resources for my openHAB Container.
I added user rights with the following commands on the Raspi:
chmod g+r /dev/ttyAMA0
chmod g+r /dev/ttyACM0
usermod -a -G dialout openhab
Then I recreated the things… Suddenly EnOcean and Z-Wave Binding were online . My EnOcean and z-Wave devices were created via Things successfully.
After restarting the Raspi everything is offline again with the same error messages from my first post. Unfortunately I can’t get it online anymore
Do you have another tip for me what I have to configure for a renewed and permanent online status?
Are there some entries neccessary in the docker .yaml file?
Did you check the permissions are still like intended ? Most likely the device is re-created via udev-rules on boot. You’d have to add the proper permissions in that rule.
Yes, that sounds logical, but I don’t know how to do it exactly.
After researching I created the following entries under /etc/udev/rules.d/99-usb.rules:
Kernel==“ttyAMA0”,MODE=“0666”
Kernel==“ttyACM0”,MODE=“0666”
As I understand it, this should always give the devices the same serial address on the Raspi.
I am now stuck with the next steps or with the necessary configuration of my OH Docker container. The command
docker run -t -i --device=/dev/ttyAMA0 [CONTAINER-NAME] bash
brings no success
Yes I’m still using Portainer. I have added the devices there.
Today I received an online connection to Z-Wave and EnOcean twice after various restarts of the container/Raspi. I can not understand exactly what ultimately led to the online status again.
However, it is a mystery to me which necessary rights I have to set on Portainer/on the Raspi so that the connection remains permanent after each restart.