Ich habe nun endlich die Lösung für das Problem gefunden - zumindest bei mir. Ich weiss nicht, ob man das verallgemeinern kann, aber ich poste hier einfach mal meine Lösung.
Also mein CUL wird ja unter /dev/ttyACM0 eingehängt.
Trotzdem hatte auch ich immer den Fehler im Log:
Can't open /dev/ttyAMA0: Permission denied
Die Verzeichnisrechte auf /opt für fhem waren korrekt gesetzt, trotzdem kam immer der Fehler.
Es lag daran, dass die Gruppe "tty" keine Leserechte auf das device ttyAMA0 hatte.
Wenn man sich z.b. folgende devices mal auflisten lässt:
pi@raspberrypi ~ $ ls -lha /dev/ttyAMA0
crw--w---- 1 root tty 204, 64 Jun 12 01:26 /dev/ttyAMA0
pi@raspberrypi ~ $ ls -lha /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Jun 12 08:13 /dev/ttyACM0
pi@raspberrypi ~ $ ls -lha /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jun 12 01:26 /dev/ttyUSB0
pi@raspberrypi ~
Hier sieht man...auf dem device ttyAMA0 fehlt im Gegensatz zu den beiden anderen aufgelisteten devices ein "r" (Leserecht) für die gruppe tty.
Ich habe das Leserecht hinzugefügt mit:
sudo chmod g=rw /dev/ttyAMA0
...und seitdem ist der Fehler verschwunden. Im Log tauchen nun diese drei Einträge auf:
2016.06.12 01:26:50 3: Probing CUL device /dev/ttyAMA0
2016.06.12 01:26:51 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.06.12 01:26:51 3: Probing FRM device /dev/ttyAMA0
2016.06.12 01:26:56 1: usb create end
Also kein Fehler mehr.
Das einzige was ich wirklich nicht verstehe an der ganzen Sache ist die logische Ursache für das ganze.
Denn schaut man sich die Berechtigungen mal genauer an, kommt man zu folgendem Ergebnis:
pi@raspberrypi ~ $ ls -lha /dev/ttyAMA0
crw--w---- 1 root tty 204, 64 Jun 12 01:26 /dev/ttyAMA0
pi@raspberrypi ~ $ ls -lha /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Jun 12 08:13 /dev/ttyACM0
pi@raspberrypi ~ $ ls -lha /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jun 12 01:26 /dev/ttyUSB0
pi@raspberrypi ~
Wie zu sehen ist, ist der BESITZER der drei Dateien immer root.
Die berechtigte Gruppe für das device "ttyAMA0" ist tty.
Die berechtigte Gruppe für die Devices ttyACM0 und ttyUSB0 ist "dialout".
Für "sonstige" sind keinerlei Rechte gesetzt. Folglich haben also nur root und die jeweils eingetragene Gruppe Rechte auf das device.
Schaut man sich jetzt aber mal die Gruppenmitgliedschaften an...
pi@raspberrypi ~ $ grep dialout /etc/group
dialout:x:20:pi
pi@raspberrypi ~ $ grep tty /etc/group
tty:x:5:pi,fhem
...so sieht man, dass "fhem" lediglich Mitglied der Gruppe "tty" ist. Die Gruppe "tty" hatte kein Leserecht auf das device, deshalb der Fehler, soweit nachvollziehbar.
"fhem" ist aber *nicht* Mitglied der Gruppe "dialout" ... also hätte nach meinem Verständnis der Fehler eigentlich auch bei den anderen beiden Devices auftreten müssen...nach meinem Verständnis hat "fhem"
kein Leserecht auf die beiden devices...trotzdem kommt kein Fehler.
Kann mir das jemand erklären, warum es sich so verhält?