Найти тему
Smart home Russia

Превращаем Android ТВ-приставку в "умный дом". Установка Home Assistant в Docker на Armbian/Ubuntu.

Сегодня мы превратим нашу старую ТВ-приставку 2016 года в настоящий полноценный современный умный дом. Забавно то, что приставка будет при этом работать бодрее RPi 3B, который еще и дороже.

Translation to English is here. Также основной канал в telegram.

Идея превратить ТВ-приставку в сервер умного дома очень даже логична, сегодня новые боксы раздают на Алике по 2К, свою я брал вообще за 1К, но это были стоки старья. Думаю, если кинуть клич, то можно найти у друзей/подруг что-нибудь бесплатно. Так вот, у вас на руках оказывается мощный чип в коробочке с блоком питания и кабелем. Если вы начнете делать тоже самое на RPi 3B, например или прочих одноплатниках, то цена будет значительно выше. И вот накину вам еще аргумента - в ТВ приставки встроена EMMC память, это как SSD. В случае с одноплатниками вам придется отвалить за нее дополнительных денег, что точно будет от 2-3К. Короче говоря, одни плюшки. И логичный вопрос, а почему же так все не делают? А ответом будет - вас ждет приключение в удивительный мир развлечений, связанных с нахождением всех мануалов и инструкций для вашей конкретной приставки и того ПО, которое вы на нее установите. Свой путь я уже описал, вот вам ссылка на последнюю, а там на остальные:

Есть много способов установить HA на приставку, и я выберу далеко не самый короткий. Я ставлю Home Assistant в Docker. Это дольше чем просто установка по мануалу, но я верю только в такой вариант. Все просто, долгая установка оправдывается со временем простотой администрирования и управления того зоопарка различного количества ПО, которое вы установите с годами и эксперименты ставить проще и контейнеры нам прилетают уже отлаженные и обычно сразу работают без дополнительных трудозатрат.

За основу возьмем уже написанную мной ранее статью:

С того момента, когда я делал что-то подобное, прошло много времени. В теории - все должно работать, но я проверю. А еще там был Debian на AMD64, а теперь у нас Ubuntu на ARM64... Пройдем по каждому пункту, проверим работоспособность. Естественно, придется менять некоторые команды.

1. [Без изменений] Подключаюсь к приставке через putty и захожу под root. Можете заходить и через обычного пользователя, тут пока это не имеет значения. просто root в Armbian уже есть. Позже мы и других пользователей создадим.

2. [Без изменений] Обновляемся
apt-get update
apt-get upgrade -y

3. [Без изменений] Устанавливаю пакеты:
apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

-2

4. Добавляю ключ GPG Docker. Тут команда не как в старом мануале, меняется адрес, т.к. у нас Ubuntu, а не Debian.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
Как только все выполнилось - проверим что нужный ключ теперь есть:
sudo apt-key list

-3

5. После добавления GPG ключа, добавим нужный репозиторий. Этот пункт также изменился, что и логично, ведь и ОС другая и архитектура:
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

-4

6. [Без изменений] Обновляюсь:
apt-get update
apt-get upgrade -y

-5

7. [Без изменений] Установим Docker
apt-get install -y docker-ce

-6

8. [Без изменений] Установим python3, pip
apt-get install -y python3 python3-pip

-7

9. [Не обязательно][Без изменений] Установим docker-compose. Пункт также необязательный, но не лишний
pip3 install docker-compose

10. [Не обязательно][Без изменений] Если мы не выполним данный пункт, то дальше все будет работать, но я настоятельно рекомендую его выполнить. Установим portainer:
docker run --restart always --name portainer -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

-9

11. [Не обязательно][Без изменений] Если пропустили пункт 10, то и этот пропускаем.
Переходим на страничку
http://IP_приставки:9000/ и придумываем пару логин/пароль, место установки - локально, радуемся ☺

Теперь проведем подготовку к последнему пункту. Во-первых, просто для информации, посмотрим сколько места съели мы пунктами выше. Стало 30%, а было 22% - неплохо.

-11
  1. Теперь создам правильного пользователя, у меня его еще не было.
    Создадим пользователя с именем "smarthome"
    adduser smarthome
    Заполним всю необходимую информацию и подтвердим. Затем в его домашней папке создадим папку с конфигурацией Home Assistant. Наберем в строке
    mc и в открывшемся файловом менеджере по нажатию F7 создадим нужную папку в нужном месте

14. [Без изменений] Собственно, последний пункт. Вводим команду
docker run -d --name="home-assistant" -v /home/smarthome/HomeAssistant:/config -v /etc/localtime:/etc/localtime:ro --net=host --restart always homeassistant/home-assistant:stable
Переходим на страничку http://IP_приставки:8123/ и просто проверяем, что все работает

Ну и под завершение проверим, сколько осталось памяти

-14

Отлично, все вместе занимает только половину памяти. На этом все, ваш умный дом уже готов и работает, вам доступны все инструменты и возможности, теперь кирпичек за кирпичеком можно делать его сложнее и умнее. На моем канале куча статей по Home Assistant, и это я еще только в начале пути.

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

Подпишитесь, чтобы не пропускать следующий контент.
Нажмите лайк, если интересно, так я пойму какие публикации больше нужны моей публике.
Также публикации можно найти на других площадках: Instagram, telegram (RU, EN, DE), Medium, LiveJournal, YouTube.