home assistant адрес сервера

Способы настройки удаленного доступа к Home Assistant

Итак, я поставил сервер Home Assistant. Находясь в одной WiFi сети я этим сервером я могу на него заходить, включать-выключать свет, смотреть температуру, и делать все то зачем и нужен HA.

Но, если я ушел, то все, — доступа к серверу нет. А хочется иметь возможность удаленно управлять домашним HA. Чтобы можно было из любого места где есть интернет делать все то же самое что можно делать находясь рядом с сервером. Например, задача, удаленно включать обогрев. Чтобы приезжаешь, а уже тепло.

Перед тем как строить удаленный доступ для Home Assistant, я решил выяснить какие вообще есть способы удаленно заходить на сервер HA. Чтобы понять какой способ лучше всего подходит в моей ситуации.

Я знаю про такие варианты. Вполне возможно что есть еще какие-то способы как можно удаленно заходить на сервер HA (если вы о них знаете, напишите, пожалуйста на ivan@bessarabov.ru, я дополню этот список).

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

(Когда я создавал этот опрос я еще не знал про сервис nabucasa.com, поэтому такого пункта в опросе нет)

Реальный статический ip адрес

Это самый простой и надежный способ сделать возможность удаленно заходить на свой сервер Home Assistant. Ваш провайдер интернета выделяет вам настоящий ip адрес к которому можно обращаться из интернета. Например, «74.125.232.228». И этот ip адрес не меняется, все время у вас именно такой адрес. Дальше вы на роутере настраиваете проброску портов. Например, в вашей сетей сервер HA живет на адресе http://192.168.1.30:8123 и вы настраиваете на роутере что если человек приходит на ваш реальный http://74.125.232.228:8123, то это все прокидывается на сервер HA http://192.168.1.30:8123 После такой настройки появляется возможность заходить на сервер HA снаружи.

Но лучше всего настройку на этом не закончить, а сделать чтобы доступ к серверу был по протоколу https, а не http. (При использовании http гораздо больше вероятности что у вас украдут логин-пароль для доступа к HA и злоумышленник получит доступ к вашему HA)

У разных провайдеров разные условия для получения реального статического ip адреса:

Итого. Если у вас уже есть реальный статический ip адрес, то вполне возможно что лучше всего вам настроить удаленный доступ к HA с помощью этого ip адреса.

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

Если же сейчас у вас нет реального ip адреса, но провайдер за дополнительные деньги может вам его выдать, то нужно думать, возможно стоит платить, либо использовать какой-то другой вариант.

Реальный динамический ip адрес

Некоторые провайдеры предоставляют своим клиентам реальный ip адрес, но этот адрес иногда меняется. Сегодня у вас реальный ip адрес «74.125.232.228», а завтра уже «74.125.232.4».

Точно так же как и в случае с реальным ip адресом вы пробрасываете порт на роутере. Плюс нужно настроить специальный софт, чтобы заходить снаружи не на айпишник (который меняется), а на специальное имя типа my-domain.duckdns.org. (благодаря софту это имя всегда указывает на тот реальный ip адрес, который у вас сейчас).

Провайдер либо дает реальный динамический ip адрес, либо предоставляет доступ в интернет как-то иначе. Я ни разу не слышал, чтобы можно было дополнительно купить услугу «Динамический реальный ip адрес».

Итого. Если провайдер вам выдает реальный динамический ip адрес, то, скорее всего, вам стоить настроить доступ к HA через duckdns.org.

Серый ip адрес — vpn/ssh туннель

В том случае если у вас нет реального ip адреса, то проброска порта на роутере не предоставит вам удаленный доступ в HA.

Но если у вас есть виртуалка на digitalocean.com или у другого облачного провайдера, то вы можете сделать следующее.

С сервера на котором у вам работает HA можно прокинуть туннель до виртулаки. Дальше вы будете заходить браузером на порт на виртуалке и при этом будете общаться с вашим сервером HA.

Итого. Если у вас нет реального ip адреса, но у вас есть сервер с реальным ip адресом, то этот вариант может вам подойти.

Серый ip адрес — использование сервиса роутера Keenetic

Если у вас есть роутер Keenetic, то вы можете использовать сервис, который идет вместе с этим роутером. Вы можете получить адрес в домене *.keenetic.pro или *.keenetic.link и настроить чтобы по этому адресу отвечал сервер Home Assistan, который живет у вас дома. Сервис бесплатный и это будет работать даже если у вас нет реального ip адреса (этот способ можно использовать и в том случае если у вас есть реальный ip адрес, но, на мой взгляд, если у вас реальный ip, то лучше использовать другой способ).

Серый ip адрес — использование TOR

Еще один вариант как можно получить доступ к серверу HA это использовать TOR. На сервере с HA нужно поднять и настроить специальный софт.

Как результат вы получите адрес вида «abcdef1234567890.onion» плюс специальный токен. Потом вам нужно установить на мобильный специальный ТОР браузер и после этого вы сможете заходить на ваш сервер удаленно.

Серый ip адрес — использование ZeroTier

Это внешний сервис. Существует специальный плагин который позволяет использовать этот сервис — https://community.home-assistant.io/t/home-assistant-community-add-on-zerotier-one/109091.

Серый ip адрес — nabucasa.com

Существует сервис nabucasa.com Можно использовать его для того чтобы удаленно заходить на свой сервер HA.

Источник

Установка SSL сертификата для HTTPS доступа к Home Assistant

Для безопасного доступа снаружи к Home Assistant необходимо установить SSL сертификат, причины для доступа могут быть разные, от обычного контроля находясь вне дома, до интеграции с Яндекс Алисой или Google Home.

Для доступа понадобиться внешний статический или динамический IP адрес и домен второго или третьего уровня. Статический IP адрес как и зарегистрированный домен гораздо предпочтительней. За IP адресом необходимо обратиться к вашему провайдеру (провайдер может брать дополнительную плату за услугу). Домен лучше купить, но можно воспользоваться сервисом DDNS.

Самоподписанный сертификат не годится, сторонние сервисы, которые мы захотим интегрировать в наш дом, такие как Яндекс, его не примут. Документация на официальном сайте Home Assistant в качестве DDNS сервиса рекомендует использовать DuckDNS, а для получения сертификата центр сертификации Let’s Encrypt. Let’s Encrypt позволяет получать бесплатные 90 дневные сертификаты в автоматическом режиме принимаемые в интернете. Это то, что нам нужно.

Если нет прямого доступа к консоли, то подключаемся по SSH и устанавливаем программное обеспечение certbot для получения сертификата.

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

Для получения сертификата выполняем команду на нашем сервере:

В соответствующие поля введите ваш электронный почтовый ящик и имя домена, по которому вы будете иметь доступ к своему серверу. При успешном создании сертификата в результате выполнения программы будет сообщено где лежат новые сознанные сертификаты. Для Ubuntu и других систем на основе Debian, в том числе Raspberry Pi OS путь будет:

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

Читайте также:  контрацептический пластырь что это

В файл configuration.yaml вносим информацию о наших сертификатах:

Проверяем файл настроек средствами Home Assistant и перезапускаем.

Для упрощения обновления сертификата в будущем можно создать скрипт:

Сохраняем скрипт на сервере, в последующем по необходимости запускаем скрипт и перезапускаем сервис Home Assistant.

Для мониторинга срока истечения сертификата добавляем интеграцию Certificate Expiry в Home Assistant.

В поле Host пишем: ваш_зарегистрированный_домен, в поле Port 8123 (для конфигурации, описанной выше).

Добавляем карточку Entities в Dashboards, вносим сенсоры sensor.cert_expiry_ваш_зарегистрированный_домен и sensor.cert_expiry_timestamp_ваш_зарегистрированный_домен.

Добавляем автоматизацию для напоминания о замене сертификата за 5 дней в сервис уведомлений Home Assistant и Telegram bot (Подключение Telegram bot к Home Assistant). В файл automations.yaml добавляем:

Проверяем доступ к нашему серверу по HTTPS по имени домена и не забываем про мобильные устройства.

Источник

Настройка удаленного доступа в Home Assistant с помощью кастомного компонента Dataplicity

В ферале 2021 года AlexxIT сделал новый кастомный компонет для Home Assistant — Dataplicity.

С помощю этого компонента можно настроить удаленный доступ к серверу Home Assistant. Появляется адрес в интернете, на который вы можете зайти с помощью браузера и увидеть свой интерфейс Home Assistant (и этот же адрес можно использовать в мобильном приложении Home Assistant)

Этот компонент позволяет настроить удаленный доступ даже на сером ip совершенно бесплатно. Компонент работает вне зависиомсти от того если ли у вас супервизор в Home Assistant или нет.

Использование этого компонента — это один из самых простых способов сделать удаленный доступ к серверу Home Assistant.

Для того чтобы появился удаленный доступ к серверу HA с помощью этого комонента нужно сделать:

Установка компонента на сервер Home Assistant

Компонент можно поставить либо руками либо с помощью системы HACS. Тут описывается как установить компонент руками.

Установка касмтомного компонента — это самый сложный этап настройки. Для этого нужно знать как работать с файлами в папке с конфигами Home Assistant.

Нужно зайти на страницу кастомного компонента на GitHub, зайти в раздел «Релизы» и сказчать zip файл с исходным кодом компонента.

Zip файл нужно разархивировать, и все файлы из папки Dataplicity-1.0.0/custom_components/dataplicity/ нужно положить в папку config/custom_components/dataplicity/

Папка custom_components должна быть в той же директории что и файл configuration.yaml Вот какая структура файлов и папок должны быть:

После размещения файлов, нужно перезагрузить систему Home Assistant.

Подключение компонента

После того как компонент установлен его нужно подключить.

Для этого нужно зайти в раздел Configuration:

Там выбрать Integrations:

Нажать на кнопку Add integration:

И начать вводить название интеграции. Обычно после ввода «data» остается только одна нужная интеграция:

После выбора этой интеграции появляется окошко:

В это окошко нужно ввести данные от сервиса Dataplicity. Слово «Dataplicity» в этом окошке — это ссылка на сайт https://www.dataplicity.com/. Нужно зайти на этот сайт:

Регистрация на сайте Dataplicity

После перехода по ссылке открывается сайт:

В поле для ввода email адреса нужно ввести ваш настоящий email адрес и нажать на кнопку «Start».

После этого сразу же появляется секретаная строчка:

Вот пример строчки которую может показать сайт:

Из этой строчки нужен только адрес:

Продолжение настройки кастомного компонента

Адрес который получили на прошлом шаге нужно ввести в окно:

Это адрес нужно ввести в кастомный комопонент:

И нажать на кнопку «Submit».

После этого на месте кнопке «Submit» начнет крутиться спиннер и он может крутиться минуту-другую:

Через некоторое время появится окошко что все прошло успешно:

Осталось выполнить последние действие.

Включение wormhole

Нужно зайти по ссылке в окошке:

И включить переключалку Wormhole:

Например, этот адрес может выглядеть вот так:

Если зайти по этому адресу — то откроется интерфейс Home Assistant:

Этот адрес — это и есть адрес по которому вы можете зайти на ваш сервер Home Assistant из любой точки мира.

Еще один момент который нужно сделать — это зайти в ваш почтовый ящик и подветрдить email для сервиса dataplicity.

Источник

Home Assistant, статья 9 (https, ssl)

Оглавление

Предисловие

Сейчас, когда наш умный дом достаточно разросся, пора задуматься о его безопасности и добавить шифрования нашим страничкам. Это особенно важно, если ваш Home Assistant (Далее HA) смотрит наружу вашей локальной сети. Так же данное действие позволит в будущем интегрировать HA как минимум в Google Home, используя API гугла, а не облако самого HA. Давайте разберемся более подробно.

Что необходимо для этого?

Во первых ваш HA должен быть в домене второго или третьего уровня, то есть иметь вид my-homeassistant.com или my-homeassistant.domain.com. А так же нам необходимо будет каким то образом получить подписаний сертификат, мы будем для этого использовать пакет certbot.

Что там с доменом?

Регистрируемся на выбранном сервисе, выбираем себе доменное имя, настраиваем сервис ddns на роутере и через пару минут пытаемся перейти по выбранному адресу в браузере. Если при переходе у вас открылась страничка настроек вашего роутера или веб морда HA (Зависит от ваших настроек), значит все настроено верно.

Let’s encrypt!

Теперь нам необходимо поставить пакет для запроса и получения ssl сертификата. Подключаемся по ssh к малине, и вводим следующую команду:

при этом система предложит установить еще несколько пакетов, соглашаемся и ждем окончания процесса.

Получаем сертификат

Мы будем делать это используя временно поднятый веб сервер, который создает сам certbot. Для этого необходимо в настройках вашего роутера пробросить порт 80 извне сети на порт 80 вашей малинки. На кастомной прошивке у роутера Xiaomi это выглядит так:

Далее в ssh подключении на малине выполняем следующую команду:

Если все сделано правильно, вывод команды будет примерно такой:

Настраиваем Home Assistant

Теперь нам необходимо копировать полученные сертификаты в папку настроек HA. Делаем следующее:

Не забывайте менять my.domain.org на ваш домен. После открываем файл configuration.yaml вашего HA удобным для вас способом и в разделе http: прописываем следующее:

Источник

Идеальный сервер умного дома на Home Assistant, часть 1 (аппаратная)

В этой статье хочу рассказать про компоненты, из которых лучше всего собрать сервер умного дома. У меня стояла более сложная задача — покрыть участок 15 соток с баней и основным домом, между которыми около 15 метров. Также хотелось организовать медиасервер, а для него нужно что-то более менее производительное. В итоге остановился на такой связке — основной сервер Raspberry Pi4B 8GB в корпусе Argon One с поддержкой M.2 SATA SSD диска + оригинальный блок питания Raspberry на 3A, дополнительный мини-сервер — шлюз Xiaomi EU — прошитый в OpenWRT, который может также работать самостоятельно (децентрализация системы и повышение отказоустойчивости). Ссылки на все товары из этой статьи будут в конце.

Введение

Данная статья будет в основном только про аппаратную часть (серверную) умного дома. На рынке существует много различных вариантов для сервера, но сервер на Raspberry Pi является самым распространенным. До этого времени у сборки на Raspberry был один очень существенный недостаток — основным хранилищем данных и системы была microSD карта, которая под большими нагрузками и огромными количествами циклов чтение\запись очень быстро приходила в негодность (около года жили брендовые карты памяти, более дешевые уже через несколько месяцев вызывали проблемы). Совсем недавно начали появляться платы расширения с поддержкой SSD дисков, которые полностью решают проблему с microSD. А буквально с месяц назад появился проект Argon One M.2 — специальный корпус для Raspberry Pi, даже я бы сказал серверная оболочка, которая имеет пассивное\активное охлаждение, встроенное ПО для управления кулером и настройкой кнопок питания, платой расширения, которая дает 2 полноценных HDMI порта, вместо micro HDMI. Также 3.5mm аудио выход переносится с боковой части на заднюю, где все порты, что намного удобнее. Отдельно докупается плата M.2 для Argon One (либо сразу идет в сборке) — позволяет использовать только SSD NGFF (SATA, ключи B\B+M), диски NVME не поддерживаются.

Читайте также:  панели для стен туалет
Сердце сервера умного дома — Raspberry Pi4B 8GB

Raspberry Pi4 была выпущена в 2019 году, позднее уже появилась версия 4B (B считается лучше, чем А, бывает еще символ + в версии, который означает незначительное улучшение). Версия 4B на 8GB вышла совсем недавно. Вернее ее анонсировали сразу, но купить стало возможно только недавно. Я взял сразу на 8GB. Для умного дома вполне хватит и 2GB, но если хотите поставить что-то еще на сервер кроме умного дома, то лучше брать 4Gb, либо 8.

Технические характеристики

Сама плата производится в Великобритании. Поставляется в красной коробке, очень маленького размера. Raspberry не навязывает никаких аксессуаров и в базовой комплектации идет только плата. На официальном сайте, можно найти еще оригинальное зарядное 5V 3A (для 4 версии компьютера нужно минимум 3A).

В комплекте только плата, буклет с базовыми «инструкциями» в картинках — руками не трогать за компоненты, брать за торцы и т.д. Также есть подробная инструкция на многих языках. Размеры платы 8,5см на 5,6см — чуть больше пластиковой банковской карты.

Плата крупным планом. Есть разъем для дисплея, разъем для камеры. 2 micro HDMI разъема, вход Type-C для питания. Вход 3.5mm для наушников. Справа 1 LAN (POE), 2 USB2.0 и 2 USB3.0. Сверху плата GPIO (интерфейс ввода/вывода общего назначения) — компьютер можно запитать от GPIO.

С обратной стороны есть только microSD разъем. Даже если будем использовать SSD, microSD нужен для записи специального образа, который будет по умолчанию грузить плату с SSD (типа как в Windows в BIOS переключается). На плате есть отверстия для прикручивания к чему-нибудь — многие корпуса с Алиэкспресс прикручиваются с помощью этих отверстий.

Компьютер очень компактный. Сложно представить, что к нему можно подключить 2 монитора 4K. Кстати, 4K при одновременно двух мониторах будет по 30fps. Если 1, то будет все 60fps. Компьютер не сверх мощный, но для сервера самое-то, главное энергопотребление и температурный режим.

При поиске на Алиэкспресс платы Raspberry, сразу замечаешь, что каждый продавец хочет вам продать свой «самый лучший» набор: обычно это сама плата, какой-нибудь корпус, ноунэйм блок питания, неизвестная карта памяти и обычно пару проводов (HDMI или другие). Не советую брать такие комплекты, так как качество аксессуаров там на очень низком уровне. Найти же чисто голую плату в продаже сложно, но можно. Там где я покупал, была опция плата + алюминиевые радиаторы. Именно такой вариант я и заказал. Радиаторы мне не пригодились, но это было дешевле, чем покупать ненужные наборы.

Argon One — лучший корпус для Raspberry

С чистой совестью могу назвать Argon One лучшим корпусом для одноплатника Raspberry. Такой корпус обойдется в 20$ за версию без платы расширения M.2, но мы здесь собрались именно ради этой самой платы M.2 — за такой вариант придется выложить около 43$. Цена не сильно высока, по сравнению с безымянными корпусами неизвестных производителей. Плюс здесь мы получаем полноценные HDMI в итоге, управляемое (настраиваемое) активное охлаждение + качественное продуманное пассивное охлаждение (толстый алюминиевый корпус отводящий тепло с процессора и RAM через теплопроводящие силиконовые проставки). Ну и вишенка на торте — плата M.2, которая решает проблему быстро выходящих из строя microSD карт. Поставляется корпус в фирменной коробке, по размеру чуть больше самой платы Raspberry.

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

Все разъемы вырезаны идеально. Также очень удобно, что все разъемы выведены в одно место (сама плата имеет выходы на разные стороны). Нижняя часть здесь — плата расширения M.2 с USB3.0 разъемом (есть версии без нее).

Под магнитной крышкой удобно выведена плата GPIO. Очень удобно использовать пины Raspberry — нет нужды разбирать корпус. Кстати питать плату можно и через пины 5V и GND (помните про минимум 3А).

А вот, собственно, и все содержимое корпуса. Слева верх корпуса, в нем есть кулер и плата для управления им. Также тут пины GPIO, которые выходят на саму крышку корпуса. Весь корпус из металла. Обратите внимание на 2 массивных прямоугольных куска металла слева — это для процессора и RAM. Также на плате есть переключатель, который покажу чуть позже. Правая часть — плата расширения M.2. На ней слот M.2 и USB3.0 разъем. Как видно, диски SSD подходят разного размера, вплоть до 2280. Единственное, NVME диски не поддерживаются. USB3.0 перемычка папа-папа по центру фото служит для соединения платы M.2 с самим корпусом Argon (с самой платой Raspberry). Снизу — конвертер HDMI, Audio 3.5mm. В пакетике винты и силиконовые проставки.

Две части корпуса крупным планом. На левой (основной) части есть «джампер» — специальный переключатель пинов. Он имеет 2 положения: 1-2 (ручное включение компьютера по нажатии на кнопку) и 2-3 (всегда включен- при отключении электричества и его восстановления, компьютер сам запускается). Естественно, я поставил его в положение 2-3 (нам важно, чтобы сервер работал нон-стоп 24\7). Вообще я хочу купить самый простой ИБП для роутера и сервера умного дома, чтобы они всегда были онлайн. Также на плате есть IR (инфракрасный) приемник для дистанционного включения\выключения компьютера, но для моих задач, это не нужно.

Плата-конвертер. Выводит все разъемы с Raspberry на одну сторону корпуса. Конвертирует micro HDMI в 2 полноценных HDMI (как показывает практика, полноценные HDMI прилично дешевле и вообще их куда проще найти).

Набор аксессуаров — силиконовые ножки на корпус, винтики, силиконовые теплопроводящие прокладки.

SSD диск формата M.2 2280 от Netac — 240GB

На секунду оставим корпус, так как для сборки сервера нам не хватает последней детали — SSD диска.

Самым дешевым и проверенным сейчас является производитель Netac. Давно пользуюсь их HDD и SSD и ничего плохого про них сказать не могу. Взял на 240GB, хотя для умного дома и 120GB с головой хватило бы на всевозможные расширения (меньше 120 не делают просто уже), так как хочу запустить медиасервер на Raspberry. Приходит диск в коробке полностью на китайском. Есть надпись 3 года гарантии. Диск SATA (6GB\s). Формат M.2 2280 (длины диска).

На передней стороне модуль памяти. Видно, что есть 1 свободный слот — в версии 480GB (максимальная для такого формата диска, NVME может быть и на 2TB, но нам он не подходит) — будет тут еще один модуль памяти. Бумажка с серийником обязательна, при ее удалении обнуляется гарантия (гарантия кстати рабочая, знакомый получил бесплатно замену за нерабочий по приезду диск. Не от магазина, а от производителя). В комплекте есть отвертка и 2 винта (не нужны нам, в корпусе уже есть винт).

К слову, чтобы больше не возвращаться к диску — максимальная его температура — 73.6 градуса при постоянной записи на него. Скорость записи прямо зависит от нагрева диска.

При тестировании диска, первые минут 7 скорость записи была около 250МБ\с, а после разогрева стала постепенно падать с 250 до 180, потом до 130 и в конце до 50МБ\с. Емкость диска проверена, скорость чтения не падала — 250МБ\с. Это скорость чтения\записи не через SATA, а через USB3.0 плату от Argon, то есть реальные показатели, как оно и будет на сервере. Скорость более чем хорошая, такого конкретного разогрева диска на сервере не будет.

SSD диск кстати приходит неразмеченный. Нужно через Disk manager (Менеджер дисков Windows) создать новый том, следуя стандартным настройкам мастера настроек.

Сборка сервера умного дома

Первым этапом плата-конвертер соединяется с Raspberry. Также теплопроводящие силиконовые проставки наклеиваются на процессор и оперативную память.

Читайте также:  открылась дверь розенбаум слушать

Далее плата вставляется в пины GPIO и привинчивается к корпусу. В плату расширения M.2 вставляется диск SSD. Обратите внимание, что диск прикручивается черным винтом, а золотой остался внизу как поддержка диска. Не перегибайте SSD диск.

После этого нужно установить операционную систему Raspberry OS (Lite версия без графического интерфейса). Рекомендую ставить именно ее, можно поставить Home Assistant и без нее, но тогда сервер не сможет больше ничего делать, кроме запуска Home Assistant. В том же прошивальщике выбираете Raspberry Pi OS Lite 32bit и пишите образ уже на SSD. Диск ваш станет определяться как и СД карта — 200МБ. Не пугайтесь, это часть диска фрагментируется под загрузочный раздел, так и должно быть (через диспетчер дисков Windows можно вернуть все как было — удалить загрузочные разделы и вернуть реальный размер диска одним разделом, если нужно).

После этого ставим диск в корпус и можно все скручивать. Финальным шагом является установка USB перемычки, соединяющей плату M.2 с корпусом. Не забудьте про нее, а то загрузка OS не пойдет. Сервер готов к использованию (вернее аппаратная часть готова).

Программная настройка Raspberry OS и Home Assistant

На программной части в этой статье останавливаться не буду. Для нетерпеливых, вот видео от уважаемого Alex Kvazis по настройке системы (кстати тоже на SSD диск). Просто спокойно делаете все по шагам — проще простого.

Важно. Если у вас не идет загрузка «зависимостей» через интернет на Raspberry (нет внешнего выхода в сеть), то посмотрите урок 1.1, который решает эту проблему (нужно WiFi сети дать больший приоритет).

По настройке только отмечу 1 этап — настройка локализации Raspberry. Здесь нужно выбрать ru-RU-UTF-8 и делается это пробелом на клавиатуре. Alex пропустил этот момент, пришлось потупить, пока не нашел.

Питание сервера умного дома

Raspberry Pi4B требует минимум 3А для бесперебойной работы сервера. Блоки 5В, выдающие полноценные 3А, можно посчитать на пальцах. Я изначально использовал блок QC3.0 с Fasttech (типа их фирменный), потом все же раскошелился на оригинальную Raspberry зарядку. Стоит кстати недорого, по цене обычных зарядок из китая.

Параметры: вход 100-240V 50\60Hz, выход 5.1В 3А, кабель 1.5 метра 18AWG, коннектор Type-C, вилка EU.

Блок сделан по заказу UK в Камбоджии, даже не Китай. Сделан конечно очень качественно, ничего не скажешь. Есть в 2 цветах: черный и белый. Крайне не рекомендую использовать паленые китайские блоки, тем более, те, что идут в универсальных наборах — от блока питания зависит очень много, при недостатке мощности сервер может тупить + надежность блока очень важна.

Zigbee координатор

Zigbee считается самым распространенным беспроводным протоколом на данный момент. Все ввиду низкого потребления и ячеистости сети — то есть некоторые устройства могут быть репитерами (повторителями сигнала), которые расширяют сеть и снижают нагрузку на координатор (головное Zigbee устройство).

Для умного дома Home Assistant требуется универсальный Zigbee «стик» (специальный Zigbee USB модуль в виде флешки). Данный модуль позволяет подключать к умному дому любые Zigbee устройства, не важно какого бренда.

Это не заводские устройства. Их паяют энтузиасты и продаются они здесь: тыц.

Самым первым был стик CC2531 (заводской кстати), у него была очень маленькая дальность покрытия и минимальное число устройств в сети. На смену ему пришел стик V3 на модуле CC2538. Недавно вышел новый V4 на модуле CC2652P (разницы между CC2538 и CC2652 огромной нет, а вот разница по сравнению с CC2531 колоссальная). У меня модуль CC2562P с модулем Ebyte E72 (есть также RFstar, но это совсем не принципиально). Есть также менее и более мощные антенны — у меня например на 12dBi (стоит в частном доме в котельной).

Zigbee стик рекомендуется подключать на некотором удалении от самого сервера, чтобы не создавать помехи. Для этих целей подойдет любой usb 2.0 — 3.0 удлинитель, который часто идет в комплекте с мышкой\флешкой и т.д.

Вот кстати некоторые другие самоделки, купленные через ZigБЕРУ группу. Слева вверху — шлюз Xiaomi EU версии, прошитый в OpenWRT и установленным Home Assistant — у него 250МБ памяти, есть динамик и подсветка. Можно включать радио или звуковые оповещения через Google TTS. Вся система запускается в оперативной памяти и обнуляется каждый перезапуск (нет проблем с картами памяти). Это самое дешевое устройство для умного дома Home Assistant — в нем есть Zigbee модуль, BT Mesh модуль, что позволяет через разные интеграции подключать любые устройства умного дома. Минус — очень слабое устройство с технической точки зрения, которое по факту работает на пределе (но работает и ничего не тормозит — просто тяжелые интеграции вы не поставите). Данный шлюз — идеальное решение для небольшой дачи, дома или же для новичков в умном доме.

Далее слева внизу — 8 канальное реле с сухими контактами — может выступать как обычное реле с беспроводным управлением, либо как контроллер любых внешних датчиков\сенсоров.

Справа вверху — сенсор Co2 на модуле SenseAir S8 (довольно дорогой модуль), но славится своей точностью.

Снизу справа — тот же Zigbee стик, просто с другой стороны.

Архитектура умного дома для больших площадей покрытия

Возвращаемся к покрытию основного дома и гостевого, между которыми около 15 метров. Понятное дело, что требуется в первую очередь сеть WiFi. Xiaomi EU шлюз имеет не очень мощный WiFi модуль, поэтому лучше, чтобы WiFi роутер\репитер был как можно ближе (опять же интернет нужен только для дистанционного управления, а так, все устройства общаются со шлюзом по Zigbee и все работает шустро).

Основной сервер. Raspberry Pi4B 8GB + Argon One корпус + SSD диск + Zigbee стик 2652P. Я сервер разместил в котельной, так как там есть и питание и WiFi роутер с LAN портом и куча свободного места, где можно все это добро удобно расположить и в тоже время ограничить доступ посторонним. Далее Zigbee устройства наполняют сеть. Те, что питаются от сети 220V, обычно являются еще и репитерами — расширяют сеть. Понятно, что не все работает по Zigbee, есть еще WiFi устройства (обычно самодостаточные продукты, типа умного пылесоса, лампочек, увлажнителей, обогревателей и т.д.), Bluetooth датчики или устройства. Я стараюсь избегать Bluetooth протокола из-за небольшой дальности работы и необходимости еще одного шлюза.

Дополнительный сервер. Xiaomi EU шлюз. Гостевой дом у меня небольшой, всего около 30 кв. метров. Для его покрытия с лихвой хватает шлюза сяоми с Home Assistant. В гостевом доме устройств и датчиков не сильно много, поэтому разворачивать еще один сервер на Raspberry было бы расточительно. Также настроено общение между основным сервером и дополнительным по MQTT (протокол общения по типу подписчик-издатель, то есть кто-то публикует сообщения, а кто-то их слушает).

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

Вывод

В данной статье рассмотрели из каких компонентов лучше собрать умный дом на Home Assistant. По соотношению цена-качество-удобство использования, это считается лучшей сборкой на данный момент. Знаю, что некоторые сидят на Intel NUC, но NUC сервер прилично дороже сборки на Raspberry. NUC обычно продается как голая материнская плата и если посчитать все затраты на накопитель, RAM память, блок питания, то получается уже кругленькая сумма. Можно также использовать старый компьютер или ноутбук, но тут вопрос уже сколько он проживет и плюс потребление ноутбука и Raspberry несравнимо.

Ссылки

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

Источник

Образовательный портал