Умный дом на линуксе

Установка Home Assistant Supervised в Ubuntu 22.04 LTS

Обновлен мануал по установке Home Assistant (далее для краткости — HA) в связи с выходом новой версии Ubuntu и Home Assistant. В качестве отправной точки взято видео Alex Kvazis Raspberry Pi 4B в корпусе Argon ONE M.2 c SSD диском 128 ГБ, собираем сервер для Home Assistant. Однако автор использует вариант установки Home Assistant Operating System, который является наиболее простым и удобным. В данной же статье будет использоваться способ Home Assistant Supervised.

Варианты установки Home Assistant

Официальный сайт предлагает нам несколько способов установки Home Assistant:

Home Assistant Operating System для Raspberry Pi. Самый простой способ установки: залил образ и нет проблем. Все фичи в наличии. Рекомендован разработчиками. Минус — отсутствие полноценной системы.

Home Assistant Operating System (VM) для Linux. Поднимаем виртуальную машину. Качаем образ. Запускаем. Профит. Да, все фичи на месте. Рекомендован разработчиками. Минус — виртуальная машина более затратна для системы чем Docker. Впрочем, этот способ я не пробовал.

Home Assistant Container. Установка в контейнер Docker. Также рекомендован разработчиками. Минус — нет Supervisor.

Home Assistant Core. Устанавливаем окружение Python. Устанавливаем Home Assistant. Минус — нет Supervisor.

Home Assistant Supervised. Установка в контейнер Docker, но уже с Supervisor в комплекте.

Шаг 0. Установка Ubuntu Server 22.04 LTS

Здесь и далее я буду подключать Raspberry через WiFi. Начнем с того, что пропишем в нашем домашнем DHСP сервере статический IP-адрес Raspberry. Это нужно для удобства, чтобы не выяснять каждый раз, как достучаться до малинки.

Качаем образ Ubuntu от сюда и заливаем при помощи Balena Etcher на имеющийся под рукой usb-носитель или SD-карту.

Возможно, перед началом последующих действий потребуется обновить загрузчик малинки.

sudo apt update sudo apt upgrade sudo apt install rpi-eeprom sudo rpi-eeprom-update -a sudo reboot -h now

Открываем файл network-config и прописываем туда параметры WiFi. Должно получится что-то вроде:

version: 2 ethernets: eth0: dhcp4: true optional: true wifis: wlan0: dhcp4: true optional: true access-points: Название сети: password: "сюда пишем пароль"

А теперь немного комментариев разработчиков:

При первой загрузке Raspberry попытается присоединится к WiFi. Эта попытка обречена на провал. Но не расстраивайтесь, просто перезагрузите малинку sudo reboot -h now и все заработает.

Дефолтный логин ubuntu пароль ubuntu . При первом запуске пароль придется сменить. Что мы делаем сразу после установки системы? Правильно — обновляемся.

sudo apt update sudo apt upgrade sudo reboot -h now

Так же рекомендую воспользоваться сервисом duckdns.org, чтобы получить доступ к системе удаленно. После этого требуется настроить обновление информации о текущем ip адресе. Как это сделать, подробно написано на duckdns.org. Если используете Argon ONE M.2, как у меня, рекомендую настроить power button & fan control
sudo curl https://download.argon40.com/argon1.sh | bash .

Читайте также:  Linux find поиск строки

Ну и конечно же не забываем пробросить порты 22 — на консоль Ubuntu, 8123 на Home Assistant

Шаг 1. Устанавливаем зависимости

Устанавливаем jq. sudo apt install jq .

sudo apt update sudo apt install ca-certificates curl gnupg lsb-release sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Разработчики требуют, чтобы в системе было установлено Docker, Systemd, NetworkManager, AppArmor. Systemd и AppArmor уже установлены в системе — по ним дополнительных действий не требуется.

Теперь возьмемся за NetworkManager. Для начала устанавливаем его командой sudo apt install network-manager . Добавляем в автозагрузку sudo systemctl enable NetworkManager . Чтобы переключится на него идем в /etc/netplan и редактируем файл конфигурации командой sudo vi /etc/netplan/50-cloud-init.yaml . Примечание: у меня это 50-cloud-init.yaml . Говорят, название может отличаться. Добавляем строку renderer: NetworkManager на уровень ниже (с одним отступом) после строки network: . Обращаем внимание на отступы. В yaml отступы решают. Делаем sudo netplan generate и sudo netplan apply , перезагружаемся. Останавливаем systemd-networkd — он теперь больше не нужен — sudo systemctl stop systemd-networkd и отключаем его от автозагрузки sudo systemctl disable systemd-networkd , перезагружаемся.

Устанавливаем OS-Agent. В командах ниже ссылка на последнюю версию OS-Agent на момент написания статьи. Перед скачиванием рекомендую уточнить этот вопрос. В любом случае наша архитектура aarch64 .

wget github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb sudo dpkg -i os-agent_1.2.2_linux_aarch64.deb

Шаг 2. Устанавливаем Home Assisistant Supervised

Скачиваем установочный файл

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

Но запускать его не спешим. Сначала создаем временный файл командой

и добавляем туда строку systemd.unified_cgroup_hierarchy=false .

Запускаем установщик и удаляем временный файл

sudo dpkg -i homeassistant-supervised.deb sudo rm /etc/default/grub

Источник

Просто о сложном. Часть 2, создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo

В этой части устанавливаем в систему «Умный дом» контроллер Z-Wave, определяем его и знакомимся с *Nix операционными системами и работой в терминале (программой PuTTY), свои действия буду немного пояснять.

image

Напомню мои требования к «умному дому» (УД):

  1. Место — квартира, где переделка (существенная переделка чего-либо не планируется).
  2. Возможность интеграции всех решений в единую систему УД с открытым кодом .
  3. Возможность постепенного расширения (масштабирования) функционала.
  4. По-возможности, минимальные затраты.
  5. По возможности покупка элементов системы в РБ или же в РФ, без всяких заказов с зарубежных сайтов. Пришел, посмотрел, купил.
  6. По возможности русскоязычный интерфейс, документация, поддержка.

Сейчас делаем следующие шаги: расширим место на карте памяти, установим контроллер RaZberry в систему, немного ознакомимся с интерфейсом панели управления Z-Wave и MajorDoMo/

Читайте также:  Linux headers generic kept back

Устанавливаем наш контроллер Razzbery при выключенном питании. Включаем наш небольшой компьютер и подключаемся к нему с помощью PuTTY. Блок питания рекомендуется использовать на 2А., но я использовал на 1,5 А.

Небольшие советы

Если вы работаете в операционной системе Windows, и с *nix не часто работаете, то возможно вам помогут следующие советы:

Можно полностью не набирать команды, копируем команду в буфер обмена и правой кнопкой мыши в окне PuTTY, вставляем её в строку с курсором.

Перебор последних команд осуществляется клавишами ↑, ↓.

Дописывание при помощи клавиши [Tab] — если вы введете первые несколько букв имени файла, команды или пути и затем нажмете клавишу [Tab], bash покажет оставшуюся часть имени файла или пути.

При работе с PuTTY, если вы случайно забыли выставить правильные настройки, кодировку, у вас появляется проблема с отображением символов, то можно не закрывать окно, просто правой клавишей мыши кликаем по верхней панели программы и вызываем контекстное меню программы. Далее выбираем пункт: Change Settings…

image

Так же при потери соединения (перезагрузке удаленного ПК) в контекстном меню появляется пункт Restart Session.

Расширение свободного места на карте памяти

Первым делом я расширил свою карту памяти. При установке на неё копируется образ диска, и память вне зависимости от ёмкости вашей карты равна 16 ГБ. Если у вас установлена карта памяти равная 16 Гигабайтам, то этот шаг можно пропустить.

Вообще при такой операции я рекомендую сохранить резервный образ, но так как, у нас там только голая система и мы ничего ещё не делали, то не вижу в этом смысла.

image

Запускаем утилиту настройки Raspberry

Выбираем пункт 7 «Advanced Options», далее пункт A1 «Expand Filesystem»:

image

После выполнения команда перезагрузка Raspberry, подключившись к ней по новому, повторяем команду:

image

Как можно увидеть, место на карте памяти увеличилось.

Установка контроллера RaZberry:

С контроллером RaZberry поставлялась небольшая инструкция на английском и немецком языках.
Русскую версию можно прочитать здесь:

Русская версия инструкции короткая (и в части установки, соответствует полному мануалу), поэтому приведу её полностью:

  1. Скачайте образ Raspbian wheezy с официального сайта проекта Raspberry Pi (используйте обычный Raspbian wheezy, а не Soft-Float версию).
  2. Запишите образ на SD-карту (подробно эта процедура описана на сайте загрузки Raspbian).
  3. Подключите вашу плату расширения RaZberry к компьютеру Raspberry Pi как нарисовано на картинке ниже. Внимание! Никогда не подключайте RaZberry к работающему Raspberry Pi — всегда отключайте питание перед истановкой платы расширения!
  4. Вставьте SD-карту в Raspberry Pi
  5. Загрузитесь и подключитесь к Raspberry Pi по SSH или посредством экрана и клавиатуры
  6. Откройте терминал и запустите следующую команду:
    wget -q -O — http://razberry.z-wave.me/install | sudo bash
  7. После успешного завершения установки откройте в браузере страницу http://IP_OF_YOUR_RASPBERRY:8083
  8. Z-Way для Razberry успешно установлена!

Приведу мой порядок действий:

wget -q -O - http://razberry.z-wave.me/install | sudo bash

Соглашаемся с лицензионным соглашением, идёт установка и скачивание файлов.

Читайте также:  Linux панель как mac

Видим запуск mongoose сервиса и идёт предложение о получении новостей проекта Z-wave.

Соглашаемся, вводим свой e-mail в итоге:

image

Вроде бы всё установилось и запустилось.

Выполняем предпоследний пункт, набрав в браузере страницу

http://IP_OF_YOUR_RASPBERRY:8083

image

Вот на этом месте у меня и никак не получалось открыть страницу, как я не пытался, без дополнительных действий не запускается z-wave.

Увидеть запущенные процессы мы можем выполнив команду:

image

Благодаря форуму MajorDoMo (также видел решение и на некоторых других, не русскоязычных) нашел решение проблемы:

Необходимо удалить всё из папки: /opt «z-way-server». Потом выполнить команды:

wget -q -O - support.zwave.eu/libs | sudo bash wget -q -O - http://razberry.z-wave.me/install | sudo bash wget -q -O - support.zwave.eu/libs | sudo bash 

Чтоб не набирать команды удаления файлов руками, я привык к использованию файлового менеджера Midnight Commander или сокращённо MC.

У меня в образе уже установлен (но если вдруг что то изменится, то для установки выполняем команду):

Запускаем его от администратора и оказываемся в домашней папке нашого мини ПК

Переходим в директорию: /opt /z-way-server/ Удаляем содержимое, выделив insert и нажав F8.

Саму папку я не удалял. Для выхода нужно нажать F10 «выход из коммандера». Подсказки назначения функциональных клавиш – внизу окна программы, выделены зелёным цветом.

image

Далее поочередно выполняем эти три команды:

wget -q -O - support.zwave.eu/libs | sudo bash wget -q -O - http://razberry.z-wave.me/install | sudo bash wget -q -O - support.zwave.eu/libs | sudo bash 

Рестартуем сессию PuTTY (как помните, правый клик мышки, при обрыве соединения появляется restart sesshion).

Выполнив ещё раз команду pstree, видим запущенный сервис Z-Way.

image

Набрав в браузере http://IP_OF_YOUR_RASPBERRY:8083 попадаем на страницу первоначальных настроек. Необходимо задать свой пароль, логин у вас будет admin, права доступа Administrator. Также можем сменить язык, с английского по умолчанию на русский, это можно сделать и на странице своих настроек.

image

Набрав IP_OF_YOUR_RASPBERRY:8083/expert, переходим в режим эксперта. Перейдя на вкладку Device – Interview можем посмотреть статус нашего контролера.

image

Если строить «Умный дом» (автоматизацию квартиры), только на технологии Z-Wave, то возможно этого и достаточно, если же использовать несколько технологий и планировать расширение системы, то на мой взгляд, этого не хватит.

Поэтому установим ещё модуль Z-Wave в MajorDoMo:

Переходим на главную страницу MajorDomo: открыв в браузере IP_OF_YOUR_RASPBERRY (уже без указания порта), видим уже знакомый интерфейс:

image

Переходим в Панель Управления, далее: Система Маркет Обновления – оборудование

image

В самом конце списка дополнение для Z-Wave, добавляем его.

Пожалуй, на этом и остановимся.

Единственное хотел добавить:

Небольшая информация: наш Raspberry работает под операционной системой Raspbian GNU/Linux, основанной на Debian9. Узнать версию ОС можно использовав команды:

cat /etc/*-release lsb_release -a

В инструкциях по установке, описано для версии Raspbian wheezy (Debian 7), которая уже прекратила поддержку и актуальность с февраля 2016г.

Источники:

Чтоб не искать по тексту, повторю небольшой список источников:

Источник

Оцените статью
Adblock
detector