Продолжение поста «Как я Zigbee датчики температуры-влажности подключал к Home assistant.» Часть 2
Итак, у меня на руках правильно прошитый донгл, которому самое время быть воткнутым туда, куда он изначально предполагался, а именно в домашний сервак. Втыкаю. Proxmox, умница такая, его видит и позволяет его пробросить в ВМ, чем непременно воспользуюсь.
Дальше то чего делать? Читал, что НА умеет в Zigbee нативно, надо лишь поставить ZHA aka Zigbee home automation. Ну, буду ставить,идём в Настройки, Интеграции, Добавить, ZHA, порт из списка /dev/ttyACM0, скорость,управление потоком, добавить.. "К устройству невозможно подключиться". Бля. Ачовсмысле?
Оно же вот, видится,никем не занято. Пу-пу-пу. Qwen, давай общаться? В чем дело то?
-Когда устройство появляется как /dev/ttyACM0, это означает, что оно определилось в системе, но HA может не иметь прав на доступ к порту. Убедись, что пользователь, от которого запускается Home Assistant, входит в группу dialout (или uucp в некоторых системах). Скинь, говорот ИИ, результат dmesg | grep tty. Не, это было бы актуально, если бы я НА ставил как сервис в, например, убунту, но я же накатил(хех) HassOS, но ИИ об этом еще не знает. Скинул. Говорит, у тебя там все хорошо, но с правами на устройство видимо косяк. И дружелюбный такой, зараза. В конце рекомендует поставить Zigbee2MQTT, типа чтобы не мучиться. Я подумал, что рано сдаваться, и надо бы разобраться в проблеме. Выполняю рекомендацию:
[core-ssh dev]$ ls -l /dev/ttyACM0
crw-rw---- 1 root audio 166, 0 Jul 19 23:12 /dev/ttyACM0
..и он такой: во! проблема найдена, у тебя НА не в имеет прав, надо, говорит, группу поменять, не audio, а dialup поставить. Интересно. А какие пользователи у нас вообще есть? cat /etc/passwd сообщает, что никаких пользователей homeassistant или что то в этом роде у нас не имеется, а значит что-то менять смысла нет. Тут я додумался сообщить таки ИИ, что у меня не стандартная ОС, а именно сборка HassOS. Квен был необычайно вежлив и сообщил мне, неграмотному, что "В HAOS нельзя напрямую добавить пользователя в группу , но можно:.. временно изменить права устройства вручную.." Ну бля :( Сокращу диалог, в котором он сообщает, что ничего приемлемого ты с этим не сделаешь, а ставь ка ты Zigbee2MQTT и будет счастье. Сдаться? Последняя попытка:
-Перед тем, как настраивать Zigbee2MQTT я хотел бы знать, где находятся в этой ОС правила udev
- Это закрытая, read-only операционная система. Обычные пути вроде /etc/udev/rules.d/ отсутствуют или недоступны для записи. HAOS не предоставляет прямого доступа к udev и другим системным компонентам. Где находятся правила udev в HAOS? В HAOS нет традиционных правил udev в виде файлов вроде /etc/udev/rules.d/99-usb-serial.rules, потому что:
Ядро и udev управляются через systemd
Правила udev загружаются внутри initramfs и не доступны напрямую
Система использует ограниченный образ Alpine Linux , и большинство системных файлов защищены от изменений.
Бля. Приехали. Даже если я там что-то поменяю, при обновлении всё станет по-старому.
Ну давай ставить Zigbee2MQTT, чож. Зайди Настройки-Дополнения-Магазин дополнений, три точки справа сверху-Репозитории-Добавить, https://github.com/hassio-addons/repository - Добавить - тыщщ, ошибка.
Ну епт. Прошареный читатель скажет, что репозиторий, тащемто, у тебя уже добавлен, просто он сегодня называется HACS, и будет совершенно прав, просто Квен об этом не в курсе и рекомендует устаревшее. А что самое интересное, что в нем нет Zigbee2MQTT. Хер знает, как ребята из инернетов это все ставят.
Такие дела. Я еще какое то время пободался с Квеном по этому поводу, но он был уверен в своей правоте и никак не верил, что репо нет, предлагая проверить правильность копипасты адреса репо.
На этом моменте я решил применить описанный в первой части метод, а именно отложить на время ёблю и заняться чем то другим, а потом вернуться. К моему удивлению это сработало, и при следующем подходе к компу ZHA смог нормально настроить и общаться с донглом без заморочек, позволив добавить датчики. Хэппи энд, камрады.
А тут лежит всякое полезное файло для энтузиастов, которым вдруг интересно пройти такой же путь, но с меньшими затратами времени и сил. Как подключать донгл для программирования - в ссылках в первой части.