Умный дом
Предисловие:
Решил я сделать умный дом. В квартире заложил свет из экосистемы mi home. Основной задачей сделать контроль света и остального используя локальную сеть.
Остановился на системе умного дома Home Assistant, так как очень много по нему информации, довольно популярная система.
Я предполагал что с подключением света из экосистемы MI Home будет нативным. Но я ошибался, как обычно все не просто.
Так же задача состоит в том чтобы управление всеми системами выполнялось через Яндекс Алису. Фраза "Алиса, включи свет на кухне на 50 процентов" выполняло именно то, что сказано.
Начинается всё с сервера. Как обычно всё развёртываешься в гипервизоре Proxmox, конечно же как контейнер, на базе ubuntu 20.04. Как это сделать описано в данной статье.
Home Assistant
У данной системы есть несколько вариантов установки и работы. Основные: Контейнер, Операционная система, Версия "Core" - работает из под linux. Как раз последний вариант наш. Контейнеры и ОС - для слабоков.
Установим все компоненты одной командой:
sudo apt-get install -y python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg tzdata
Создадим пользователя: homeassistant
sudo useradd -rm homeassistant
Создадим папку: /srv/homeassistant
sudo mkdir /srv/homeassistant
Сделаем владельцем homeassistant созданной папки:
sudo chown homeassistant:homeassistant /srv/homeassistant
Переключаемся на пользователя homeassistant
sudo -u homeassistant -H -s
Переходим в папку /srv/homeassistant
cd /srv/homeassistant
Сделаем не понятную мне команду:
python3.8 -m venv .
И еще одну не понятную команду
source bin/activate
Установим модуль wheel в среде python, с непонятным мне параметром -m
python3 -m pip install wheel
Установим в среде python модуль homeassistant
pip3 install homeassistant
Выполним первый запуск homeassistant:
hass
Ожидаем первого запуска, это займёт некоторое время, опять же если сервер быстрый, то запустится быстро.
Можно подключиться к веб интерфейсу чтобы увидеть статус:
http://homeassistant.local:8123