NEWS
USB in Docker via neuer Container über Compose u.a. andere
-
@oliverio Vielen Dank.
-
Code-Schnipsel: ja, sry, ist bekannt, war zu schludrig, das nächste mal werd ich drauf achten
-
Portainer: ja container startet, ist allerdings über IP und entsprechenden Port nicht erreichbar, bei der aktuellen Portainer-version funktioniert es, muss ich mir nochmals anschauen
-
ich bin gemäß https://smarthome.buanet.de/2020/02/usb-devices-im-iobroker-docker-container-nutzen/ vorgegangen.
Und auf meinem Host (Synology) sieht es so aus:
Oder muss da noch ein /tty/ vorangestellt werden...?
-
-
@chrisham sagte in USB Device für IOBroker in Docker:
Hallo,
ich habe schon diverse Anleitungen gelesen wie USB-Port an IOBroker durchgereicht werden soll:Was ich mich die ganze Zeit Frage ... wundere bzw. nirgends erlesen kann .
Was für ein USB Stick und wofür !So sieht meins aus :
bineinUser@DS:~# lsusb |__usb1 1d6b:0002:0404 09 2.00 480MBit/s 0mA 1IF (Linux 4.4.302+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub |__1-1 0bda:5411:0127 09 2.10 480MBit/s 0mA 1IF (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffcb) hub |__1-1.1 051d:0002:0090 00 2.00 12MBit/s 2mA 1IF (American Power Conversion Back-UPS RS 1200G FW:877.L5 .I USB FW:L5 4B2021P32400 ) |__1-1.2 1a40:0101:0111 09 2.00 480MBit/s 100mA 1IF ( ffffffd6ffffffa3ffffffebffffffc5) hub |__1-1.2.3 10c4:8c07:0101 00 2.00 12MBit/s 150mA 1IF (Alexander Reinert HB-RF-USB-2 fae17ff40dc1e811829a6a713b0549ec) |__1-1.2.4 0451:16c8:0100 02 2.00 12MBit/s 50mA 2IFs (Texas Instruments CC2538 USB CDC fffffff7ffffffb3fffffff0ffffffd0) |__1-1.3 0bda:5411:0127 09 2.10 480MBit/s 0mA 1IF (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffc1) hub |__1-1.4 0bda:5411:0127 09 2.10 480MBit/s 0mA 1IF (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffc3) hub |__1-1.4.1 0403:6001:0600 00 2.00 12MBit/s 90mA 1IF (EService-Online eBus Coupler Iso 21001 A5WHQ9VE) |__1-1.4.2 0403:6015:1000 00 2.00 12MBit/s 90mA 1IF (FTDI FT230X Basic UART D30AB5U3) |__1-1.4.3 2a07:0102:0201 00 2.00 12MBit/s 100mA 1IF (KNX License Stick KNX-1C01BC41 42D7B0C00604) |__1-4 f400:f400:0100 00 2.00 480MBit/s 200mA 1IF (Synology DiskStation 65007C9F15DA5A98) |__usb2 1d6b:0003:0404 09 3.00 5000MBit/s 0mA 1IF (Linux 4.4.302+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub |__2-1 174c:55aa:0100 00 3.00 5000MBit/s 0mA 1IF (Inateck ASM1153E 12345678910B) |__2-2 0bda:0411:0127 09 3.20 5000MBit/s 0mA 1IF (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc0) hub |__2-2.3 0bda:0411:0127 09 3.20 5000MBit/s 0mA 1IF (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc2) hub |__2-2.3.4 0bda:8156:3104 00 3.20 5000MBit/s 256mA 1IF (Realtek USB 10/100/1G/2.5G LAN 401000001) |__2-2.4 0bda:0411:0127 09 3.20 5000MBit/s 0mA 1IF (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc4) hub
.
denn in deiner Ausgabe :Und auf meinem Host (Synology) sieht es so aus:
sehe ich nichts davon , also wird er nicht erkannt !
-
@glasfaser sagte in USB Device für IOBroker in Docker:
bineinUser@DS:~
Ist schon wieder Karneval und es wird sich verkleidet?
-
@chrisham sagte in USB Device für IOBroker in Docker:
Und auf meinem Host (Synology) sieht es so aus:
Im Host :
Schau damit ..
bineinUser@DS:~# ls -la /dev/ttyUSB* crwxrwxrwx 1 root root 188, 1 Oct 23 13:41 /dev/ttyUSB1 bineinUser@DS:~# ls -la /dev/ttyA* crwxrwxrwx 1 root root 166, 0 Oct 23 13:41 /dev/ttyACM0 bineinUser@DS:~#
USB1 ist bei mir ein Lesekopf / Smartmeter
ACM0 ist bei mir ein Zigbee-Stick -
@glasfaser Ist bei mir auch ein Smartmeter-Device über USB. Und ich denke, der wird schon erkannt: Hier einmal mit USB angesteckt und einmal ohne:
-
@chrisham sagte in USB Device für IOBroker in Docker:
devices:
- /dev/ttyUSB0=/dev/ttyUSB0
Warte mal ...
du hast ein = Zeichen da kommt ein Doppeltpunkt : rein/dev/ttyUSB0:/dev/ttyUSB0
EDIT :
##siehe auch einen Thread dazu : -
@glasfaser Ok, das scheints wohl gewesen zu sein bzgl. dem Device, nun bekomme ich:
Error Deployment error
failed to deploy a stack: Network mychrisham-stack-1_default Creating Network mychrisham-stack-1_default Created Container iobroker-4 Creating Container iobroker-4 Created Container iobroker-4 Starting Error response from daemon: driver failed programming external connectivity on endpoint iobroker-4 (b296cdd0b681210f465c58b15c5a14641f21c53268c353595d8a3624d0f11b99): Error starting userland proxy: listen tcp4 0.0.0.0:8081: bind: address already in useAllerdings habe ich den bisherigen IOBroker-Container gestoppt, also sollte der Port 8081 doch wieder frei sein, sry, vermutlich basics....
-
@chrisham sagte in USB Device für IOBroker in Docker:
Allerdings habe ich den bisherigen IOBroker-Container gestoppt, also sollte der Port 8081 doch wieder frei sein,
gib ihm einen anderen Port .
-
@chrisham sagte in USB Device für IOBroker in Docker:
ports:
- "8081:8081"
oder ..
das ist dein neuer Container ... dann soports:
- "8089:8081"
Dann mit 8089 aufrufen !
-
@glasfaser ok, das gelöst, jetzt aber das:
Deployment error
failed to deploy a stack: Network mychrisham-stack-2-a_default Creating Network mychrisham-stack-2-a_default Created Container iobroker-4 Creating Container iobroker-4 Created Container iobroker-4 Starting Error response from daemon: Bind mount failed: '/docker/iobroker-Chrisham' does not existsdas volume "/docker/iobroker-Chrisham" existiert aber, jedenfalls im File-Manager der NAS angelegt und in Container-Manager der NAS auch sichtbar... muss ich das im Portainer unter Volumes auch nochmals anlegen?
volumes: - /docker/iobroker-Chrisham:/opt/iobroker - /docker/userscripts:/opt/userscripts - /docker/Backup:/opt/backup/
-
@chrisham sagte in USB Device für IOBroker in Docker:
muss ich das im Portainer unter Volumes auch nochmals anlegen?
Nimm das ertmal raus volumes , das kannst du auch später per Syn Docker oberfläche zuweisen !
-
@glasfaser ok, versuch ich, oder muss da noch sowas mit rein: "/volume1/@docker/volumes", also volume1...?
-
@chrisham ok, ohne volumes hats jetzt geklappt, ist aber umständlich, wenn ich jetzt noch auf Synology rumkonfigurieren muss, eigentlich hätte ich jetzt dann wirklich gerne alles über docker compose gemacht...
- USB geht in Syn nicht
- volumes geht in portainer nicht....
-
@chrisham sagte in USB Device für IOBroker in Docker:
ok, das gelöst, jetzt aber das
ne gelöst ist es nicht. irgendein container hat noch seinen finger auf 8081 drauf. das findest du über die container-übersicht in portainer heraus. in spalte published ports müsste irgendwo der 8081 drin stehen
-
@Chrisham
@glasfaser sagte in USB Device für IOBroker in Docker:Nimm das ertmal raus volumes , das kannst du auch später per Syn Docker oberfläche zuweisen !
Ich würde die Konfigurationen nicht mischen. das ergibt chaos.
aber zum ausprobieren kannst die volumes erst einmal weglassen.
dann legt docker für dich ersteinmal eigene named columes an.
wenn dann das alles funktioniert, dann füge eigene mappings hinzu und lösche dieses named volumes. die findest du in portainer in der volumes auflistung mit unused (sobald du neue zuordnungen gemacht hast) -
@chrisham sagte in USB Device für IOBroker in Docker:
volumes:
- /docker/iobroker-Chrisham:/opt/iobroker
- /docker/userscripts:/opt/userscripts
- /docker/Backup:/opt/backup/volumes: - /volume1/docker/iobroker-Chrisham:/opt/iobroker
/volume1 gehört davor !
-
@glasfaser ok, alles klar, vielen Dank, echt exzellenter Support.
ich muss jetzt erstmal was essen, und vermutlich brauch ich auch ein Bier, Prost.... -
aber sehr gut das du nicht die geduld verlierst.
mir ging es vor einigen jahren ebenso.
manchmal muss man sich durchbeissen, besonders wenn man die eigentlich
dahinter stehenden konzepte nicht kennt oder nicht ganz versteht.
wenn deine grundinstallation für den iobroker steht, dann kann man schauen,
welche anderen dienste du noch mit iobroker verschalten willst und wie man das am besten darstellt.
wenn das dann mal soweit ist, dann machst du (container-)betriebssystem und node-update in 2 Minuten.
du siehst ja, was es hier immer wieder für threads gibt. -
@oliverio Danke, absolut! Ich beiß mich da jetzt durch. Ich habe meinen (ersten) IObroker container nun schon seit >1 Jahr laufen und auch schon mit grafana, influx, asterisk verschaltet. Aber genau Docker-Technologie kann man erst so richtig ausschöpfen, wenn man das neu erstellen, updaten,... richtig beherrscht, da muss ich jetzt halt durch....
und da schau her, ich habs nochmals mit dem 8081 probiert, jetzt klappts... und yeaahhh, der neue container hat gestartet, alle meine bisherigen Adapter sind da und starten sich nach und nach...
meine Blocklys sind da....als nächstes probiere ich jetzt noch das mit den zusätzlichen Linux-Paketen (asterisk), die kann man ja in der neuen buanet-version auch über Env-Variablen gleich reinkonfigurien und spart sich dann das händische installieren...
so jetzt aber abendessen...
-
@oliverio ok, weiter geht es:
Jetzt habe ich noch (versucht):- Linux pakete (über Env-Var) mit zu installieren
- influxdb container
- grafana container
aktuelles compose:
version: '3' services: iobroker: restart: always image: buanet/iobroker:latest container_name: iobroker-4 hostname: iobroker-4 ports: - "8081:8081" volumes: - /volume1/docker/iobroker-Chrisham:/opt/iobroker - /volume1/docker/userscripts:/opt/userscripts - /volume1/docker/Backup:/opt/backup/ environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - DEBIAN_FRONTEND=teletype - LANG=de_DE.UTF-8 - LANGUAGE=de_DE:de - LC_ALL=de_DE.UTF-8 - SETGID=1000 - SETUID=1000 - TZ=Europe/Berlin - USBDEVICES=/dev/ttyUSB0 - PACKAGES="ffmpeg lame sox libsox-fmt-mp3 asterisk" devices: - /dev/ttyUSB0:/dev/ttyUSB0 influxdb: restart: always image: influxdb:latest container_name: influxdb-4 ports: - "8086:8086" volumes: - /volume1/docker/influxdb/config:/etc/influxdb2 - /volume1/docker/influxdb/data:/var/lib/influxdb2 environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - GOSU_VER=1.12 - INFLUXDB_VERSION=2.7.1 - INFLUX_CLI_VERSION=2.7.3 - INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs - INFLUXD_INIT_PORT=8086 - INFLUXD_INIT_PING_ATTEMPTS=600 - DOCKER_INFLUXDB_INIT_CLI_CONFIG_NAME=default - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=iobroker - DOCKER_INFLUXDB_INIT_PASSWORD=*1Xs(QD5gY0!B&XHe1_x - DOCKER_INFLUXDB_INIT_ORG=smarthome - DOCKER_INFLUXDB_INIT_BUCKET=iobroker grafana: restart: always image: grafana/grafana:latest container_name: grafana-4 ports: - "3000:3000" volumes: - /volume1/docker/grafana:/var/lib/grafana - /volume1/docker/grafana:/var/lib/grafana/plugins environment: - PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - GF_PATHS_CONFIG=/etc/grafana/grafana.ini - GF_PATHS_DATA=/usr/share/grafana - GF_PATHS_HOME=/usr/share/grafana - GF_PATHS_LOGS=/var/log/grafana - GF_PATHS_PLUGINS=/var/lib/grafana/plugins - GF_PATHS_PROVISIONING=/etc/grafana/provisioning - GF_AUTH_access enabled=true - GF_AUTH_org_name=CH_Smart
Aber es gibt Probleme:
1.) die Linux-Pakete sind nicht vorhanden im iobroker container
2.) 2 Adapter sind nicht mit Host verbunden: influxdb und seltsamerweise auch mein KNX-Adapter
In bisherigem influx-container war das die config (DSM):
Da ist auch eine IP-Adresse angegeben. Du hattest in deinem Bsp. auch etwas mit Network angegeben:
networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4:
Ideen?