Поиск по базе знаний

Интеграция 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).

  1. Перейдите в веб-интерфейс вашего Home Assistant и откройте раздел HACS.
  2. В строке поиска введите Passive BLE Monitor и выберите найденный репозиторий.
  3. Нажмите кнопку Скачать (Download) в правом нижнем углу и дождитесь завершения процесса.
  4. Перезагрузите сервер Home Assistant для того, чтобы система зарегистрировала новые файлы интеграции.
  5. После перезагрузки перейдите в 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-донгл).

  1. Откройте настройки интеграции Passive BLE Monitor.
  2. Перейдите в раздел управления устройствами и нажмите Добавить устройство.
  3. Введите MAC-адрес вашего датчика и его bind_key (если используется стандартная прошивка с шифрованием).
  4. Задайте имя датчика (например, «Датчик температуры в спальне»).
  5. Нажмите Сохранить. В течение нескольких минут (как только датчик отправит очередной пакет данных) в системе появятся новые сущности: температура, влажность и уровень заряда батареи.

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

Шаг 4. Использование Bluetooth Proxy на базе ESPHome

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

Для решения проблемы с радиусом покрытия настройте удаленные приемники — Bluetooth Proxy:

  1. Возьмите недорогой микроконтроллер ESP32 (стоимостью около 300 рублей).
  2. Запишите на него прошивку через встроенную интеграцию ESPHome с поддержкой функции bluetooth_proxy:.
  3. Разместите эту плату в комнате с датчиками и подключите к питанию 5 Вольт через любой USB-порт.
  4. Микроконтроллер будет автоматически принимать BLE-пакеты от датчиков Xiaomi и прозрачно пересылать их по локальной Wi-Fi сети прямо на сервер Home Assistant.

Шаг 5. Проброс датчиков в Яндекс и настройка сценариев

Когда датчики успешно передают показания в Home Assistant, их можно транслировать в экосистему Яндекса с голосовым помощником Алиса.

  1. Перейдите в настройки интеграции Yandex Smart Home на сервере Home Assistant.
  2. В списке разрешенных для передачи устройств отметьте галочками новые датчики температуры и влажности.
  3. Откройте мобильное приложение «Дом с Алисой» на вашем смартфоне.
  4. Перейдите в меню настроек и обновите список устройств умного дома. Датчики появятся в соответствующих комнатах.
  5. Теперь вы можете спросить Алису: «Какая температура в спальне?», и она озвучит актуальные данные. Также вы можете создавать автоматические сценарии: например, если влажность на датчике опускается ниже 40%, Алиса включит умный увлажнитель воздуха, подключенный к вашей системе.

WARNING

Располагайте датчики BLE на расстоянии не более 7-10 метров от приемника (сервера HA или Bluetooth-прокси), так как стены и перегородки сильно ослабляют слабый сигнал Bluetooth-передатчика, что может приводить к временным потерям показаний датчиков.

Инструкция по настройке

1

Установка BLE Monitor

Установите интеграцию Passive BLE Monitor через HACS на вашем сервере Home Assistant.

2

Получение ключей шифрования

Получите специальный bind_key для ваших датчиков Xiaomi Mijia с помощью утилиты или облачного аккаунта.

3

Добавление датчиков в HA

Включите сканирование в настройках Passive BLE Monitor, укажите bind_key и дождитесь появления сущностей.

4

Проброс в экосистему Яндекса

Пробросьте датчики в Дом с Алисой и настройте сценарии оповещения или автоматического управления климатом.