Как интегрировать Xiaomi Mijia BLE в Lovelace UI: полное руководство от подключения до виджетов

Десятки устройств Xiaomi Mijia с поддержкой Bluetooth Low Energy (BLE) — от термогигрометров LYWSD03MMC до датчиков движения RTCGQ02LM — могут работать напрямую с Home Assistant без дополнительных хабов. Но их интеграция в интерфейс Lovelace UI часто вызывает вопросы: как правильно настроить сканирование, избежать потери связи и создать информативные карточки? Эта статья закрывает все пробелы — от выбора адаптера BLE до тонкой настройки автоматических сценариев.

Мы разберём уникальный метод стабилизации соединения через параметр `periodic_update_interval`, который уменьшает задержки обновления данных с 10+ минут до 30 секунд, а также покажем, как обойти ограничения прошивки устройств Xiaomi с помощью кастомных компонентов. В конце вас ждёт готовый код для виджетов температуры, графика влажности и уведомлений о движении — с возможностью адаптации под любой дизайн.

1. Какие устройства Xiaomi Mijia поддерживают BLE и совместимы с Home Assistant

Не все гаджеты Xiaomi с маркировкой Mijia работают по протоколу BLE. Вот актуальный список проверенных моделей (2026 год), которые можно интегрировать в Lovelace UI:

  • 🌡️ Датчики климата: LYWSD03MMC (термогигрометр с дисплеем), LYWSD02 (без экрана), MHO-C401 (для теплиц)
  • 🚪 Датчики открытия: MCCGQ02HL (дверные/оконные), SJWS01LM (водонепроницаемые)
  • 👤 Датчики движения: RTCGQ02LM (с подсветкой), RTCGQ11LM (mini-версия)
  • 💡 Умные кнопки: WXKG01LM (однокнопочная), WXKG12LM (двойная)

⚠️ Внимание: Устройства с индексом _AQARA (например, WSDCGQ11LM) используют Zigbee, а не BLE, и требуют хаба Xiaomi Gateway или адаптера CC2531. Их настройка принципиально отличается!

Перед покупкой проверьте маркировку на коробке или в приложении Mi Home: иконка Bluetooth ⚙️ подтверждает поддержку BLE. Также обратите внимание на версию прошивки — устройства с ПО старше 2021 года могут требовать обновления через Mi Home перед интеграцией.

📊 Какое устройство Xiaomi Mijia BLE вы используете?
Термогигрометр (LYWSD03MMC и др.)
Датчик движения (RTCGQ02LM)
Датчик открытия (MCCGQ02HL)
Умная кнопка (WXKG01LM)
Другое

2. Требования к оборудованию: какой BLE-адаптер выбрать

Для стабильного сканирования устройств Xiaomi Mijia BLE нужен адаптер с поддержкой Bluetooth 5.0+ и чипсетом Nordic nRF52 или CSR8510. Вот сравнительная таблица проверенных моделей:

Модель адаптера Чипсет Макс. устройств Радиус действия (м) Цена (2026)
CC2652P (рекомендуемый) TI CC2652 50+ до 100 ~3500 ₽
ESP32-WROOM Espressif ESP32 20-30 до 50 ~1200 ₽
Asus USB-BT500 Realtek RTL8761B 10-15 до 20 ~900 ₽
Raspberry Pi встроенный Broadcom BCM4345 5-8 до 10 0 ₽ (если уже есть)

🔹 Критические нюансы:

  • 🔌 Адаптеры на CSR4.0 (например, дешёвые китаские "нано"-модули) не совместимы с Home Assistant из-за отсутствия поддержки hci.
  • 📶 Для домов площадью >100 м² потребуется несколько адаптеров с перекрывающимися зонами покрытия.
  • CC2652P потребляет ~0.5W в активном режиме — учитывайте это при выборе блока питания для Raspberry Pi.

Если вы используете Home Assistant OS на виртуальной машине (например, Proxmox или VMware), передача USB-адаптера в гостевую систему должна быть настроена через PCI Passthrough. Иначе сканирование BLE работать не будет!

3. Настройка Home Assistant для работы с Xiaomi BLE

Интеграция устройств Xiaomi Mijia BLE осуществляется через официальный компонент ble_monitor или кастомный passive_ble_monitor (рекомендуется для стабильности). Вот пошаговая инструкция:

  1. Установите HACS (Home Assistant Community Store), если ещё не сделали этого. Инструкция: официальная документация.

  2. В HACS найдите и установите репозиторий Passive BLE Monitor от custom-components.

  3. Добавьте в файл configuration.yaml следующий код (замените hci0 на ваш адаптер):

    ble_monitor:
    

    bt_interface: 'hci0'

    devices:

    - mac: 'XX:XX:XX:XX:XX:XX' # MAC-адрес вашего устройства

    restore_state: true

    periodic_update_interval: 60 # Обновление каждые 60 секунд

  4. Перезагрузите Home Assistant и проверьте лог на ошибки через Настройки → Журналы.

⚠️ Внимание: MAC-адреса устройств Xiaomi Mijia BLE меняются при каждом включении (рандомизация для экономии энергии). Чтобы это обойти:

  1. Используйте bind_key из приложения Mi Home (найдите его в логах при подключении).
  2. Либо настройте passive_ble_monitor на сканирование по идентификатору модели (например, model: "LYWSD03MMC").

Подключён ли BLE-адаптер к USB 2.0 (не 3.0) порту?|Отключены ли другие Bluetooth-устройства (наушники, клавиатуры)?|Установлен ли пакет `bluez` в системе (проверка: `sudo apt list --installed | grep bluez`)?|Включён ли режим "Discoverable" на устройствах Xiaomi (держите кнопку 5 сек до мигания)?-->

4. Создание карточек Lovelace UI для Xiaomi Mijia BLE

Интерфейс Lovelace UI позволяет визуализировать данные с датчиков в виде графиков, иконок или текстовых панелей. Вот 3 готовых примера кода для вставки в Настройки → Lovelace → Редактировать:

4.1 Карточка термогигрометра с историей

type: vertical-stack

cards:

- type: glance

entities:

- entity: sensor.lywsd03mmc_temperature

name: Температура

- entity: sensor.lywsd03mmc_humidity

name: Влажность

title: Спальня

- type: history-graph

entities:

- entity: sensor.lywsd03mmc_temperature

- entity: sensor.lywsd03mmc_humidity

hours_to_show: 24

refresh_interval: 300

4.2 Уведомление о движении с фотографией

type: picture-glance

image: 'https://ваш-ip-адрес:8123/local/camera/snapshot.jpg'

entities:

- entity: binary_sensor.rtcgq02lm_motion

name: Движение

icon: 'mdi:motion-sensor'

title: Прихожая

camera_view: live

4.3 Панель управления кнопкой Xiaomi

type: entities

entities:

- entity: sensor.wxkg01lm_action

name: Последнее действие

- entity: input_boolean.virtual_switch

name: Виртуальный выключатель

icon: 'mdi:light-switch'

show_header_toggle: false

🔧 Дополнительные настройки:

  • 🎨 Для изменения иконок используйте библиотеку Material Design Icons (код иконки вставляйте в поле icon).
  • 📊 Чтобы графики обновлялись чаще, уменьшите refresh_interval до 60 секунд (но это увеличит нагрузку на систему).
  • 🔒 Для скрытия чувствительных данных (например, датчиков в детской) используйте visibility: '[{"condition": "state", "entity": "input_boolean.hide_sensors", "state": "off"}]'.
Как экспортировать готовую карточку для резервного копирования?

1. Откройте режим редактирования карточки в Lovelace.

2. Нажмите на три точки в правом верхнем углу → "Просмотр YAML".

3. Скопируйте весь код и сохраните в текстовый файл с расширением `.yaml`.

4. Для восстановления: создайте новую карточку → "Показать код" → вставьте сохранённый YAML.

5. Решение типичных проблем с подключением

Даже при правильной настройке устройства Xiaomi Mijia BLE могут "теряться" или передавать данные с задержкой. Вот алгоритм диагностики:

Проблема Возможная причина Решение
Устройство не обнаруживается Рандомизация MAC-адреса Используйте bind_key или model в конфигурации
Данные обновляются раз в 10+ минут Стандартный интервал опроса Установите periodic_update_interval: 60
Постоянные ошибки BLE scan failed Конфликт Bluetooth-устройств Отключите другие гаджеты, использующие Bluetooth
Датчик показывает "- -" Слабый сигнал или помехи Переместите адаптер ближе к устройству

⚠️ Внимание: Если после обновления Home Assistant до версии 2026.4+ перестали работать кастомные компоненты, выполните:

  1. Удалите папку /config/custom_components/ble_monitor.
  2. Переустановите интеграцию через HACS.
  3. Обновите конфигурацию согласно официальному чейнджлогу.

Для устройств LYWSD03MMC с прошивкой до 2022 года может потребоваться откат версии через Mi Home (регион China Mainland). Инструкция:

Как откатить прошивку на LYWSD03MMC?

1. В Mi Home переключите регион на "Китай".

2. Найдите устройство в списке и нажмите на три точки → "Обновить прошивку".

3. Выберите версию 2.0.6_0039 (стабильная для интеграции).

4. После отката сбросьте устройство (удерживайте кнопку 10 секунд до мигания).

6. Автоматизация на основе данных с датчиков

Собранные данные с Xiaomi Mijia BLE можно использовать для создания сценариев в Home Assistant. Примеры практических автоматических правил:

6.1 Умное проветривание по влажности

alias: "Проветривание при высокой влажности"

trigger:

- platform: numeric_state

entity_id: sensor.lywsd03mmc_humidity

above: 65

action:

- service: switch.turn_on

entity_id: switch.ventilation_fan

- delay: "00:30:00"

- service: switch.turn_off

entity_id: switch.ventilation_fan

6.2 Оповещение о движении в запретное время

alias: "Охрана: движение ночью"

trigger:

- platform: state

entity_id: binary_sensor.rtcgq02lm_motion

to: "on"

condition:

- condition: time

after: "23:00:00"

before: "06:00:00"

action:

- service: notify.telegram_bot

data:

message: "Обнаружено движение в прихожей! {{ now().strftime('%H:%M') }}"

6.3 Логирование температуры в Google Sheets

Для этого потребуется:

  1. Создать новый Google Sheet и опубликовать его как веб-приложение.
  2. Установить интеграцию Google Sheets через HACS.
  3. Добавить автоматизацию:
alias: "Лог температуры в Google Sheets"

trigger:

- platform: time_pattern

minutes: "/30"

action:

- service: google_sheets.append_spreadsheet

data:

spreadsheet_id: "ваш-id-документа"

range: "Лист1!A:B"

values: >

{{ [now().strftime("%d.%m.%Y %H:%M"), states('sensor.lywsd03mmc_temperature')] }}

📌 Важно: Для уведомлений через Telegram предварительно настройте бота в configuration.yaml:

telegram_bot:

- platform: polling

api_key: "ваш-api-ключ"

allowed_chat_ids:

- ваш-chat-id

notify:

- name: telegram_bot

platform: telegram

chat_id: ваш-chat-id

7. Оптимизация энергопотребления и стабильности

Устройства Xiaomi Mijia BLE известны проблемой "засыпания" — они перестают отвечать на запросы для экономии батареи. Чтобы этого избежать:

  • 🔋 Замените стандартные батарейки CR2032 на Panasonic CR2032 или Duracell DL2032 — они держат заряд на 30% дольше.
  • ⚡ В настройках passive_ble_monitor установите active_scan: true (увеличит потребление адаптера, но стабилизирует соединение).
  • 🔄 Раз в неделю принудительно "будите" устройства, отправляя команду ble_write через Node-RED или скрипт:
service: ble_monitor.write

data:

mac: "XX:XX:XX:XX:XX:XX"

service_uuid: "0000fee9-0000-1000-8000-00805f9b34fb"

characteristic_uuid: "0000ffd5-0000-1000-8000-00805f9b34fb"

value: [0xAA, 0x55]

📊 Сравнение времени работы от батареи:

Устройство Стандартная CR2032 Panasonic CR2032 С активным сканированием
LYWSD03MMC ~6 месяцев ~9 месяцев ~4 месяца
RTCGQ02LM ~12 месяцев ~18 месяцев ~8 месяцев
MCCGQ02HL ~24 месяца ~36 месяцев ~18 месяцев

⚠️ Внимание: Если устройство перестало отвечать даже после замены батареи, попробуйте сбросить его до заводских настроек:

  1. Извлеките батарейку на 1 минуту.
  2. Вставьте батарейку обратно и сразу нажмите кнопку сброса (обычно скрыта под крышкой).
  3. Удерживайте кнопку 10-15 секунд до мигания индикатора.

8. Альтернативные способы интеграции (если BLE не подходит)

Если ваши устройства Xiaomi Mijia не поддерживают BLE или вы столкнулись с неразрешимыми проблемами соединения, рассмотрите эти варианты:

  • 🌐 Облачная интеграция через Mi Home:
    1. Установите компонент xiaomi_miot в Home Assistant.
    2. Получите токен доступа через Mi Account Token Extractor.
    3. Добавьте в configuration.yaml:
    xiaomi_miot:
    

    username: "ваш-email@xiaomi.com"

    password: "ваш-пароль"

    devices:

    - id: 123456789 # ID устройства из Mi Home

    token: "ваш-токен"

  • 📡 Локальный мост Zigbee:

    Для устройств Aqara (например, WSDCGQ11LM) используйте адаптер CC2531 или ConBee II с интеграцией Zigbee2MQTT.

  • 🔌 ESPHome + BLE Proxy:

    Прошивайте дешёвые модули ESP32 прошивкой ESPHome и используйте их как прокси-серверы для удалённых датчиков.

  • 🔹 Сравнение методов интеграции:

    Метод Плюсы Минусы Задержка обновления
    Passive BLE Monitor Локальное управление, нет облачной зависимости Требует BLE-адаптер, ограниченный радиус 30 сек – 5 мин
    Xiaomi Miot (облако) Работает с любыми устройствами Xiaomi Зависимость от серверов Xiaomi, задержки 5–15 мин
    Zigbee2MQTT Стабильное соединение, низкое энергопотребление Требует хаб, не все Mijia поддерживают Zigbee 1–10 сек

    Если вы выбираете облачную интеграцию, учитывайте, что с 2026 года Xiaomi ужесточила политику безопасности: теперь для получения токена требуется китайский аккаунт Mi (регистрация через +86 номер). Альтернатива — покупка токена на специализированных форумах (например, 4PDA).

    FAQ: Частые вопросы по Xiaomi Mijia BLE в Lovelace UI

    ❓ Как узнать MAC-адрес устройства, если он рандомизируется?

    Используйте утилиту bluetoothctl в терминале Linux:

    1. Запустите sudo bluetoothctl.
    2. Введите scan on и дождитесь появления вашего устройства.
    3. MAC-адрес будет отображаться в формате XX:XX:XX:XX:XX:XX рядом с названием модели.
    4. Для привязки по bind_key найдите его в логах Mi Home (ищите строки с "bindKey":).

    💡 Совет: MAC-адреса устройств Xiaomi часто начинаются с 58:2D:34 или A4:C1:38.

    ❓ Почему датчик температуры показывает неверные значения?

    Причины и решения:

    • 🔄 Калибровка: Поместите датчик рядом с эталонным термометром и добавьте поправку в Home Assistant через template sensor:
    • sensor:
      

      - platform: template

      sensors:

      adjusted_temperature:

      value_template: "{{ (states('sensor.lywsd03mmc_temperature') | float + 1.2) | round(1) }}"

      unit_of_measurement: "°C"

    • 📶 Помехи: Металлические поверхности или микроволновые печи рядом с датчиком искажают сигнал. Переместите устройство.
    • 🔋 Разряженная батарея: При напряжении ниже 2.8V датчики Xiaomi начинают "врать". Замените батарейку.
    ❓ Можно ли подключить Xiaomi Mijia BLE к Home Assistant без Raspberry Pi?

    Да, вот варианты:

    • 🖥️ Home Assistant Container на любом ПК/ноутбуке с Bluetooth-адаптером (Windows/Linux/macOS).
    • 📱 Home Assistant на Android через приложение HASS.io (требуется root для полного доступа к Bluetooth).
    • ☁️ Облачный Home Assistant (например, Nabu Casa), но BLE-интеграция будет работать только при локальном адаптере.

    ⚠️ Ограничение: На Windows могут потребоваться дополнительные драйверы для BLE-адаптеров (например, Zadig для CC2652P).

    ❓ Как экспортировать данные с датчиков в Excel?

    Используйте интеграцию SQL или InfluxDB:

    1. Настройте базу данных в configuration.yaml:
    2. recorder:
      

      db_url: !secret db_url # Например, mysql://user:password@localhost/homeassistant

    3. Установите аддон InfluxDB через Supervisor.
    4. Экспортируйте данные через Grafana или скрипт на Python:
    import pandas as pd
    

    from sqlalchemy import create_engine

    engine = create_engine('mysql://user:password@localhost/homeassistant')

    query = "SELECT state, last_changed FROM states WHERE entity_id = 'sensor.lywsd03mmc_temperature' AND last_changed > NOW() - INTERVAL 7 DAY"

    df = pd.read_sql(query, engine)

    df.to_excel('temperature_data.xlsx', index=False)

    ❓ Почему после обновления Home Assistant перестали работать BLE-датчики?

    Частые причины:

    • 🔧 Изменения в API: Обновите кастомные компоненты через HACS.
    • 🔌 Конфликт портов: Проверьте, не занял ли другой процесс Bluetooth-адаптер (sudo lsof /dev/ttyACM0).
    • 📋 Устаревшие настройки: Замените ble_monitor на passive_ble_monitor в configuration.yaml.

    🛠️ Диагностика