Интеграция Bluetooth термометров Xiaomi в Home Assistant и Яндекс
Беспроводные датчики температуры и влажности от Xiaomi (особенно популярная модель Xiaomi Mijia LYWSD03MMC с контрастным жидкокристаллическим экраном) завоевали огромную популярность благодаря своей доступности, лаконичному дизайну и высокой точности измерений. Однако, работая по протоколу Bluetooth Low Energy (BLE), эти устройства изначально предназначены для работы внутри экосистемы Mi Home на смартфонах.
Чтобы интегрировать эти датчики в единую систему умного дома на базе Home Assistant и научить Алису сообщать точную температуру в комнатах по голосовому запросу, нам потребуется настроить интеграцию Passive BLE Monitor. В отличие от стандартного опроса Bluetooth-устройств, пассивный мониторинг не подключается к датчикам напрямую, а лишь «слушает» эфир и перехватывает широковещательные пакеты данных, которые датчики отправляют в пространство. Это позволяет сохранить ресурс батарейки типа CR2032 на срок более одного года и собирать данные без задержек.
Шаг 1. Установка интеграции Passive BLE Monitor
Поскольку интеграция Passive BLE Monitor не входит в число стандартных компонентов ядра Home Assistant, ее необходимо установить через альтернативный каталог HACS (Home Assistant Community Store).
- Перейдите в веб-интерфейс вашего Home Assistant и откройте раздел HACS.
- В строке поиска введите Passive BLE Monitor и выберите найденный репозиторий.
- Нажмите кнопку Скачать (Download) в правом нижнем углу и дождитесь завершения процесса.
- Перезагрузите сервер Home Assistant для того, чтобы система зарегистрировала новые файлы интеграции.
- После перезагрузки перейдите в Settings (Настройки) ➡️ Devices & Services (Устройства и службы), нажмите Add Integration (Добавить интеграцию) и найдите в списке Bluetooth passive monitor.
Шаг 2. Получение ключа шифрования (bind_key)
Современные датчики Xiaomi транслируют свои показания в зашифрованном виде. Чтобы Home Assistant смог расшифровать пакеты данных, нам потребуется получить специальный 16-байтовый ключ шифрования — bind_key.
Существует два основных способа его получения:
- Официальный (через облако): Используйте специальный скрипт
Xiaomi Cloud Token Extractor, который подключается к вашему аккаунту Mi Home и выгружает список всех зарегистрированных устройств с их MAC-адресами и соответствующими ключами шифрования. - Альтернативный (кастомная прошивка): Вы можете перепрошить датчик через веб-браузер на кастомную открытую прошивку (например, разработанную Aaron Christophel). Кастомная прошивка позволяет отправлять данные в открытом формате (Custom или Mi Like без шифрования), а также настраивать частоту отправки показаний и калибровать датчик.
TIP
Кастомная прошивка предпочтительна для опытных пользователей, так как она не только избавляет от необходимости искать ключи шифрования, но и позволяет выводить уровень заряда батареи в процентах прямо на экран датчика и регулировать чувствительность сенсора влажности.
Шаг 3. Добавление и настройка датчиков в Home Assistant
После установки интеграции и получения ключей шифрования можно переходить к добавлению датчиков на ваш сервер умного дома. Для работы интеграции на сервере должен быть активен Bluetooth-адаптер (встроенный или внешний USB-донгл).
- Откройте настройки интеграции Passive BLE Monitor.
- Перейдите в раздел управления устройствами и нажмите Добавить устройство.
- Введите MAC-адрес вашего датчика и его
bind_key(если используется стандартная прошивка с шифрованием). - Задайте имя датчика (например, «Датчик температуры в спальне»).
- Нажмите Сохранить. В течение нескольких минут (как только датчик отправит очередной пакет данных) в системе появятся новые сущности: температура, влажность и уровень заряда батареи.
При настройке датчиков помните, что для корректного отображения состояний сухих контактов или датчиков протечек Xiaomi в Яндексе вам может понадобиться дополнительная настройка сопоставления сущностей. Ознакомьтесь с нашей инструкцией по настройке соответствия бинарных сенсоров Home Assistant для Алисы, чтобы ваши сценарии безопасности работали без ошибок и ложных тревог.
Шаг 4. Использование Bluetooth Proxy на базе ESPHome
Если сервер Home Assistant находится в закрытом серверном шкафу или подвале, слабый радиосигнал Bluetooth может не добивать до дальних комнат, что вызовет обрывы связи и потерю показаний.
Для решения проблемы с радиусом покрытия настройте удаленные приемники — Bluetooth Proxy:
- Возьмите недорогой микроконтроллер ESP32 (стоимостью около 300 рублей).
- Запишите на него прошивку через встроенную интеграцию ESPHome с поддержкой функции
bluetooth_proxy:. - Разместите эту плату в комнате с датчиками и подключите к питанию
5 Вольтчерез любой USB-порт. - Микроконтроллер будет автоматически принимать BLE-пакеты от датчиков Xiaomi и прозрачно пересылать их по локальной Wi-Fi сети прямо на сервер Home Assistant.
Шаг 5. Проброс датчиков в Яндекс и настройка сценариев
Когда датчики успешно передают показания в Home Assistant, их можно транслировать в экосистему Яндекса с голосовым помощником Алиса.
- Перейдите в настройки интеграции Yandex Smart Home на сервере Home Assistant.
- В списке разрешенных для передачи устройств отметьте галочками новые датчики температуры и влажности.
- Откройте мобильное приложение «Дом с Алисой» на вашем смартфоне.
- Перейдите в меню настроек и обновите список устройств умного дома. Датчики появятся в соответствующих комнатах.
- Теперь вы можете спросить Алису: «Какая температура в спальне?», и она озвучит актуальные данные. Также вы можете создавать автоматические сценарии: например, если влажность на датчике опускается ниже
40%, Алиса включит умный увлажнитель воздуха, подключенный к вашей системе.
WARNING
Располагайте датчики BLE на расстоянии не более 7-10 метров от приемника (сервера HA или Bluetooth-прокси), так как стены и перегородки сильно ослабляют слабый сигнал Bluetooth-передатчика, что может приводить к временным потерям показаний датчиков.
Инструкция по настройке
Установка BLE Monitor
Установите интеграцию Passive BLE Monitor через HACS на вашем сервере Home Assistant.
Получение ключей шифрования
Получите специальный bind_key для ваших датчиков Xiaomi Mijia с помощью утилиты или облачного аккаунта.
Добавление датчиков в HA
Включите сканирование в настройках Passive BLE Monitor, укажите bind_key и дождитесь появления сущностей.
Проброс в экосистему Яндекса
Пробросьте датчики в Дом с Алисой и настройте сценарии оповещения или автоматического управления климатом.