mal333
Продолжение поста «Как я 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 смог нормально настроить и общаться с донглом без заморочек, позволив добавить датчики. Хэппи энд, камрады.
А тут лежит всякое полезное файло для энтузиастов, которым вдруг интересно пройти такой же путь, но с меньшими затратами времени и сил. Как подключать донгл для программирования - в ссылках в первой части.
Как я Zigbee датчики температуры-влажности подключал к Home assistant. Часть 1
Преамбула. Ниже сказ о том, как из-за хотелок можно вдосталь получить потрахушки на, казалось бы, ровном месте.
С чего всё началось: увидел как то на озоне датчики температуры-влажности по цене ниже 1 тыс за пучок, дай думаю возьму, буду смотреть какие такие показания в комнатах, особенно зимой интересно.
И не посмотрел, что они по протоколу Zigbee работают, обнаружил только когда подключать их к смартфону собрался. Ну не возвращать же, рабочие вроде, да и заморачиваться с возвратом.. Стал читать, что такое, как победить внезапную проблему. Оказалось, надо к ним еще устройство, которое координатором называется, к которому эти датчики и подключаются. Ну давайте посмотрим, сколько устройство такое стоит. И что то ценники на них меня не порадовали, смысл из затеи начал вытекать как из дуршлага вода. В поисках бюджетного варианта вышел на cc2531 usb dongle, который дружит с Home Assistant, который у меня как раз живет в виртуалке под Proxmox.
Тут сделаю небольшую ремарку: в погоне за уменьшением расхода памяти в виртуалке, поставил я его сразу с образа HassOS, типа чтобы всё нативненько было. Купил я этот донгл за 290р на алике, пришел довольно быстро, менее 2 недель. Ну думаю, ща знакомиться буду, втыкаю в ноут, винда пошуршала и не нашла дровей. Бля. Ну, пойдем искать дрова. Нашел только под Win7, которые не захотели дружить с девайсом. Бля. Нашел где то на гитхабе. Подсунул, снова нет. Ну, может он так под виндой не хочет работать, а в НА заработает? Вставил, прокинул устройство в виртуалку, оно там есть, но как последовательный порт не определяется тоже. Всякие попытки через консоль пинками объяснить НА, что вот оно, работай с ним давай к успеху не привели. Бля. Пока искал дровишки, увидел много ссылок на то, что эти донглы вообще то надо прошивать, а способов не много: с помощью фирменного устройства (от 760р и жди его еще 2 недели), с помощью малины (она есть, но ее для этого готовить еще надо). Я подумал, что вдруг получится помощью ch341 залить прошивку, но ИИ подробно рассказал, почему я не прав и не получится. Там протокол проприетарный, оказывается, а не какой нибудь там SPI. Грусть-печаль. Будем искать (с). И нашел таки на гитхабе, что чел прошивал с помощью ESP32, которая тоже есть. Ура! Лёд тронулся, господа присяжные заседатели(с). В репозитории имеется скетч, какое никакое описание, сопутствующий софт, все дела. Ну я такой класс, ща, подключаю платку, делаю коррекцию портов в скетче, долго думаю, чего же выставить в остальных настройках платы для заливки скетча, а то автор поленился об этом рассказать, в результат оставляею как есть по умолчанию, заливаю, к ESP подключаю донгл по инструкциям и фото, на старт, внимание, марш! Иии.. прошивка останавливается на циферке 1, а прошивальщик жрет процессор и ничего больше не делает. Да к тому же индикатор на донгле раньше горел зелененьким, а теперь погас, а из диспетчера устройств исчезло устройство, на которое я ранее драйвер пытался натянуть. Ну бля. Прям на окирпичивание похоже. Дальше шла некоторая возня с попытками подсунуть другие прошивки, поменять пины, 10 раз проверить подключение плат etc. Кстати микрокрокодильчики очень выручили. Ну не работает. Светодиоды не горят, устройство не появляется при подключении к ПК. Отложил на время отдохнуть и заняться чем то другим, ведь всем известно, что над задачками мозг размышляет и в бэкграунде. И додумался таки сходить по ссылкам, которые автор статьи любезно дал, на базе чего он своё творение создал. А там используется ESP8266. Вот тут и тут. Ну ок, есть их у меня, будем с ней пробовать. Скачал, подключил кабель.. а в устройствах ESP8266 не появляется. И кабель то вроде хороший,
с 3 разъемами, я к нему только что подключал ESP32 и работало. Правда 32-я через Type-C, а эта через микро-усб, но какая разница? Или есть? Подключаю старый телефон, а он тоже только на зарядку встаёт, а флешку подключить не предлагает. Вот ссуки! В нормальном внешне кабеле, понтовом я бы даже сказал, силиконовый такой, с подсветкой разъемов, не стали подключать пины для обмена данными именно в микро-усб. Бля. Количество граблей уверенно движется к десятке. Ну ничего, ищем и достаём из загашника проверенный кабель, подключаем и вот оно! СОМ-порт появился, скетч залился, ура. Теперь прошивочку донгла зальем. В этот раз прогресс не остановился на 1 и бодренько стал дополнять циферками строчки, в конце процесса радостно сообщил, что все успешно, наслаждайтесь. Но насладиться не получилось, т.к. донгл пребывал все в том же мёртвом состоянии, в каком он был и до успешной прошивки. Бля. Прошивка самая новая вроде. А что если не очень новую залить, с другого ресурса скачанную? Что задумано, то сделано, и ура, индикатор ожил, появился дополнительный порт, на который я с самого начала безуспешно пытался поставить драйвер, а теперь он сам установился и работает нормально. Более того, через него нормально работает софт от Texas Instruments. Ляпота то какая! Ну, теперь то у меня всё в НА заколосится, теперь то датчики подключу и как буду смотреть от них инфу к своей радости, думал я.
Наивный.
To be continued..
Вакансия
Кто там искал пассивный доход в 300 тыс? Вот же :) Там каменты не оставить, но можно тут
AY-YOLA и Билан
Попался в рекомендациях совместный клип
, дай думаю гляну, вдруг огонь!? Так вот нет, не получилось впечатления. Какой-то он.. как телеге пятое колесо, не нужен там. Зрелищности не добавил, возникло ощущение, что примазался к хиту и всё. Да еще постановка.. Вот как на дудке играть с открытым ртом, скажите? Ну сразу же фанеру выдаёт, и зритель сидит, чувствует, слабо реагирует на эту постановку. Короче, на мой взгляд испортил только. Но может кому зашёл?
Продолжение поста «Картофель»2
Вот наличие картофеля в 3-х магазинах в округе. А то некоторые сагрились на "свежий"
Как определить с какого диска загрузились?
Всплыла задачка сабж. В каком-нибудь линуксе, например а-ля дебиан, убунту и т.п. Вот в системе есть с пяток дисков и как в bash определить, с какого загрузились? Какие тут подводные камни, сразу перечислю: а если грузимся с nvme, а если диски в raid, а если есть grub не только в том, с которого загрузились, а если загрузились с efi, а если это гипервизор(например prox). И вот со всеми этими если как то не удаётся найти работающего решения ни загуглив, ни через ИИ - решения в каких то условиях, да не работают. Может есть гуру, у которых знания, умения позволяют решить такую вроде бы несложную задачку? На выходе решения пусть будет переменная со значением типа "/dev/sdh"
P.s. уважаемые, я понимаю, что на частности можно написать коротенькое решение, но надо чтобы скрипт сам определил где он и выдал результат.