Wer sich für Hausautomation interessiert und zur Steuerung DomoticZ verwendet der wird früher oder später auf günstige 433Mhz Komponenten wie z.B. schaltbare Steckdosen zurückgreifen.

Im Grunde eine einfache Sache, gibt es doch für den Raspberry Pi verschieden Möglichkeiten ihn "OnTheAir" zu bekommen. Eine dieser Möglichkeiten ist der Einsatz von "RFLink", einem Transceiver für verschiedene Frequenzbereiche. Ich gehe an dieser Stelle nicht auf Installation und Konfiguration ein da dies im Netz schon auf etlichen Seiten perfekt beschrieben ist. Vielmehr möchte ich eine Problemlösung zur Verfügung stellen: Man hat alles wie beschrieben installiert und trotzdem geht des ned ... Natürlich kann das an vielen Dingen liegen, eines jedoch das nicht so gut dokumentiert ist, möchte ich hier gerne auflösen. Es handelt sich um ein Problem welches über die Fehlermeldung "Error: RFLink: Error opening serial Port" angezeigt wird. Meist ein Berechtigungsproblem.

Wie schon gesagt ist alles installiert aber der Zugriff auf den RFLink funktioniert trotzdem nicht. Eine ergiebige Quelle für Informationen woran es liegen könnte sind Logfiles oder das Logging von DomoticZ selbst,welches man über

   erreichen kann. 

Dann noch auf dem Raspberry Pi selbst, hier meist in der Datei "var/log/syslog" und dem Befehl "sudo cat /var/log/syslog |grep -i rflink | grep -i Error"

Bei einem Raspberry Pi 3 mit Raspian wird für den RFLink eine Serial2USB Schnittstelle mit der Bezeichnung /dev/ttyACM0 verwendet. Ob diese auch korrekt durch das System angelegt wurde kann man mit den Befehlen  

"ls -la /dev/tty*" und "dmesg |grep  -i ACM" an der Console des Raspberry Pi herausfinden. Dies funktioniert auf anderen Linux Systemen / Distributionen analog, die Geräte Bezeichnung kann aber abweichen. Zum Beispiel "/dev/ttyUSB0" wenn der RFLink über USB angeschlossen wird.

 

Was machen wir nun mit diesen Informationen ? Dazu muss man wissen, das unter Linux nicht einfach jeder Benutzer auch Berechtigungen für alle Geräte hat/automatisch bekommt. In unserem Falle liegt genau dieses Problem vor. Der Benutzer, welcher den RFLink verwenden will ist der Benutzer unter dem der DomoticZ Service arbeitet. In meinem Falle der Benutzer "brainhack"

 Dies kann man sehr einfach mit dem Befehl "ps -aux |grep -i domoticz" herausfinden. Links wird dann der Benutzer angezeigt, in dessen Kontext DomoticZ läuft. Folglich muss dieser benutzer dann auch entsprechende Rechte haben, auf das Interface zuzugreifen, an dem der RFLink angeschlossene ist. Wie hier zu sehen ist, muss der User entweder selbst "root" sein (das ist nicht zu empfehlen) oder aber der Benutzergruppe "dialout" angehören.

 Hier ist das Problem : Mein Benutzer "brainhack" gehört leider nicht dieser Gruppe an und somit kann DomoticZ (da es in diesem Kontext läuft) nicht auf die Schnittstelle zugreifen, der Befehl zur Anzeige der Gruppenzugehörigkeit lautet "sudo id brainhack  Das ändern wir nun mit dem Befehl " sudo usermod -a -G dialout brainhack"

Das Ergebnis  ermöglicht dem User nach einem reboot !! (oder re-login und service restart des DomoticZ services) auf die Schnittstelle zuzugreifen 

 

Das Herunterladen und Verwenden von Daten von dieser Website erfolgt auf eigenes Risiko des Benutzers. Der Anbieter übernimmt keine Haftung für Schäden, die direkt oder indirekt durch die Verwendung der bereitgestellten Daten entstehen. Alle auf unseren Websites genannten Markennamen sind Eigentum der Markeninhaber.