08.08.2024: Накатываю Home Assistant на Debian
Снилась дичь. Деревня, параллельные миры, двери, люди и животные, которых уже нет среди живых, двоюродная сестра, с которой не виделись (и не общались) лет так 30. Погода меняется что-ли?
Проснулся, посмотрел на календарь, а там долбанная нумерология. Двойки, четвёрки и восьмёрки.
Подумать только, уже почти треть месяца прошла. Скоро осень. Скоро буду просыпаться в темноте, а перед сном утепляться.
С утра нужно решить несколько вопросов.
- Вчера мама неудачно упала на улице и сломала челюсть. Открытый перелом, больница и полная неопределённость с дальнейшими действиями.
- Home Assistant. Его надо восстанавливать. Без него уже неудобно. Не работает целый ряд автоматизаций, да и привык уже.
- Планы на неделю не реализованы, а она заканчивается.
Что там по планам?
- Сделать 1 новый кейс.
- По Учебному Центру отработать минимум 6 часов.
- По 7d2d довести счётчик подбитых зомбей до 3000. Сейчас 2051.
Залить 0 видосов в ВК.- Снять переднюю панель у тренажёра и сделать фото внутрянки.
- Заменить полетевший кулер и смазать процессор новой термопастой на N-M.
- Довести счётчик приседаний до 17500 (лучше до 17000). Осталось 370 (870).
Пока в таком составе, но пункты будут меняться в течение дня.
Выдохнул. Перекрестился. Погнали.
- Отписался маме. Теперь ждём что скажет врач после обхода.
- По HASS – накатил Debian на флешку и запустил установку на одной резервной машине (купил очень давно за смешные копейки на Авито), которую планировал использовать совсем для другого проекта.
В качестве зеркала указал ftp.psn.ru, чтобы не возникало проблем с блокировками. В теории это может помочь.
- По приседаниям, сделал 3 подхода по 40, пока есть силы.
- Заказал аккумулятор к триммеру.
У меня их два, и в первом аккумулятор показал себя вещью почти незаменимой. Кстати! Надо зарядить.
- Залил два видоса в ВК-паблики.
Там только в одном нужно было докинуть аудиодорожку (ибо Ютуб при выгрузке её выкусил) и положить видосик на бок.
Теперь кейс. Частично он написан заранее. Внёс правки в нескольких местах, и запушил в репозиторий.
Перерыв.
Дебиан установился. Что удивительно, там даже рабочий стол нормально отобразился (после небольших настроек).
Это заставляет задуматься о неудачных попытках установки RedOs на данную машинку. Вдруг и там не хватало банальной настройки экрана. Впрочем, вряд-ли. Я тогда перепробовал всё что только мог. В т.ч. настраивал разрешение через консоль и прочее. Но… Осадочек остался.
Теперь захожу на машину по SSH и начинаю глумиться.
Потом всё переустановлю, если что, но не могу не попробовать.
Накатываю Home Assistant на Debian
Захожу на машину по SSH.
Переключаюсь на суперпользователя.
sudo su
Ввожу пароль рута (суперпользователя), который назначил при установки системы.
Устанавливаю Миднайт Коммандер. С ним мне удобнее.
apt install mc
Запустил Миднайт Коммандер.
mc
Вышел из папки пользователя. Зашёл в папку root. Прожал Ctrl-O и снова вижу консоль.
Устанавливаю необходимые приложения.
apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus apparmor-utils systemd-journal-remote lsb-release -y
Ставлю OS-Агента.
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_x86_64.deb
sudo dpkg -i os-agent_1.6.0_linux_x86_64.deb
Ставлю докер. Можно проще, но я делал этими командами.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo usermod -aG docker $USER
Ставлю Home Assistant.
wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
sudo apt-get install systemd-resolved
Ввёл команду apt install ./homeassistant-supervised.deb, но система выдала ошибку. Исправляю.
apt --fix-broken install
apt install ./homeassistant-supervised.deb
Перезагружаю машину.
reboot
Через несколько минут (когда перезагрузка завершилась) захожу в браузер по адресу http://IP_машины:8123 и вижу вебморду.
Ухожу пить чай.
Возвращаюсь, и наблюдаю страницу с приветствием.
Ура. Обычно в этом месте люди жмут кнопку “Создать мой умный дом” и занимаются первичной настройкой всего, но у меня есть бэкапы старой системы. Буду пытаться восстановиться из них.
Погнали. Заливаю файл с резервной копией и иду работать.
Это надолго. Кроме того, в прошлый раз система после такого легла и обратно не встала, но я обязан попытаться.
Там столько всяких интеграций и настроек, что замаюсь их все заново добавлять. И это при том, что бэкап ещё весенний. Более свежие канули, когда позавчера “коробочка” TV Box H96 Max накрылась волосатым тазом.
В общем, заканчиваю перерыв и продолжаю работать.
Бэкап успешно применился! Поменял на роутере IP для машины (там привязка по MAC-адресу), перезагрузился и всё заработало как раньше.
Что-то пришлось удалить за неактуальностью, а что-то добавить (благо главный конфиг сохранил практически перед самым падением системы).
Из печального, нет возможности вывести температуру процессора. Команда sensors показывает +11°C, в то время как в комнате +27.6°C. Насколько я понял, это хардверная проблема. Впрочем, решение нашлось, но о нём ниже.
Попробовал сделать новый бэкап, но вылезла ошибка.
Неожиданно… И что с этим делать?
Перезагрузка не помогла. Может стоит сначала обновить все модули, которые этого требуют?
Начал с ядра. Обычно это одно из самых долгих обновлений, да к тому же с сюрпризами. Тут всё может пойти лесом и угробить сразу несколько часов работы.
И да, это было долго. И да, думал что система не встанет. Но нет, в итоге всё заработало.
А после обновления ядра получилось сделать полную резервную копию. Сразу её и выкачал.
Остальные модули обновил сравнительно быстро. Разве что после некоторых пришлось перезагружать систему.
Теперь у меня другая проблема. Как дистанционно перезагружать саму машину?
Простое выключение с помощью “умной розетки” поможет только выключить машину. А как потом стартовать? Внешнюю кнопку сделать? Или готовый контроллер поискать?
Готовый стоит примерно 1500 руб. Втыкается в слот на матплате, и присоединяется к кнопке включения и (не смог разглядеть на картинках) возможно к ресету.
Т.е. всё то же самое возможно сделать самому. Понадобится пара реле и ESP32. По цене выйдет вдвое дешевле, но… моё поделие не будет совместимым с eWelink, а значит и с “Умным домом Яндекс”. Придётся изобретать “костыли”, чтобы этим пользоваться, а мне бы этого очень не хотелось.
Хоть донаты на эту приблуду собирать начинай…
Ладно. Подумаю над этим позже. А пока, делаю резервную копию, выкачиваю её, и можно заканчивать перерыв.
Как вывести температуру процессора в Home Assistant под Debian 12.04 (Debian 6.1.99-1)?
На самом деле всё банально и менять (после Armbian) пришлось всего одну строку.
Я даже оставил её в коде закомментированной. Вдруг кому понадобится.
Захожу с помощью дополнения File Editor в /homeassistant/configuration.yaml и в раздел command_line добавляю сенсор.
command_line: ... # Температура процессора сервера HA - sensor: name: 'Температура процессора (HA)' #command: 'cat /sys/class/thermal/thermal_zone0/temp' command: 'cat /sys/class/hwmon/hwmon1/temp1_input' unique_id: 'ha_cpu_temperature' unit_of_measurement: '°C' value_template: '{{ value | multiply(0.001) | round(0) }}' scan_interval: 90 ...
Примерно так это выглядит.
Многоточия не нужны. Они просто показывают, что выше и ниже, в моём файле, есть другие сенсоры/переключатели.
На удивление это работает, и температура отображается более-менее адекватная.
temp1_input выбрал исключительно потому, что в нём отображалась самая высокая на тот момент температура.
Тут важен сам принцип. Ищем “файлы” с температурой и используем путь к ним в конфиге.
Кстати, консольная команда sensors внезапно починилась после того, как я установил программу psensor в графической среде Debian.
В общем, снова могу наблюдать за температурой процессора.
Т.е. можно считать, что восстановление проведено в полном объёме. Точнее… можно было бы считать, но сперва надо решить вопрос с удалённым рестартом.
Впрочем, решение нашлось и здесь и о нём чуть дальше.
Решаю проблему рестарта компьютера с Home Assistant
Сразу скажу, что решение малость костыльное, но рабочее. Я проверил.
Выключаю компьютер, вынимаю из обычной розетки и вставляю в розетку “умную”, управляемую “умным домом Яндекс”.
Включаю компьютер и начинаю натыкивать кнопку F2 на клавиатуре.
Это у меня по F2 при начальной загрузке проваливаешься в экран Bios’а. У тебя возможно нужно прожимать Del, F10 или вообще Esc. Обычно подсказка появляется при старте, на секунду или чуть больше.
На экране Биоса перехожу во вкладку Power.
Опять же, у тебя нужная опция может быть спрятана в самом неожиданном месте.
Во вкладке нахожу опцию “After Power Failure” и переключаю её значение на “Power On”.
Данная опция может называться совершенно иначе. Не напрягаясь нашёл в сети целую кучу вариаций её названия: AC Back Function, AC Loss Auto Restart, AC Power Loss Restart, After AC Power Loss, After AC Power Lost, Power Again, Power Failure, Power On After Power Fail, Power State Resume Control, PWRON After PWR-Fail, Restore on AC Power Loss, Resume on AC Power Loss, State After Power Failure, System After AC Back.
Собственно, переключив в “Power On”, а затем сохранив перед выходом, я обрёк компьютер включаться всегда, когда есть питание.
Теперь, если выключить “умную розетку”, само-собой выключится и компьютер. Однако, если её включить, то компьютер включится тоже.
Согласен, это не самый хороший вариант. Для перезагрузки лучше использовать ресет, а ещё лучше (если компьютер не завис намертво) задействовать команду reboot или вовсе перезапустить docker-контейнер с homeassistant. Но и так всяко лучше, чем во время прогулки или, ни дай Бог, поездки обнаружить, что не можешь что-то включить/выключить или проверить показания сенсоров.
День получился вполне хороший. Вечером сходил за арбузом, попутно размяв ноги, и поиграл в 7d2d.
Home Assistant работает. Осталось проверить, насколько стабильно.
На Armbian, который накатил на TV Box H96 Max (процессор Rockchip RK3318), Home Assistant зависал и вылетал примерно 2-5 раз в день.
И это днём, поскольку ночью уведомления не отправлялись, чтобы спать не мешать.
Сегодня перезапуски были исключительно из за того, что я накатывал обновления или менял конфиг. Да и не стал пока настраивать вотчдог.
Температура процессора удерживается на отметке 46°С (и это на радиаторе без активного охлаждения), что внушает осторожный оптимизм. Однако, как там и что – покажет время.
Напишите комментарий