NEWS
[Problem] USBDEVICES für ioBroker-Slave unter Docker auf RPi
-
Hallo ioBroker-Gemeinschaft,
ich möchte gerne einen ioBroker-Slave unter Docker auf einem Raspberry3 betreiben. Diese Installation soll mittels IR-USB Lesekopf und dem Adapter "Smartmeter" meinen Stromzähler auslesen. Leider scheitere ich daran, das USB-Gerät in den Container durchzureichen und erhalte von Portainer die Fehlermeldung.
failed to deploy a stack: Network iobroker-test_default Creating Network iobroker-test_default Created Container ioBrokerTest Creating Container ioBrokerTest Created Container ioBrokerTest Starting Error response from daemon: error gathering device information while adding custom device "/dev/serial/by-id/usb-FTDI0": no such file or directory
Vielleicht habt Ihr noch eine Idee, wie ich das Problem eingränzen oder sogar beheben kann. Ich bin für jede Idee dankbar!
Linux-Version per Image-Builder von Raspberry aktuell erstellt.
pi@xxx:~ $ cat /etc/*release PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
der USB-IR-Sensor ist am Raspberry angeschossen und wird erkannt
pi@xxx:~ $ ls -al /dev/serial/by-id/ insgesamt 0 drwxr-xr-x 2 root root 60 13. Mär 16:32 . drwxr-xr-x 4 root root 80 13. Mär 16:32 .. lrwxrwxrwx 1 root root 13 13. Mär 16:32 usb-FTDI_FT230X_Basic_UART_D30AEHYB-if00-port0 -> ../../ttyUSB0 pi@xxx:~ $ pi@xxx:~ $ cat /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_D30AEHYB-if00-port0
Docker-Version:
pi@xxx:~ $ docker -v Docker version 23.0.1, build a5ee5b1
Zur Installation des Containers nutze ich das Image von @andre (buanet) und folgendes file für Docker-Compose bzw. als Stack in Portainer.
An dieser Stelle noch ein riesen LOB und Dank an @andre für das klasse Docker-File und die erstklassige Doku und Blogbeiträge!version: "3.0" services: iobroker: image: buanet/iobroker:v7.2.0 container_name: ioBrokerTest hostname: iobroker_test restart: unless-stopped ports: - "8081:8081" volumes: - /var/lib/docker/volumes/ioBroker_data/_data_test:/opt/iobroker devices: - "/dev/serial/by-id/usb-FTDI0:/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_D30AEHYB-if00-port0" environment: DEBUG: true IOB_ADMINPORT: 8081 IOB_MULTIHOST: slave IOB_OBJECTSDB_HOST: 192.168.1.30 IOB_OBJECTSDB_PORT: 9001 IOB_OBJECTSDB_TYPE: jsonl IOB_STATESDB_HOST: 192.168.1.30 IOB_STATESDB_PORT: 9000 IOB_STATESDB_TYPE: jsonl TZ: Europe/Berlin LANGUAGE: de_DE:de LANG: de_DE.UTF-8 LC_ALL: de_DE.UTF-8 USBDEVICES: /dev/serial/by-id/usb-FTDI0
-
@derbastler sagte in USBDEVICES für ioBroker-Slave unter Docker auf Raspberry:
Vielleicht habt Ihr noch eine Idee, wie ich das Problem eingränzen oder sogar beheben kann. Ich bin für jede Idee dankbar!
Das ganze nativ ohne Docker, Portainer und Durchgereiche betreiben?
-
@thomas-braun
Wow das ging schnell!
Darüber hatte ich natürlich auch bereits nachgedacht. Allerdings soll auf diesem Pi zusätzlich eine weitere Software (CoDeSys) laufen. CoDeSys übernimmt in unserem Haus die primären Steuerungsaufgaben. Durch die Kapselung in Docker erhoffe ich mir mehr Flexibilität bei Updates von ioBroker ohne das Betriebssystem neu starten zu müssen. Dieser ioB-Slave soll schließlich "nur" die Verbindung zum Stromzähler herstellen. -
@derbastler sagte in [Problem] USBDEVICES für ioBroker-Slave unter Docker auf RPi:
Updates von ioBroker ohne das Betriebssystem neu starten zu müssen.
Updates des ioBrokers bedürfen eigentlich höchstens eines Neustarts der Laufzeitumgebung nodejs (wenn überhaupt). Der ioBroker ist ja eigentlich recht weit vom Kernel entfernt.
-
@thomas-braun
Die nativ-Installation halte ich auf jeden Falll als "Plan-B" im Hinterkopf. Vielleicht ist es ja trotzdem mit "durchgereichen" als Container möglich.
Hat das in dieser oder einer ähnlichen Konstellation bereits jemand zum laufen gebracht?