Найти тему
HASSStas: Рецепты HomeAssistant

Погода в доме 2: Датчики влажности и температуры

Оглавление

Для контроля климата в квартире, вместе с увлажнителем были заказаны два датчика температуры и влажности от Xiaomi: Mijia Bluetooth Thermometer 2. Маленькие, квадратненькие, работающие по протоколу Bluetooth. И недорогие, по сравнению с другими моделями.

Фото взято из описания товара на Banggood
Фото взято из описания товара на Banggood

Изначально планировалось, что, раз датчики работают по bluetooth, а увлажнитель, как заявлено, работает в качестве bluetooth-шлюза, то я увижу показания датчиков в свойствах увлажнителя в HomeAssistant. Но, как оказалось, это так не работает, использовать увлажнитель в качестве шлюза можно, видимо, только в родном приложении MiHome. Стандартный компонент HomeAssistant mitemp_bt именно с этими датчиками тоже не работает, поскольку, как оказалось, они общаются по шифрованному протоколу. Казалось бы - на датчиках можно поставить крест и просто развесить их по комнатам и забыть про интеграцию. Но не тут-то было. В долгих гуглопоисках был найден кастомный компонент, расширяющий функциональность mitemp_bt. В то время этот компонент так же не поддерживалл шифрование, но автор компонента как раз работал над этим, поэтому я подписался на тему и следил за развитием событий.

Где-то через месяц - ура! - поддержка шифрованного протокола для датчика была добавлена и я смог успешно подключить свои датчики к HomeAssistant. А спустя ещё несколько дней компонент стал доступен в HomeAssistant Community Store (HACS).

Подключение

Чтобы подключить датчик, нам нужно сначала установить компонент - идём в HACS, находим Xiaomi passive BLE monitor sensor platform и устанавливаем.

Теперь нам нужно найти MAC-адрес и токен устройства. Воспользуемся модификацией MiHome от vevs (только для Android), подключаем датчик в приложение (внимание! поиск устройства может занимать ооооооооочень много времени, запаситесь терпением), затем находим на накопителе телефона в папке vevs/logs файл devices.txt и в нём наше устройство miaomiaoce.sensor_ht.t2, сохраняем токен в secrets.yaml:

mitemp_token: '12a3bc4d5678ef9g0h12i3jk4lm56n78'

И прописываем сенсор в sensors.yaml:

- platform: mitemp_bt
    rounding: False
    period: 60
    log_spikes: True
    use_median: False
    batt_entities: True
    hci_interface:
    - 0
    encryptors:
'A1:B2:C3:D4:E5:F6': !secret mitemp_token

где 'A1:B2:C3:D4:E5:F6' - MAC-адрес нашего датчика.

Узнать номер HCI-интерфейса можно в консоли сервера, набрав команду

hcitool dev

Ответ будет примерно таким:

Devices:
hci0 00:1A:2B:CD:34:56

, тут hci = 0.

После всех манипуляций останавливаем HomeAssistant и запускаем его обратно. Это важно! Если просто перезапустить HomeAssistant, компонент не будет корректно работать.

После успешного запуска проверяем датчики в Панели разработчика. Должно быть три датчика: sensor.mi_batt_* (заряд батарейки), sensor.mi_h_* (humidity, влажность) и sensor.mi_t_* (temperature, температура).

-2

Теперь на эти датчики можно настраивать свои автоматизации. У меня их нет, поскольку из климатической техники у меня только увлажнитель. Тем, у кого реостаты или кондиционеры - такие датчики очень пригодятся.

Заключение

Первый вывод, который я извлёк в процессе настройки - всегда надо проверять совместимость покупаемого оборудования с системой. Один такой датчик стоил около 400 рублей. Если бы криптование не было побеждено, я бы потратил около 800 рублей почти впустую - висели бы эти датчики просто для красоты (на самом деле нет, бывает что я на них поглядываю, чтобы оценить климат в той или иной комнате).

Впрочем, на эти грабли я наступил позже ещё раз. Но об этом в другой раз.

О датчиках же можно сказать, что свою функцию они отрабатывают на все сто. Они маленькие и незаметные, но при этом информативные (общий статус климатических условий можно понять по смайлику, который выводится на экране вместе с показаниями - сразу понятно, хорошо тут или не очень). Имея два датчика в наличии, я заказал себе ещё два - для других помещений, и раздумываю над будильником Xiaomi Qingpin, со встроенными сенсорами температуры и влажности, который с недавних пор так же поддерживается этим компонентом.