Здравствуйте!
Пытаюсь запустить zigbee2mqtt в docker, по документации Docker | Zigbee2MQTT требуется указать путь и идентификатор устройства serial, с путем все понятно он ttyMOD4, а вот как правильно посмотреть идентификатор устройста не понятно, у автора статьи это выглядит так:
pi@raspberry:/ $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx. 1 root root 13 Oct 19 19:26 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00 -> ../../ttyACM0
у меня так:
root@wirenboard-AKO7YXNR:~# ls -l /dev/serial/by-id
ls: cannot access '/dev/serial/by-id': No such file or directory
собственно вопрос, как мне получить эту строчку?:
Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00
Добрый день.
Вижу, что у автора статьи команда выполнялась в октябре 2019. С тех пор многое могло измениться.
1000000:
собственно вопрос, как мне получить эту строчку?:
Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00
Если не существует символической ссылки /dev/serial/by-id
, то не вижу смысла это прописывать в конфигурацию контейнера. В статье рассматривается вариант с usb стиком.
Я бы попробовал указать вместо идентификатора путь до устройства, т.е. /dev/ttyMOD4
К сожалению ругается после запуска контейнера
[2024-06-26 18:29:32] info: z2m: Logging to console, file (filename: log.log)
[2024-06-26 18:29:33] info: z2m: Starting Zigbee2MQTT version 1.38.0 (commit #fe048e6)
[2024-06-26 18:29:33] info: z2m: Starting zigbee-herdsman (0.49.2)
[2024-06-26 18:29:38] error: zh:zstack:znp: Failed to determine if path is valid: 'Error: ENOENT: no such file or directory, lstat '/dev/ttyMOD4''
[2024-06-26 18:29:41] info: zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyMOD4","baudRate":115200,"rtscts":false,"autoOpen":false}
[2024-06-26 18:29:41] error: z2m: Error while starting zigbee-herdsman
[2024-06-26 18:29:41] error: z2m: Failed to start zigbee
[2024-06-26 18:29:41] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-06-26 18:29:41] error: z2m: Exiting...
[2024-06-26 18:29:41] error: z2m: Error: Error: No such file or directory, cannot open /dev/ttyMOD4
А каким образом отправлено в контейнер устройство?
Как и чему внутри его сопоставляете? Как задаете права? Ну и целесообразно спросить у автора статьи. Ну или почитать похожее: How to expose host serial port to container correctly? - Docker Desktop for Windows - Docker Community Forums
Только через флаг --privileged
По документации Zigbee2mqtt так выглядит установка в докер:
docker run \
--name zigbee2mqtt \
--restart=unless-stopped \
--device=/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0 \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
-v /run/udev:/run/udev:ro \
-e TZ=Europe/Amsterdam \
koenkk/zigbee2mqtt
Путь к адаптеру прорисывается в сторке
--device=/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0 \
я не знал как прописать также индификатор устройства как в примере (usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0)
по совету техподдержки WB оставил только:
--device=/dev/MOD04
в итоге моя структура развертывания контейнера:
docker run -d \
--name zigbee2mqtt \
--privileged \
--restart=unless-stopped \
--device=/dev/ttyMOD4 \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
-v /run/udev:/run/udev:ro \
-e TZ=Europe/Moscow \
koenkk/zigbee2mqtt
И в итоге контейнер не может достучаться до адаптера:
[2024-06-26 18:29:32] info: z2m: Logging to console, file (filename: log.log)
[2024-06-26 18:29:33] info: z2m: Starting Zigbee2MQTT version 1.38.0 (commit #fe048e6)
[2024-06-26 18:29:33] info: z2m: Starting zigbee-herdsman (0.49.2)
[2024-06-26 18:29:38] error: zh:zstack:znp: Failed to determine if path is valid: 'Error: ENOENT: no such file or directory, lstat '/dev/ttyMOD4''
[2024-06-26 18:29:41] info: zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyMOD4","baudRate":115200,"rtscts":false,"autoOpen":false}
[2024-06-26 18:29:41] error: z2m: Error while starting zigbee-herdsman
[2024-06-26 18:29:41] error: z2m: Failed to start zigbee
[2024-06-26 18:29:41] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-06-26 18:29:41] error: z2m: Exiting...
[2024-06-26 18:29:41] error: z2m: Error: Error: No such file or directory, cannot open /dev/ttyMOD4
Рекомендация была не совсем такая. Я предложил следующее:
Т.е. так:
--device=/dev/ttyMOD4:/dev/ttyMOD4 \
1 лайк
1000000:
--device=/dev/MOD04
Неполнятно… Опишите что именно должен делать этот параметр, без второй части?
Это флаг который позволяет получить доступ контейнеру к последовательному порту и устройству к нему подключенному
При запуске контейнера возникает ошибка
Error response from daemon: error gathering device information while adding custom device "/dev/ttyMOD04": no such file or directory
Еще почему-то в терменале при проверке порта вижу это
root@wirenboard-AKO7YXNR:~# ls /dev/ttyMOD04
ls: cannot access '/dev/ttyMOD04': No such file or directory
root@wirenboard-AKO7YXNR:~#
Добрый день.
Пришлите диагностический архив .
Существует ли такой? Если да - то откуда, вы переименовывали стандартный /dev/ttyMOD4?
Добрый день.
Выполнили ли вы данные рекомендации? Проблема актуальна?
Здравствуйте вопрос решил, не тот фаил Configuration.yaml редактировал, когда поднял контейнер он создал этот фаил в другой директории и я редактировал старый Configuration.yaml