Какой микрокомпьютер выбрать для home assistant

Обновлено: 03.07.2024

Систему для умного дома Home Assistant можно установить на разные устройства. Можно поставить Home Assistant на настоящий сервер, можно запустить на обыкновенном десктопе, можно запустить на ноутбуке. Еще Home Assistant можно поставить на NAS, многие владельцы Synology устанавливают Home Assistant именно на это устройство.

Но, кажется, самый популярный способ установки — поставить Home Assistant на маленький компьютер Raspberry Pi.

Но нормально ли это работает? Какие проблемы при этом возникают? Может быть лучше не возиться с Raspberry Pi, а сразу поставить что-то более мощное и надежное?

Скорость работы

Можно предположить что Home Assistant на Raspberry Pi будет работать сильно медленнее чем он работает на настоящем компьютере.

У меня есть опыт использования Home Assistant на обычном компьютере и на Raspberry Pi 3B+ Так вот. При штатной работе, разницы в скорости не видно. Я открываю в браузере интерфейс Home Assistant на Raspberry Pi 3B+ или на настоящем компьютере — все работает одинаково быстро.

Я устанавливал Home Assistant на самую первую модель Raspberry Pi. Вот на этом старом устройстве интерфейс Home Assistant действительно работает значительно медленнее. Все притормаживает. Но скорости работы современных Raspberry Pi вполне достаточно для комфортной работы c Home Assistant.

Но все-таки есть вещи которые на Raspberry Pi работают медленнее чем на обычном компьютере. Это перезапуск системы. Home Assistant на Raspberry Pi запускается заметно медленнее чем на настоящем компьютере.

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

Проблема с питанием

Компьютер Raspberry Pi очень требователен к электрическому питанию.

Если Raspberry Pi не получает достаточное количество энергии, то включается специальный режим (это называется "троттлинг"), в этом режиме Raspberry Pi начинает работать медленнее.

Когда я купил себе Raspberry Pi 3B+, я купил только само устройство, без блока питания. Я думал: "зачем еще что-то покупать, у меня в ящике лежит куча usb блоков питания и проводов, возьму любой и все заработает". Действительно, взял первые попавшиеся блок питания и кабель, включил Raspberry Pi и она заработала. А потом я случайно узнал что все это время Raspberry Pi было недостаточно электричества и она работала медленнее чем могла бы.

Для того чтобы знать, работает ли Raspberry Pi в штатном режиме или включается режим троттлинга можно дополнительно поставить в Home Assistant специальный компонент rpi_power. Но я предпочитаю не тащить что-то дополнительно в Home Assistant, а просто создать вот такой сенсор:

Если значение sensor.cpu_get_throttled число 0, то тогда все отлично. А вот если значение не 0, то это означает что Raspberry Pi работает в режиме троттлинга.

Решение этой проблемы очень простое. Если вы используете Raspberry Pi, обязательно используйте его с правильным блоком питания, а не пытайтесь самостоятельно подобрать блок питания и кабель с которым Raspberry Pi нормально работает.

Проблема с температурой

Raspberry Pi очень требовательна не только к электрическому питанию, но и к температуре.

Если встроенный в Raspberry Pi датчик температуры показывает больше 60 градусов, то включается режим троттлинга и устройство работает медленнее чем оно может работать.

На мой взгляд, стоит создать в Home Assistant сенсор, который показывает текущую температуру устройства:

А для того чтобы понять включался ли троттлинг нужно использовать сенсор из предыдущего раздела, если значение число 0, это значит что все хорошо, если же значение не 0, это означает что включился троттлинг либо по температуре, либо по электричеству (чтобы понять из-за чего включился троттлинг нужно проанализировать число-значение сенсора)

Raspberry Pi продается без кулера и без радиаторов. Просто маленькая платка. Так что если просто взять и включить этот компьютер, то, скорее всего она нагреется выше 60 градусов и будет работать не так хорошо как она могла бы.

Для решения этой проблемы используют специальные корпусы. Вот пример корпуса который весь один большой радиатор.

Проблема с SD картами

У меня сейчас есть два сервера Home Assistant (один дома, второй на даче). Это Raspberry Pi 3B+ и на обоих серверах система работает на SD картах.

Я готов к тому что в любой момент SD карта сдохнет, но мне пока везет. У меня эти SD карты работают по 10 месяцев.


Стоит покупать SD карты на которых есть маркировка U3 и A1 (пример карты на aliexpress )

Но даже если вы используете хорошие SD карты, все равно нужно быть готовым к тому что в любой момент SD карта может умереть и нужно понимать как вы будете восстанавливать систему в этом случае.

Другой вариант — это подключить к Raspberry Pi жесткий диск (ssd). Это чуть более сложное решение, но оно более надежное.

Жесткие диски — это более надежное решение чем SD карты, но они тоже ломаются. Так что, на самом деле, вне зависимости от того что вы используете SD карту или жесткий диск все равно нужно заранее определиться что вы будете делать если SD карта/жесткий диск выйдут из строя. Готовы ли вы будете все ставить заново, или же настройки нужно куда-то сохранять чтобы была простая возможность их повторно использовать.

Итого

На мой взгляд, Raspberry Pi — это отличное устройство для того чтобы на нем разворачивать Home Assistant.

Но бывают ситуации когда лучше использовать не Raspberry Pi для сервера Home Assistant, а что-то другое. Вот несколько ситуаций в которых, возможно, будет лучше не использовать Raspberry Pi:

  • В Home Assistant подключено или планируется подключить очень много устройств
  • Вы собираетесь очень активно настраивать и перенастраивать Home Assistant
  • У вас дома уже есть мощный сервер который все время работает
  • Есть задача собрать как можно более дешевое устройство для сервера Home Assistant
  • Вам не нравится это устройство

Но, достаточно часто, Raspberry Pi — это отличный выбор для сервера Home Assistant. Это очень популяртное устройство для Home Assistant — есть много инструкций и документаций. При возникновении каких-либо вопросов очень велика вероятность что кто-то уже решил эту задачу. Home Assistant работает на специальном выделенном устройстве, то что там работает только система для умного дома добавляет стабильности к работе.

Нельзя дать однозначную рекомендацию (для разных людей в разных ситуациях разные устройства будут предпочтительны), но достаточно часто Raspberry Pi прекрасно подходит для сервера Home Assistant.

Установка операционной системы на сервер еще не делает его сервером умного дома. Для этого необходимо установить специальное программное обеспечение. В моем случае это был Home assistant.

Зайдя на сайт проекта, где я хотел найти документацию, по установке впал в ступор.

Сейчас на сайте проекта в разделе “Установка” перечислено два рекомендованных и три альтернативных способа установки.

Целых 5 разных способов установки, каждая со своими нюансами, достоинствами и недостатками. Давайте разберемся вкратце, что они из себя представляют и какой метод подойдет именно вам.

Рекомендованные методы:

  • Home assistant. Для использования этого метода установки вам нужна raspberry pi или виртуальная машина (Доступны образы формата VMDK, VHDX, VDI, QCOW2, OVA). Раньше этот метод назывался hassos, что означает home assistant operation system. Этот образ при установке на наш одноплатник заменит собой установленную ранее операционную систему. Это один из самых стабильных и простых способов установки, рекомендуемый абсолютно всем. Минус данного способа только один - вы теряете контроль над операционной системой, так как она закрыта и существенно урезана по сравнению с обычным linux. Зато нет ничего лишнего и все работает действительно стабильно. Если вы не планируете на вашем сервере запускать какие-либо другие приложения (мультимедия сервер, например), то этот способ вам отлично подходит.
  • Docker. Для использования этого способа вам необходимо иметь установленный Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации . Если вы уже используете Docker, можно рассматривать этот способ, если нет - идем дальше.

Альтернативные методы:

  • Venv (as another user). Установка программного обеспечения в виртуальную среду python, исполняется из под отдельно созданного пользователя. Рекомендуется для опытных пользователей linux.
  • Venv (as your user). Тоже самое, что и предыдущий способ, только не создается отдельный пользователь. Рекомендуется только для разработчиков.
  • Supervised. Способ для опытных пользователей linux и docker. Представляет собой установку Home Assistant в Docker вместе с компонентом Supervisor, который управляет всей операционной системой HA (на момент написания статьи этот способ находится в подвешенном состоянии, разработчики планировали отказаться от поддержки данного способа установки, но комьюнити подняла шум, и решение все еще функционирует).

Ключевое отличие для конечного пользователя всех этих методов заключается во владке Supervisor, которая позволяет устанавливать аддоны из встроенного маркета, делать снапшоты (бэкапы) системы и настроек, обновлять HA нажатием одной кнопки.

Для новых пользователей я рекомендую самый первый способ - готовый образ Home Assistant. Если бы у меня была возможность установить его на виртуальную машину, то использовал бы его. Но raspberry pi не поддерживает работу с виртуальными машинами. Поэтому я выбрал Supervised, несмотря на то, что я не был знаком с Docker и практически все пришлось изучать с нуля.

Сам я изначально остановился на установке venv, но через пару дней переустановил все на Home Assistant Supervisor. Почему это сделал? Во время настройки интеграции шлюза Xiaomi второй версии с HA возникла ошибка, также ошибка возникала после установки аддона File Editor (тогда он назывался еще Configurator) и я подумал, что я что-то сделал не так. Когда увидел видео, как легко установить File Editor из меню Hassio (так ранее называлась вкладка Supervisor) - решил попробовать эту версию HA, вдруг ошибка c интеграцией шлюза xiaomi устраняется так же легко. Если бы не мое заблуждение, возможно, до сих пор бы сидел на venv и был бы доволен. С интеграцией шлюза xiaomi проблем не было, все делал правильно, проблема была в самом шлюзе.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

  • Вариант 1. Регулярно делать бэкапы и иметь резерв в виде 1-2 новых microSD-карт, чтобы при отказе одной карточки памяти можно было развернуть уже сконфигурированную систему на новом накопителе.
  • Вариант 2. Купить eMMC-чип и microSD-адаптер для него. В сравнении с microSD память стандарта eMMC обладает не только более высокой скоростью чтения-записи, но и на порядки большим ресурсом.
  • Вариант 3. Перенастроить Raspberry Pi для загрузки системы с подключенного по USB жесткого диска или SSD.

Более подробно о настройке загрузки Raspberry Pi с жесткого диска я рассказал в отдельной статье. А пока будем исходить из того, что система у нас грузится с microSD.

Почему именно Home Assistant

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

Установить сервер Home Assistant можно различными путями. Можно воспользоваться ручной установкой в виртуальное окружение Python или развернуть систему в Docker-контейнере, можно воспользоваться готовыми дистрибутивами Hass.io или Hassbian.

O Hass.io стоит рассказать отдельно. Этот проект являет собой готовые сконфигурированные образы для наиболее популярных моделей миккрокомпьютеров (на данный момент поддерживается вся линейка Raspberry Pi, Asus TinkerBoard, несколько моделей Odroid и линейка компьютеров Intel NUC). Образ содержит в себе операционную систему, готовый к работе Home Assistant и свой собственный менеджер аддонов, позволяющих производить все манипуляции по настройке Home Assistant прямо из веб-интерфейса.

Hassbian в свою очередь является дистрибутивом Raspbian с уже установленным в виртуальное окружение Python сервером Home Assistant. К сожалению, проект закрылся и сборок на базе свежих дистрибутивов Raspbian с установленными на них свежими версиями Home Assistant больше не выпускают.

Преимущества Недостатки
Hass.io Наиболее легкая установка, своя система бэкапов конфигурации Нет полного доступа к системе со всеми вытекающими из этого последствиями, совместимость с ограниченным рядом устройств
Ручная установка Полный контроль над системой Требуется хотя бы минимальное умение работы с Linux
Hassbian Те же плюсы, что и у ручной установки в виртуальное окружение Python Поддержка Hassbian официально прекращена в октябре 2019
Docker Надежность, легкость разворачивания и переноса Необходимо уметь работать с контейнерами Docker

Hass.io не устраивает меня отсутствием полного доступа к операционной системе, а работать с контейнерами Docker я пока что не умею. Поэтому в данной статье будет описан самый надежный и универсальный вариант с ручной установкой в виртуальное окружение Python.

Установка в виртуальное окружение Python

Сначала обновим все пакеты:

Затем установим необходимые для Home Assistant пакеты:

Создадим нового пользователя homeassistant, под которым в дальнейшем и будет работать наш сервер умного дома:

Создадим новую папку для установки и добавим права на нее пользователю homeassistant:

Теперь нужно переключиться на пользователя homeassistant и создать виртуальное окружение для установки и последующей работы Home Assistant:

Установим дополнительный пакет Python:

И запустим установку Home Assistant:

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

Установка и настройка Home Assistant на Raspberry Pi

Установка и настройка Home Assistant на Raspberry Pi

Осталось добавить его в автозагрузку. Для этого создадим файл:

Со следующим содержимым

И включим Home Assistant в качестве сервиса:

Первоначальная настройка

Установка и настройка Home Assistant на Raspberry Pi

Первичную настройку я закончу на том, что удалю из интерфейса все бейджи и выведу карточки для мониторинга ситуации с коронавирусом, показателей системы и статуса Transmission. Также я сразу добавил кнопку для управления Xiaomi Mi LED Desk Lamp.

Обновление

Если Home Assistant устанавливался по моей инструкции, а именно:

  • в папку /srv/homeassistant
  • от отдельно созданного пользователя с именем homeassistant

То обновить его можно, выполнив следующие команды в терминале:

После установки обновления нужно перезапустить сервер:

Home Assistant → Настройки → Сервер → Перезапустить

Заключение

На базе Home Assistant можно реализовать любые проекты домашней автоматизации. Уже сейчас в продаже доступны сотни поддерживаемых системой устройств, и их количество растет с каждым месяцем.

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

42 комментария на «Raspberry Pi. Установка Home Assistant»

Большое спасибо за твои статьи.


Dmitry :

Добрый день, попробуйте перезагрузиться и запустить hass снова. И если опять будут ошибки, то невзирая на них надо попробовать открыть веб-интерфейс. Возможно они не мешают работе.

попробуй вытащить из юсб разъемов все флэшки до момента установки HA и не пропускай этап обновления системы

Лучшая статья которую я видел по установке HA.
И самая свежая на этот день что нашел, автор молодец!

Все, хорошо, а где у вас в HA вкладочка супервизор интересно? И как ее туда пришить обратно?


Dmitry :


Dmitry :

1) Не совсем понял в чем проявляется проблема, но если первый экран открывается, то скорее всего надо просто дольше подождать.

2) Нужно ввести пароль того пользователя, под которым вы залогинены на микрокомпьютере. Если это Raspbian, то по умолчанию пользователь pi с паролем raspberry. Сменить пароль можно консольной командой passwd.

Мы полагаем, что ваш системный администратор изложил вам основы
безопасности. Как правило, всё сводится к трём следующим правилам:

№1) Уважайте частную жизнь других.
№2) Думайте, прежде что-то вводить.
№3) С большой властью приходит большая ответственность.

Вот такое пишет. Пароль от Raspberry не подходит

вы в этот момент не под пользователем homeassistant сидите?
зайдите под пользователем pi


Dmitry :

Добрый день, пути конечно же можно менять. И если у вас все равно подключен HDD или SSD, то можно настроить загрузку всей системы с него, а не только Home Assistant. Карта памяти в таком варианте вообще использоваться не будет.


Dmitry :

Создайте snapshot, скачайте на комп, установите с нуля на SSD и загрузите snapshot, и вуаля, все настройки перенесены

Пробовал обновлять или устанавливать его на Python 3.9, не получается. Cыпит ошибками при установке sudo pip3 install homeassistant или hass
А вот по этой инструкции установился нормально. на питоне 3.7 понимаю.

Автозагрузка не работает, не могу сделать.


Dmitry :

Доброго дня
При первой установке по инструкции возникла ошибка из-за не обновленного python. По Вашей второй статье обновил все пакеты и по новой установил homeassistant. В процессе выполнения pip3 install homeassistant появилась ошибка:

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.


Dmitry :

А там не выводится рекомендация обновить pip, прямо вместе с нужной для обновления командой? Обычно после установки этого обновления ошибки исчезают.


Dmitry :

Инструкция по обновлению Python есть тут.

Но мне нечего обновить так как неустанавливается


Dmitry :

Python присутствует в системе изначально, он не является частью Home Assistant.

$ python -V
Python 2.7.16


Dmitry :

During handling of the above exception, another exception occurred:

Здравствуите
падскажите как эту ошибку решить


Dmitry :

Только сейчас актуальная версия 3.9.4, а в статье описана установка 3.9.1, так что надо будет цифры при скачивании и распаковке архива поменять.

Спасибо за подробное изложение!
С питоном вроде разобрался. Но вот такой вопрос- при описанном способе установки Home Assistant устанавливается без компонента Supervisor. В результате получаем по сути бесполезную игрушку. Как установить все вместе?

Не подскажете, что сделать?

Сколько же у Вас терпения все это объяснять раз за разом =) Спасибо за статью!


Dmitry :


Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ошибок и быстрее продвинуться в изучении HA.

На Хабре уже есть статьи о HA (раз, два, три), но здесь я хочу рассказать об установке и настройке системы от начала до конца. От первого запуска сервера до полноценно работающей системы, которую потом можно улучшать и дорабатывать для себя.

Основной единицей в HA является интеграция — логика, которая описывает взаимодействие с умным устройством или внешним сервисом. Большая часть полезной нагрузки HA ориентировано на связку: умное устройство + интеграция или внешнее API + интеграция.



Набор моих интеграций

Железо, участвующее в статье:

  • Микроконтроллер Esp8266, а также датчик температуры и влажности DHT11;
  • Лампа Xiaomi Desk Lamp; в 2GB версии, как сервер для HA (в дальнейшем буду ее называть малинкой); .

Сервисы, которые будем использовать:

  • OpenWeatherMap для получения погоды, температуры, влажности на улице и других метеопараметров;
  • Telegram для создания системы уведомлений;
  • Google drive для создания бекапов;
  • SpeedTest для замеров скорости;
  • А также OpenUV для замеров ультрафиолетового излучения и др.

Установка HA предельно проста:

  1. Записать образ HA на SD карточку (подробная инструкция с ссылками на скачивание для разных версий Raspberry Pi тут).
  2. Подключить питание и Ethernet к малинке
  3. Подождать несколько минут, пока система развернется в локальной сети на <ip адрес малинки>:8123 .

Также можно установить на уже имеющуюся систему с помощью Docker-compose:

А теперь разберем несколько сценариев использования.

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

  • с помощью роутера (у меня в наличии Xiaomi Router Mi4A),
  • с помощью GPS.

В системе доступно много производителей роутеров. Для старых и не перечисленных в списке моделей можно использовать nmap (более подробно тут).
Если установить на телефон официальное приложение, HA по умолчанию создаст интеграцию, и в системе появится дополнительное устройство, которое можно отследить.

С помощью Xiaomi Router Mi4A

  • Не требует никаких действий на устройстве, отслеживает всех в локальной сети.
  • Если устройство не подключено к домашней сети, то устройство пропадает в пустоту, и на картах мы его не увидим.
  • Иногда может сработать триггер выхода/входа из зоны, когда фактически девайс не покидает зону (можно попробовать решить расширением зоны).

С помощью GPS

  • Точность работы сравнима с GPS трекером в телефоне.
  • О телефоне можно узнать: процент заряда аккумулятора, заряжается устройство или нет, а также показатель состояния аккумулятора.

  • Активно тратит заряд.
  • Требует подключение Интернета.
  • Для точного трекинга необходимо настроить SSL, чтобы телефон мог отправлять данные о местоположении из вне локальной сети.
  • Требует дополнительных прав доступа к GPS, возможна утечка данных третьей стороне в будущем.
  • На бюджетных телефонах, которые имеют свойство неожиданно менять местоположение GPS, возможны проблемы с выпадением из зоны.

Трекинг через локальную сеть роутера требует настройки, в отличие от GPS отслеживания. Два вида трекинга можно комбинировать для повышения точности. Ниже можно заметить, что в моем случае отслеживание через роутер работает лучше, чем через GPS. Зеленая зона значит, что телефон внутри зоны, красная — вне зоны.



Результаты работы отслеживания (сверху — роутер, снизу — GPS)

Редактирование конфигурационных файлов через VSCode

Можно подключиться через плагин SSH в VS Code, но получить доступ к проводнику в данный момент мне было удобнее. Поэтому, добавим сетевое расположение.


Нажмем обзор, найдем каталог config (мы в основном будем редактировать его) и выберем его как сетевую папку.


Дальше мы можем перейти в созданную папку и открыть ее через редактор.


После перезагрузки HA мы можем увидеть, что у нас появился новый глобальный объект device_tracker и наши устройства в нем.



Трекинг устройств через роутер

Теперь, когда мы умеем отслеживать пользователя, мы можем включать и выключать определенные лампочки с учетом информации о его местоположении.

Для этого необходимо произвести действие по определенному событию. В этом нам помогут автоматизации.

Теперь импортируем в наш основной файл весь каталог automation — так нам будет удобнее при написании следующих автоматизаций.

Для того, чтобы получить адаптивное освещение в зависимости от времени суток, нужно настроить цветовую температуру. Это удобно сделать внутри блока switch. Тут важно понимать, что пока данный switch включен, изменить параметры температуры будет невозможно (через interval минус время_с_прошлого_обновления лампа примет старые параметры).

Здесь вы найдете больше про динамическую цветовую температуру (flux в терминологии HA). А если вам интересна тема адаптивного освещения, на Хабре есть отличная статья по этому поводу.

  • platform: polling
    api_key: !secret telegram_api
    allowed_chat_ids:
    • !secret telegram_chat_id

    Для того, чтобы не разглашать всем секретные данные, создадим еще secrets.yaml . Туда мы сложим все данные, которые не должны попасть в публичный доступ. Для использования переменных из этого файла используем !secret.

    Теперь, когда у нас есть настроенный сервис уведомлений и погодная интеграция, мы можем сделать утренние оповещения о погоде.

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

    Пишем переменную, которая будет отвечать за срабатывание оповещений только по будням. Если он true — то в выходные оповещений не будет.

    И подключаем в основном конфиг файле.


    Теперь небольшое лирическое отступление в виде рассказа о написании blueprints на примере уведомлений.

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

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

    “for” — это время, в котором должен оставаться выбранный параметр, чтобы сработал триггер на превышение уровня осадков.

    Теперь, когда есть blueprint, мы можем написать автоматизацию с меньшим количеством логики.
    Создадим уведомления о начале осадков.

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

    Для большей полезности можно изменить шаблон и поменять action на повышение яркости для света в доме или закрытие штор.

    В бэкап попадает весь каталог /config , а также все установленные расширения. С любого бекапа можно восстановить состояние системы на момент его создания.

    Можно настроить создание резервных копий в Google Drive:


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




    NodeMCU

    Так как умного градусника у меня нет, а температуру измерять хочется, воспользуемся ESP8266.
    Сначала установим интеграцию ESPHome из официального списка интеграций.

    Для каждого микроконтроллера, используемого в системе, требуется создать файл с подобным содержанием.

    Подключимся к WiFi

    По умолчанию используются секреты только от ESPHome. А для того, чтобы подгрузить секреты из HA, можно создать отдельный файл, где мы заинклудим эти секреты.

    Теперь подключим data pin (обычно это средняя нога) термометра к D2 порту, дадим на него питание и землю. Потом создаём сам термометр (DHT11) и две переменные, которые будем отслеживать в HA.

    Дальше нужно скомпилировать прошивку и загрузить на контроллер. Если он подключен напрямую к Raspberry Pi, то мы увидим его на /dev/ttyUSB0 и сможем загрузить прошивку в первый раз. Все последующие обновления можно загружать по воздуху. А если в списке устройства не видно, то можно скачать прошивку и воспользоваться ESPHome-Flasher.



    Если все заработало, то в Developer Tools мы увидим созданные переменные.


    По умолчанию в HA используется SQLite, и сброс данных на диск происходит часто (каждую секунду). Это может привести в скором времени к выходу из строя SD карточки на малинке (если сервер стоит на ней). Чтобы продлить срок службы карточки, скажем HA, что нужно записывать на диск раз в commit_interval и исключить некоторые сущности, которые мы не хотим отслеживать на длинном временном промежутке (или вообще не хотим отслеживать).

    Если мы хотим использовать СУБД, отличную от SQLite, то можно сделать один из следующих пунктов на выбор:

    1. Установить соответствующий аддон для перехода на MariaDB.
    2. Использовать существующую реляционную базу данных на удаленной машине, если указать строку для подключения в параметр db_url .

    Чтобы отслеживать остаток свободной памяти, загруженность процессора или скорость Интернет соединения, мы можем добавить мониторинг показателей системы.

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

    Также мы можем посмотреть Uptime сервера.




    • Достаточно сложно отлаживать систему. Если action можно запустить программно в обход триггера, то триггер тестировать уже сложнее.

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



    Главный экран

    Что дальше? Можно добавить HACS (сборник UI компонентов и даже целых интеграций от коммьюнити, пригодится при использовании Яндекс Станции) и установить несколько UI элементов. Можно интегрировать умную колонку или телевизор и включать их по определенному условию. Вариантов апгрейда бесконечное множество.

    Читайте также: