Proxmox USB Titel

Z-Wave USB Stick in Proxmox Container durchreichen und in openHAB einrichten

cropped Profilbild JoergKarstenVeröffentlicht von

Ich muss für openHAB meinen Z-Wave Stick in den Container durchreichen. Da dies kein einfacher Datenstick ist sind ein paar Schritte notwendig.

Proxmox Server

Als ersten müssen wir auf den Knoten pve, unseren Proxmox Server, in die Shell wechseln. Dort müssen wir erst einmal ein paar Informationen Sammeln. Dazu geben wir als erstes folgende Befehle ein:

lsusb
ls -l /dev/bus/usb/001/006
ls -l /dev/ttyACM0

lsusb gibt uns die Angeschlossenen Geräte am USB Bus zurück. Wir benötigen von unserem Stick die BUS und Device ID (grün). Danach können wir mit ls -l /dev/bus/usb/<BUS>/<DEVICEID> die Gruppen ID (gelb) ausgeben. Mein Stick oder besser gesagt die meisten Z-Wave Sticks erzeugen noch ein Serielles Gerät. Meist /dev/ttyACM0. Davon benötigen wir auch noch die Gruppen ID (gelb).

Proxmox Shell USB IDs auslesen

Nun können wir die auch in der Shell vom Knoten pve die Konfigurationsdatei für unseren Container mit nano öffnen. Mein Container hat die ID 101. Also benötige ich folgende Befehle:

cd /etc/pve/lxc
nano 101.conf
Proxmox Container Config Editieren

Als nächstes müssen wir folgende Zeilen hinzufügen um die beiden Geräte in den Container durchzureichen. Dafür benötigen wir unsere BUS / Device ID und die Gruppen IDs für beiden Geräte.

lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/001/006 dev/bus/usb/001/006 none bind,optional,create=file
lxc.cgroup.devices.allow: c 166:* rwm
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file

Wer nano nicht kennt. Gespeichert wird mit STRG – O und beendet wird mit STRG – X.

USB IDs einfügen

Jetzt muss noch eine Berechtigung geändert werden. Global braucht Schreib und Lese Zugriff auf das Gerät /dev/ttyACM0. Dazu schauen wir uns erst die Berechtigung an mit ls -l /dev/ttyACM0 und ändern diese dann mit chmod o+rw /dev/ttyACM0. Am ende Kontrollieren wir die Berechtigung noch einmal. Wenn alles Stimmt starten wir den Container einmal neu.

ls -l /dev/ttyACM0
chmod o+rw /dev/ttyACM0
ls -l /dev/ttyACM0
Berechtigung auf USB ID setzen

HINWEIS

Dies reicht nicht wen der Server neu startet. Da USB Geräte zur Laufzeit eingebunden werden ist die gesetzte Berechtigung nach dem Neustart verschwunden. Ich habe einiges probiert. Am einfachsten ist es crontab zu verwenden um nach dem Boot / Reboot den Befehl abzusetzen.

Dazu geben wir auf dem Server / Konoten pve in der Shell folgenden Befehl ein. Beim ersten Start werden dann nach unseren Lieblings Editor gefragt. Ich verwende hier nano.

crontab -e

Danach fügen wir eine neue Zeile am ende ein.

@reboot chmod o+rw /dev/ttyACM0

Dies Speichern wir mit STRG-O <ENTER> und STRG-X. Nun können wir das System neu starten und prüfen mit ls -l /dev/ttyACM0 ob die Berechtigung wie oben gesetzt ist.

Container – openHAB

Um in dem Container USB prüfen zu können müssen wir die USB-Utilities nachinstallieren. Danach können wir diese dann ausführen. Dazu geben wir in der Shell des Container folgendes ein:

apt-get install -y usbutils

Zum prüfen dann:

lsusb
cd /dev
ls

lsusb sollte uns nun den selben Eintrag des USB Bus ausgeben wir auf dem Server. Außerdem sollte im Verzeichnis /dev nun ttyACM0 erscheinen.

Testen der durchgereichten USB Geräte

openHAB

Openhab Z-Wave Binding

In openHAB müssen wir nun natürlich noch das Z-Wave Binding installieren. Dies ist unter Einstellungen > Things > + > Install More bindings. Dann nach Z-Wave Binding suchen.

Z-Wave Binding einrichten

Unter Einstellungen > Things > + > Z-Wave Binding eine Bridge hinzufügen muss ein Z-Wave Serial Controller Manuel hinzugefügt werden. Dies ist die Bridge für openHAB

In den Einstellungen der Bridge müssen wir nur ein Label und der Serial Port ausfüllen. Der Serielle Port in der Bridge lautet nun /dev/ttyACM0

Z-Wave Binding einrichten

Ist dies erledigt haben wir ein neues Thing. Der Status ist erst rot (Error) sollte aber nach ein paar Sekunden grün (Online) wechseln.

Z-Wave Binding Status

Damit ist das geschafft und die Einrichtung von den Z-Wave nodes kann beginnen.

Kommentar hinterlassen