- Xiaomi BLE
- Configuration
- Supported device classes
- Encryption
- Devices
- Plant sensor: Flower Care / MiFlora (HHCCJCY01)
- Help us to improve our documentation
- Categories
- On this page
- Подключение датчика Xiaomi LYWSD03MMC с стоковой прошивкой к Home Assistant.
- Работа с датчиком температуры Xiaomi Mijia BLE в Home Assistant
- Определение MAC-адреса датчика
- Добавление датчика в Home Assistant
Xiaomi BLE
Integrates devices that implement the Xiaomi Mijia BLE MiBeacon protocol and other Xiaomi BLE devices that support passive collection. It listens to Bluetooth broadcasts that the device makes by itself, allowing us to track the latest sensor values without needing to wake it up from deep sleep to poll and conserving its battery power.
The integration will automatically discover devices once the Bluetooth integration is enabled and functional.
Configuration
Adding Xiaomi BLE to your Home Assistant instance can be done via the user interface, by using this My button:
If the above My button doesn’t work, you can also perform the following steps manually:
- Browse to your Home Assistant instance.
- Go to Settings > Devices & Services.
- In the bottom right corner, select the Add Integration button.
- From the list, select Xiaomi BLE.
- Follow the instructions on screen to complete the setup.
Supported device classes
It is possible that we detect your device because it uses the MiBeacon protocol but don’t yet support any or all of its sensors. We currently actively test devices with the following sensor classes.
- Temperature
- Humidity
- Moisture
- Illumination
- Conductivity
- Formaldehyde
- Consumable
- Voltage
- Battery
It also supports the following classes of binary sensors:
The entities for the sensor classes are added after the values are first received. This means entities for values that are broadcasted at a lower interval (e.g., battery) might show up later.
Encryption
Some devices use AES encryption to protect the sensor values they are broadcasting.
- MiBeacon v2/v3 use unauthenticated AES with a 24 character hexadecimal (12 byte) key
- MiBeacon v4/v5 use authenticated AES with a 32 character hexadecimal (16 byte) key
This key is called the bindkey or beaconkey.
There are a few ways to obtain a bindkey for your device:
- Set your own. The Telink Flasher allows you to generate new bindkeys for devices it supports. The new bind key will work with Home Assistant, but the Mi Home app will not recognize the sensor anymore once the device has been activated by the TeLink flasher application. To use the sensor again with the Xiaomi Mi Home app, the device needs to be removed and then re-added inside the Mi Home app.
- Extract the keys from Xiaomi Cloud using a token extractor tool.
Devices
Plant sensor: Flower Care / MiFlora (HHCCJCY01)
HHCCJCY01, also known as MiFlora or “Flower Care”, should be automatically discovered. However, if the firmware is too old, it won’t send the right BLE beacons and an update via the app is required. The lowest confirmed working firmware version is 3.2.1 (a lower 3.x version could also be alright).
Flower Care firmware update steps:
- Install the official “Flower Care” app by HHCC:
- Google Play (requires location and storage permission)
- Apple App Store
Help us to improve our documentation
The Xiaomi BLE integration was introduced in Home Assistant 2022.8, and it’s used by 5.8% of the active installations. Its IoT class is Local Push.
Categories
On this page
Подключение датчика Xiaomi LYWSD03MMC с стоковой прошивкой к Home Assistant.
В прошлой статье я описал, как прошить данный градусник LYWSD03MMC, как изменить его некоторые отображаемые параметры и как его добавить в Home Assistant с альтернативной прошивкой.
В этой статье добавим данный датчик на стоковой прошивке и разберем какие плюсы она имеет и какие минусы.
Итак ну приступим сразу к делу. Так как данный датчик у нас отправляет шифрованные послания на стоковой прошивке, нам необходим ключ для дешифрации данных. Чтоб получить данный ключ, нам необходимо:
- Зайти на сайт: https://atc1441.github.io/TelinkFlasher.html
- На данном сайте нажать кнопку “Connect” и найти в списке наше устройство, оно будет называться LYWSD03MMC.
- После подключения, необходимо нажать кнопку “Do Activation”. И появится следующее:
Вот нас какраз интересует Mi Bind Key. Копируем его.
Теперь переходим в Home Assistant.
Заходим в HACS. (Если не знаете что такое HACS и как его установить, то в этой статье я попытался описать данный процесс. Статья: http://psenyukov.ru/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-hacs-%d0%b2-home-assistant/)
В HACS заходим в Integrations, далее нажимаем на “+” и в открывшемся окне ищем “Xiaomi passive BLE monitor sensor platform” И устанавливаем его. После установки в меню HACS->Integrations появится данная интеграция:
Теперь необходимо перезагрузить сервер. Настройки->Сервер->Перезагрузить.
После перезагрузки заходим в Configuration.yaml и Пишем следующее:
sensor: - platform: mitemp_bt rounding: True decimals: 1 period: 60 log_spikes: False use_median: False active_scan: False hci_interface: 0 batt_entities: False encryptors: 'A4:C1:38:93:3B:A5': '71b0f8c2e9582b81d7c343874f65e4b5' sensor_names: 'A4:C1:38:31:6E:1A': 'Балкон'
encryptors: 'A4:C1:38:93:3B:A5': '71b0f8c2e9582b81d7c343874f65e4b5'
Это первое значение: блютуз мак адрес нашего датчика. Второе значение это какраз ключ шифрования который мы получили с сайта и записали ранее.
Так как после добавления устройства, когда оно появится в системе Home Assistant у нее будет имя по mac адресу. Это не очень удобно. Поэтому блок ниже и служит, для того чтоб удобно описать наши датчики. В данном случае датчику присвоено имя “Балкон”
sensor_names: 'A4:C1:38:31:6E:1A': 'Балкон'
Все после прописи датчика в configuration.yaml и перезапуска системы. Примерно через 10 минут наш датчик должен появиться в системе и называться как mi temperature Балкон и mi humidity Балкон. Все датчики добавленные через интеграцию “Xiaomi passive BLE monitor sensor platform” Будут начинаться на “mi“.
Какие же всетаки плюсы и минусы данного метода добавления устройства.
Плюс безусловно это то, что данные датчики смогут по прежнему работать в системе умного дома Mi Home параллельно с системой умного дома Home Assistant.
А минус это пожалуй то, что данные мы будем получать примерно один раз в 10 минут и если нам необходимо отслеживать температуру с меньшим интервалом во времени чем 10 минут, то такой способ нам не подойдет. Ну или я просто не знаю как сделать так чтоб на стоковой прошивке датчик отправлял данные чаще чем приблизительно оди н раз в 10 минут.
У меня таких 3 датчика. И сейчас 2 из них на стоковой прошивке, а один на альтернативной с интервалом показаний раз в 5 минут. Вот теперь я за ними понаблюдаю и выясню сильно ли частота изменения показаний влияет на разряд батарейки.
Данный способ интеграции в Home Assistant и разбор самого датчика до винтиков я постарался показать в данном видео:
Работа с датчиком температуры Xiaomi Mijia BLE в Home Assistant
Ниже приводится пример подключения Bluetooth датчика температуры и влажности Xiaomi Mijia BLE MJ_HT_V1 (круглый с дисплеем) к контроллеру с установленным Home Assistant Core (см. Установка Home Assistant Core в виртуальное окружение python ).
Для подключения датчика необходимо определить его MAC-адрес и внести изменения в конфигурационный файл Home Assistant.
Определение MAC-адреса датчика
Включите датчик и расположите его рядом с контроллером или на небольшом расстоянии с прямой видимостью. Запустите утилиту bluetoothctl и включите режим сканирования Bluetooth устройств:
$ bluetoothctl [bluetooth]# scan on
Информация об обнаруженных устройствах будет выводиться в окно терминала.
Датчик отправляет данные примерно каждые 30 сек и информация от датчика должна появиться через некоторое время. Нас интересует устройство с идентификатором MJ_HT_V1:
[NEW] Device 4C:65:A8:D4:5E:BF MJ_HT_V1
Это и есть искомый датчик и его MAC-адрес — 4C:65:A8:D4:5E:BF .
Остановите процесс сканирования:
Вывести список найденных устройств:
[bluetooth]# devices Device 4C:65:A8:D4:5E:BF MJ_HT_V1
В данном списке также должно присутствовать искомой устройство:
Device 4C:65:A8:D4:5E:BF MJ_HT_V1
Добавление датчика в Home Assistant
Home Assistant имеет встроенную поддержку датчиков Xiaomi Mijia BLE MJ_HT_V1 с помощью интеграции mitemp_bt.
В файл конфигурации .homeassistant/configuration.yaml необходимо добавить следующие строки:
sensor: - platform: mitemp_bt mac: "4C:65:A8:D4:5E:BF" name: living_room_wall_temp force_update: true median: 3 monitored_conditions: - temperature - humidity - battery
- mac — MAC-адрес датчика.
- name — Отображаемое в Home Assistant имя датчика.
- force_update — Принудительно обновлять данные от датчика в Home Assistant даже если они не меняются.
- median — Позволяет исключить ошибки от датчика (резкие изменения значения температуры и влажности). В данном примере передаются усредненные данные за 3 отсчета.
- monitored_conditions — Параметры, которые нужно отслеживать. В данном примере это: температура влажность и заряд батарейки.
После внесения изменений в файл конфигурации необходимо перезапустить сервер Home Assistant.
© Copyright 2023, JetHome. Обновлено: 30.01.2023 11:34:44 UTC.