staging.inyokaproject.org

zigbee2mqtt docker "Error: Error while opening serial port 'Error: Error: No such file or directory,

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

Newbunto

Anmeldungsdatum:
11. September 2017

Beiträge: Zähle...

Hallo liebe alle, ich habe versucht meine lauffähige home assistant-Instanz von meinem ubuntu-laptop auf meinen ubuntu server 22.04. zu verlagern Im ZUge dessen habe ich docker und docker-compose installiert aber der zigbee2mqtt-container leider keine Verbindung zum Texas Instruments CC2531-USB-Stick herstellen. Ich herhalte "Error: Error while opening serial port 'Error: Error: No such file or directory, cannot open /dev/ttyACM0"

meine docker-compose.yaml sieht so aus:

version: '3'
services:
  zigbee2mqtt:
    container_name: zigbee2mqtt
    image: koenkk/zigbee2mqtt
    restart: unless-stopped
    volumes:
      - /etc/zigbee2mqtt/data:/app/data
      - /etc/zigbee2mqtt/run/udev:/run/udev:ro
    ports:
      # Frontend port
      - 8080:8080
    environment:
      - TZ=Europe/Berlin
    devices:
      # Make sure this matched your adapter location
      - /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CD48546-if00:/dev/ttyACM0

und hier noch einige andere Infos, die zur Lösung sicher hilfreich sein könnten:

~# ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Apr  5 02:11 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CD48546-if00 -> ../../ttyACM0
~# test -w /dev/ttyACM0 && echo success || echo failure
success

meine zigbee2mqtt-config-datei:

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://192.168.x.x:1883'
  user: username
  password: password
  client_id: Zigbee
  reject_unauthorized: true
  include_device_information: true
serial:
  port: /dev/ttyACM0
  disable_led: true
devices:
  '0x842e14fffef8d447':
    friendly_name: Steckdose-01
  '0x842e14fffedb8741':
    friendly_name: Steckdose-02
  '0x60a423fffe00487e':
    friendly_name: Steckdose-03

Ich weiß leider nicht mehr, wo ich noch nachgucken soll und brauche dringend Hilfe!

Femtom

Anmeldungsdatum:
21. November 2022

Beiträge: 31

Hallo Newbunto, wie startest du den Container? Laut Fehlermeldung scheint es das Device im Container nicht zu geben.

Du kannst auch mal den Container starten und dann in einer Shell im Container schauen, ob es /dev/ttyACM0 gibt.

docker -it <Name des Containers, z.B. mit docker ps> /bin/sh
ls -l /dev/tty*
test -w /dev/ttyACM0 && echo success || echo failure

Newbunto

(Themenstarter)

Anmeldungsdatum:
11. September 2017

Beiträge: 71

Ich habe es mit

docker exec -it <Name des Containers, z.B. mit docker ps> /bin/sh

versucht. Das war doch gemeint, oder?

Die Rückmeldung war aber "success" ... es sollte also eigentlich funktionieren, oder? - was kann ich also noch tun? 😬

san04

Anmeldungsdatum:
19. Januar 2010

Beiträge: 659

Moin. Bist du sicher, dass der Stick ACM0 ist und an dem neuen Gerät nicht z.B. ACM1?

Femtom

Anmeldungsdatum:
21. November 2022

Beiträge: 31

Ich habe das Image mal bei mir gestartet, ohne die Hardware zu haben. Das gibt dann diese Ausgabe:

~# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
~# docker compose up -d zigbee2mqtt
[+] Running 1/1
 ✔ Container zigbee2mqtt  Started
~# docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS                                  PORTS     NAMES
2cef3ad8fd09   koenkk/zigbee2mqtt   "docker-entrypoint.s…"   18 minutes ago   Restarting (1) Less than a second ago             zigbee2mqtt
~# docker logs zigbee2mqtt
Using '/app/data' as data directory
Zigbee2MQTT:info  2023-04-09 07:52:38: Logging to console and directory: '/app/data/log/2023-04-09.07-52-38' filename: log.txt
Zigbee2MQTT:info  2023-04-09 07:52:38: Starting Zigbee2MQTT version 1.30.3 (commit #24c6b2e)
Zigbee2MQTT:info  2023-04-09 07:52:38: Starting zigbee-herdsman (0.14.103)
Zigbee2MQTT:error 2023-04-09 07:52:38: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2023-04-09 07:52:38: Failed to start zigbee
Zigbee2MQTT:error 2023-04-09 07:52:38: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2023-04-09 07:52:38: Exiting...
Zigbee2MQTT:error 2023-04-09 07:52:38: Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyACM0'
    at SerialPort.<anonymous> (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
    at SerialPort._error (/app/node_modules/@serialport/stream/dist/index.js:76:22)
    at /app/node_modules/@serialport/stream/dist/index.js:112:18

[...]
~# docker exec -it zigbee2mqtt /bin/sh
Error response from daemon: Container 2cef3ad8fd0913dc23c86a6141d62708df47db236eb4201003d8aef6bf462db0 is restarting, wait until the container is running

Du kannst ja mal genauso zeigen, wie du den Container startest und was die Ausgaben sind. Sonst weiß niemand außer dir, was du genau machst.

Newbunto

(Themenstarter)

Anmeldungsdatum:
11. September 2017

Beiträge: 71

Über diese Eingaben habe ich die Infos erhalten:

root@NAS:/opt# docker ps
CONTAINER ID   IMAGE                                          COMMAND   CREATED      STATUS        PORTS     NAMES
b595817032f1   ghcr.io/home-assistant/home-assistant:stable   "/init"   7 days ago   Up 11 hours             homeassistant

root@NAS:/opt# docker run koenkk/zigbee2mqtt
Using '/app/data' as data directory
Creating configuration file...
Zigbee2MQTT:info  2023-04-09 11:23:08: Logging to console and directory: '/app/data/log/2023-04-09.11-23-08' filename: log.txt
Zigbee2MQTT:info  2023-04-09 11:23:08: Starting Zigbee2MQTT version 1.30.3 (commit #24c6b2e)
Zigbee2MQTT:info  2023-04-09 11:23:08: Starting zigbee-herdsman (0.14.103)
Zigbee2MQTT:error 2023-04-09 11:23:09: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2023-04-09 11:23:09: Failed to start zigbee
Zigbee2MQTT:error 2023-04-09 11:23:09: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2023-04-09 11:23:09: Exiting...
Zigbee2MQTT:error 2023-04-09 11:23:09: Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyACM0'
    at SerialPort.<anonymous> (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
    at SerialPort._error (/app/node_modules/@serialport/stream/dist/index.js:76:22)
    at /app/node_modules/@serialport/stream/dist/index.js:112:18

root@NAS:/opt# docker ps
CONTAINER ID   IMAGE                                          COMMAND   CREATED      STATUS        PORTS     NAMES
b595817032f1   ghcr.io/home-assistant/home-assistant:stable   "/init"   7 days ago   Up 11 hours             homeassistant

root@NAS:/opt# docker exec -it zigbee2mqtt /bin/sh
Error response from daemon: Container 59d441773865804596aa5d61b52c2a79cf8bff67adec5a3c8ed9cd81ba9c0e17 is not running

wenn ich die container allerdings neu anlege kann ich mich Terminal auf den zigbeecontainer aufschalten:

root@NAS:/opt# docker-compose up -d
Creating network "opt_default" with the default driver
Pulling mosquitto (eclipse-mosquitto:)...
latest: Pulling from library/eclipse-mosquitto
91d30c5bc195: Pull complete
f61c0683df58: Pull complete
3feb88ceb956: Pull complete
Digest: sha256:0e0886befecf2bf77e2e613f926f6ee0b77b93f76e49847471177143a8b3863c
Status: Downloaded newer image for eclipse-mosquitto:latest
Pulling zigbee2mqtt (koenkk/zigbee2mqtt:)...
latest: Pulling from koenkk/zigbee2mqtt
f56be85fc22e: Pull complete
63242ed52d8d: Pull complete
dd872ca6aa01: Pull complete
4fc09c27040d: Pull complete
690d6db02eb0: Pull complete
e66b69db5c6f: Pull complete
344c7bc5f74a: Pull complete
300b84b8e61d: Pull complete
25b368aaa806: Pull complete
6ae3ee0ea85c: Pull complete
Digest: sha256:c5cf5288dcc5d1a02758ab71ed9604be4e401fa4b8e620c524675d6b78b359ca
Status: Downloaded newer image for koenkk/zigbee2mqtt:latest
homeassistant is up-to-date
Creating zigbee2mqtt ... done
Creating mosquitto   ... done

root@NAS:/opt# docker ps
CONTAINER ID   IMAGE                                          COMMAND                  CREATED          STATUS         PORTS                                                                                  NAMES
920d56d74d76   eclipse-mosquitto                              "/docker-entrypoint.…"   12 seconds ago   Up 6 seconds   0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp   mosquitto
cf088deaa1fb   koenkk/zigbee2mqtt                             "docker-entrypoint.s…"   12 seconds ago   Up 6 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                              zigbee2mqtt
b595817032f1   ghcr.io/home-assistant/home-assistant:stable   "/init"                  7 days ago       Up 11 hours                                                                                           homeassistant

root@NAS:/opt# docker exec -it zigbee2mqtt /bin/sh
/app # test -w /dev/ttyACM0 && echo success || echo failure
success

Wenn ich mir dann den docker-log anzeigen lasse sieht der auch unauffällig aus:

docker logs zigbee2mqtt
Using '/app/data' as data directory
Zigbee2MQTT:info  2023-04-09 13:26:48: Logging to console and directory: '/app/data/log/2023-04-09.13-26-48' filename: log.txt
Zigbee2MQTT:info  2023-04-09 13:26:48: Starting Zigbee2MQTT version 1.30.3 (commit #24c6b2e)
Zigbee2MQTT:info  2023-04-09 13:26:48: Starting zigbee-herdsman (0.14.103)
Zigbee2MQTT:info  2023-04-09 13:26:50: zigbee-herdsman started (resumed)
Zigbee2MQTT:info  2023-04-09 13:26:50: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20201127,"transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info  2023-04-09 13:26:51: Currently 0 devices are joined:
Zigbee2MQTT:info  2023-04-09 13:26:51: Zigbee: disabling joining new devices.
Zigbee2MQTT:info  2023-04-09 13:26:51: Connecting to MQTT server at mqtt://192.168.1.10:1883
Zigbee2MQTT:info  2023-04-09 13:26:51: Connected to MQTT server
Zigbee2MQTT:info  2023-04-09 13:26:51: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2023-04-09 13:26:51: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"24c6b2e","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20201127,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6754},"permit_join":false,"version":"1.30.3"}'
Zigbee2MQTT:info  2023-04-09 13:26:51: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2023-04-09 13:26:51: Zigbee2MQTT started!

ich verstehe nur nicht, wieso ich die Fehlermeldung bekomme, wenn ich den Spaß über "docker run" starte und leider kann ich den mqttserver auch nicht in mein home assistant einbinden (siehe screenshot)...

meine home assistant config sieht so aus:

#Add container user interfaces to navigate menu
panel_iframe:
  plex:
    title: "Plex"
    url: "https://192.168.1.10:32400/web"
    icon: mdi:plex
  zigbee2mqtt:
    title: "zigbee2mqtt"
    url: "http://192.168.1.10:8080"
    icon: mdi:zigbee
    require_admin: true

Newbunto

(Themenstarter)

Anmeldungsdatum:
11. September 2017

Beiträge: 71

Irgendiwe scheint das Bild nicht angezeigt zu werden...

Bilder

Newbunto

(Themenstarter)

Anmeldungsdatum:
11. September 2017

Beiträge: 71

san04 schrieb:

Moin. Bist du sicher, dass der Stick ACM0 ist und an dem neuen Gerät nicht z.B. ACM1?

" /dev/serial/by-id/" sagt das passt so (siehe oben)...

Newbunto

(Themenstarter)

Anmeldungsdatum:
11. September 2017

Beiträge: 71

Ich habe meinen Fehler gefunden ... Ich hatte

frontend:
  port: 8080

in der zigbee2mqtt config vergessen ...

Femtom

Anmeldungsdatum:
21. November 2022

Beiträge: 31

Newbunto schrieb:

ich verstehe nur nicht, wieso ich die Fehlermeldung bekomme, wenn ich den Spaß über "docker run" starte

Bei deinem "docker run" fehlen die Parameter, um deine Zigee-Hardware usw. in den Container zu bringen. Beide Befehle, "docker run" und "docker compose", starten den Container. Bei "docker compose" stehen die Startparameter in der docker-compose.yaml, bei "docker run" muss man die beim Aufruf mit angeben.

Antworten |