Проект домашней автоматизации Карла – Часть 1: Home Assistant и YAML, MQTT, Sonoff и рождественские гирлянды

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

Исследование началось с просмотра серии видео на YouTube от Bruh Automation , где была представлена платформа Home Assistant . В видео используется Raspberry Pi в качестве сервера, но в данном случае уже применялся Wintel Pro CX-W8 Smart TV Box , выполняющий роль сервера для нескольких служб: три сервера Minecraft, Emby Server, iSpyConnect DVR (с двумя IP-камерами), контроллер Unifi Wi-Fi, а также сервер MQTT и Home Assistant. На скриншоте ниже показана нагрузка в состоянии простоя.

Без iSpy нагрузка обычно составляет 5-10%. Наиболее ресурсоемким является транскодирование в Emby, но оно используется редко. Приобретение Raspberry Pi с блоком питания и корпусом по стоимости приближается к покупке бокса на z8300. Недостаток — автоматические перезагрузки из-за обновлений Windows, что было отключено . При использовании Windows-бокса рекомендуется 64-битная версия. Преимущество Raspberry Pi — наличие предварительно настроенного образа Home Assistant для записи на SD-карту.

Настройка серверной части

Подробности установки опущены. Были установлены Python, Mosquitto и Home Assistant (по руководству с официального сайта для Windows)

. Установка Python прошла гладко — использовался исполняемый файл с настройками по умолчанию (версия 3.5.2 64-bit, сейчас доступны новее). Наибольшие сложности возникли с Mosquitto; использовалось это руководство с заменой на Win32OpenSSL_Light-1_0_2j.exe (~2 МБ). Home Assistant был установлен через pip.

Рождественские гирлянды

Исследования начались незадолго до Рождества. На CNX были обнаружены недорогие устройства Sonoff , а на GitHub — проект с пользовательской прошивкой от arendst для управления через MQTT. (При получении ссылки обнаружен новый проект с дополнительными функциями здесь ). В связи с активным украшением дома к Рождеству (три ёлки и множество гирлянд) и необходимостью таймеров, устройства были заказаны немедленно. После получения за пару ночей была реализована простая автоматизация включения/выключения гирлянд по расписанию. Одно устройство осталось для экспериментов, остальные после Рождества были размещены по дому.

MQTT

Изначально MQTT может быть непонятным, и его освоение требует времени. Можно использовать облачный MQTT-сервис, но предпочтительнее локальное развертывание. MQTT — это служба обмена сообщениями между устройствами. Основные элементы: топики и полезные нагрузки. Например, для включения переключателя отправляется полезная нагрузка «on» в топик «cmnd/testbench/power». Устройство подтверждает действие, отправляя в топик «stat/testbench/POWER» сообщение о включении и получении команды. Каждому устройству требуется уникальный топик, учитывающий регистр символов. Для отладки создан пакетный файл подписки на все топики (символ # обозначает все подтопики).

Sonoff

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

Разработчик arendst активно развивает проект, ежедневно внося улучшения. При первой прошивке была обнаружена ошибка, о которой ему сообщили — исправление загрузили в течение часа. На Wiki доступны детальные инструкции. Перед прошивкой необходимо припаять контактные разъемы (изначально изогнутые, но их легко выровнять). Для загрузки через Arduino IDE потребуется адаптер USB-TTL с поддержкой 3.3 В и 5 В. После настройки Arduino в скетче указываются SSID и пароль Wi-Fi. После первичной загрузки устройство подключается к сети. Далее через IP-адрес в роутере открывается веб-интерфейс для настройки: ввод учетных данных MQTT-сервера и топика. Сервер MQTT был настроен без аутентификации. После программирования устройство подключается к сети 220 В. Внимание: не подключайте сеть 220 В при подсоединенном TTL-адаптере.  Использованы разрезанные удлинители с зачищенными на 6 мм проводами. Многожильные провода залужены припоем для исключения замыканий и закреплены на клеммах с соблюдением полярности.

Увеличить

YAML

YAML требователен к синтаксису — это формат конфигурации Home Assistant. Лишний пробел может заблокировать запуск. В последней версии при перезапуске через браузер конфигурация проверяется автоматически. Для демонстрации на строке 54 добавлен пробел.

Увеличить

Для редактирования в Windows рекомендуется Notepad++, позволяющий сворачивать неактивные блоки. Конфигурацию можно разбить на файлы, но удобнее единый файл.

Новые элементы добавляются поочередно с проверкой после каждого изменения. Рекомендуется сохранять резервные копии рабочей конфигурации. В примере настроены 5 устройств Sonoff и автоматизация включения/выключения по расписанию. Это базовая реализация. При добавлении устройств важно единообразие имен: после успешной настройки параметры копируются с заменой имен через поиск.

На скриншотах показаны свернутые блоки и полная конфигурация (без персональных данных).

Обратите внимание: test bench использует новую прошивку с измененным MQTT-топиком.

Следующие шаги

Текущая система не считается «умным домом». Управление светом через расписание, смартфон или кнопку Sonoff функционально аналогично выключателю. Расписание приводит к нерациональному расходу энергии, а использование телефона непрактично. Ниже приведена ориентировочная стоимость компонентов (без учета сервера и доставки). Сервер на Windows — самая дорогая часть; альтернатива — Linux на S905x.

Затраты

Стоимость сервера и доставка не включены.

Item Qty Price Total
Sonoff Basic 5 $4.85 $24.25
Headers 1 $1.50 $1.50
USB to TTL 1 $2.54 $2.54
Total $28.29

Если тема интересна или нужны детали по аспектам — оставляйте комментарии. Настройка системы приносит удовлетворение, объединяя работу с «железом» и ПО. Надеемся, это пробудит интерес к домашней автоматизации: она доступна по цене и сложности. Упомянутые продукты приобретались самостоятельно.

Планируется цикл из 3 частей. В следующей части будут интегрированы недорогие датчики движения и открытия на 433 МГц, а также их модификация с добавлением датчика освещенности.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments