Настройка датчика движения Xiaomi в home assistant

Содержание

Приветствую. Сегодня краткий обзор на сенсор для умного дома — Aqara Human Body sensor. Данный датчик совмещает в себе не только датчик движения, но и датчик освещенности. Самый первый датчик движения Xiaomi был по размерам чуть больше этого и не имел поворотной платформы для крепления, что затрудняло настраивать зоны покрытия датчиком.

К слову, данное поворотное крепление можно докупить отдельно или распечатать на 3D принтере и использовать с тем же датчиком движения Xiaomi. Моя история с умным домом начинается в году 2015 где-то с первым набором Xiaomi. Там тоже были датчики движения, открытия двери, шлюз, умная розетка и вроде кнопка была еще, все работало на первой версии Zigbee.

Я тогда поигрался и продал все, MiHome на китайском регионе тупил по-страшному (причем «китайский регион» сейчас и тогда это разные вещи — сейчас все работает куда шустрее даже на китайском. У меня еще сохранился старый аккаунт — там даже кабинет не такой, как сейчас. Странно, что его еще поддерживают до сих пор).

Беспроводный датчик движения для умного дома Xiaomi RTCGQ01LM — сценарии, настройки



Где-то год назад начал с малого — автоматизация «круглогодичной» дачи — авто включение греющего кабеля и поддержание температуры в доме, видеокамера в доме и на улице, авто включение бойлера. Также «умный дом» решил косяк при проектировании электросетей — выключатель света в предбаннике у самого входа и когда выходишь туда из самого дома, то выключатель в темноте искать нужно долго.

Датчик света и движения из обзора как раз решил эту проблему запросто. Правда под выключателем света еще спряталось умное реле. Можно сейчас удаленно включать свет, но мне это совсем не интересно. Я практически нигде не ставлю умный свет, мне куда проще включить нажатием клавиши. «Умным» домом я решаю только косяки разводки света и там, где без этого никак — например зашел в гардеробную — свет включился и как только там никого нет — свет выключился (вот такие варианты я считаю логичными). А вот когда автоматизируют каждую лапочку в доме, то это уже диагноз и нужно обращаться к дохтору.

Приходит в огромной коробке, в которую можно было поместить 4 таких датчика.

Технические характеристики

Беспроводной протокол: Zigbee
Рабочая влажность: 0-95% (все датчики для внутреннего применения, пытались их ставить на улицу — приходят в негодность быстро)
Рабочая температура: -10-45’C (по опыту и в -20 используют, но батарейка тогда за зиму разряжается % на 30-40)
Диапазон обнаружения движения: 7м
Угол обнаружения: 170 градусов

Как отключить синхронизацию mi cloud Xiaomi

Комплект. Сенсор, инструкция-книжка (есть даже русский, причем даже нормально переведенный), поворотная площадка (опционально), запасной скотч (запасной есть только на сам сенсор).

Питание: литиевый элемент CR2450 3V (Panasonic, made in Indonesia). Хватает на год-два максимум (оригинальный панасоник).

Датчик клеится либо сразу на поверхность, либо через поворотную площадку, что гораздо удобнее для настройки зон покрытия датчиком.

Подключение к MiHome

Не буду тут долго останавливаться, так как наша цель Home Assistant. Так как датчики Zigbee, то нужен будет шлюз Zigbee. Так как это MiHome — то и шлюз нужен из подсистемы Xiaomi. В Home Assistant же можно использовать любой шлюз Zigbee, а лучше всего универсальный «стик», который люди сами собирают и продают (группа Telegram).

Я подключил через Xiaomi Gateway 3 (который уже кстати прошит на работу с Home Assistant, но также продолжает работать и в MiHome). Для подключения жмем кнопку на сенсоре на 5 секунд (моргает синим цветом) и датчик сам цепляется к шлюзу. При обнаружении движения отображается новое событие вместе со значением освещенности.

В MiHome очень удобно сделаны автоматизации, если бы он не тупил, то я бы и не полез в Home Assistant, даже несмотря на привязку к китайским облакам. Ради тестов сделал сценарий «от балды» (может весь умный дом это просто игрушка и тут все «от балды» и бесполезно?? и лишь мы пытаемся внушить себе «полезность» этих автоматизаций?? тут я подвис… нет, все же умные и полезные вещи сделать можно, просто нужно подходить максимально обдуманно, а не автоматизировать все подряд).
Короче мое чудо творение для тестов — датчик двери включает розетку (светрелечто угодно), а любое движение выключает. Можно сделать если есть движение И дверь закрытаоткрыта, ТО включить свет. Что угодно короче.

В реальности работает так. Я даже удивился, что китайское облако Xiaomi сжалилось надо мной и не лагало в это время. Получилось все очень шустро.

Подключение к Home Assistant

В качестве дачного варианта у меня крутится шлюз Xiaomi EU, на который был установлен OpenWRT и далее Home Assistant, Zigbee2MQTT и прочие прелести. Продается также в той телеграм группе, можно сделать и самому такой — ничего сложного (припаять 3 провода и навыки IT для установки нужного ПО :))

Переходим в любой Zigbee2MQTT или Mosquitto или что там у вас установлено. Включаем обнаружение новых устройств, нажатием кнопки Permit Join вверху. Нажимаем кнопку на датчике на 5 сек и устройство само залетает через пару секунд, вот и все. Также само появляется в Home Assistant (MQTT Broker должен быть настроен уже).

Прям в Zigbee2MQTT можно посмотреть какие данные шлет датчик. Батарея в % и Вольтах. Основное значение есть движениенет движения. Освещенность в Lux. Уровень сигнала от 0 до 255 (чем больше, тем лучше).

И какое-то значение температуры 32 градуса, которое никогда не изменяется — оно нам не нужно.

В Home Assistant можно сразу вытянуть карточку со всеми значениями на интерфейс. Все работает моментально, есть история движений, да и вообще график по каждому значению. Далее создаются автоматизации.

Данный датчик Aqara лучше датчика Xiaomi, за счет наличия датчика освещенности, так как если вы хотите включать свет по обнаружению движения, но не хотите включать его, когда на улице светло — то нужно было бы поставить 2 датчика Xiaomi для движения и освещенности — здесь же все в одном и очень компактно.

Планирую купить +18 Добавить в избранное Обзор понравился +12 +21

  • xiaomi,
  • Xiaomi Aqara Human Body Sensor,
  • электронные системы умный дом
  • 01 мая 2021, 11:54
  • автор: adimahka
  • просмотры: 8705

Источник: mysku.club

Автоматизация — Управление выключателем по датчику движения в Home Assistant

Одной из самых распространенных автоматизаций является управление освещением по датчику движения, очень удобно войти в помещение и включение света происходит автоматически, через какое-то время свет отключается сам. Рассмотрим примеры ее реализации.

Пример 1

  • Датчик движения — ID устройства: 0x001
  • Управляемый выключатель физически замыкающий/размыкающий электрическую линию — ID устройства: 0x002
  • Включение освещение по датчику движения
  • Отключение освещения через 3 минуты после окончания обнаружения движения датчиком
  • Отключение освещения через 3 минуты после включения выключателя (на случай если свет был включен с выключателя, но в помещении не было обнаружено движение)

Правим файл automations.yaml или пользуемся редактором автоматизаций Configuration -> Automations -> + .

Действие 1. При переходе сенсора движения в состояние on проверяется текущее состояние выключателя, если выключатель находится в состоянии off , то освещение включается.

— id: turn_on_light_by_motion_sensor alias: Turn on light by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘on’ condition: — condition: state entity_id: switch.0x002_switch state: ‘off’ action: — service: switch.turn_on entity_id: switch.0x002_switch data: <>

Действие 2. При переходе сенсора движения в состояние off через 3 минуты проверяется текущее состояние выключателя, если выключатель находится в состоянии on , то освещение выключается.

— id: turn_off_light_by_motion_sensor alias: Turn off light by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘off’ for: 00:03:00 condition: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Действие 3. При включении освещения через 3 минуты проверяется состояние датчика на присутствие движения, если оно не обнаружено, то освещение выключается. Иначе, свет должен отключиться, когда сенсор движения перейдет в состояние off — действие 2.

— id: turn_off_light_after_3_min_when_switch_on alias: Turn off light after 3 min when switch on trigger: — platform: state entity_id: switch.0x002_switch to: ‘on’ for: 00:03:00 condition: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Сяоми не берет зарядку

Пример 2

Автоматическое включение и отключение освещения — это отлично, но бывают ситуации, когда это не нужно и надо иметь возможность выбора отключения данной функции. Можно отключить автоматизации в настройках, но будет удобнее создать переключатель, который будет отвечать за автоматическое включение и отключение освещения.

Создаем выключатель автоматики тип Toggle с наименованием auto_light_on_off в меню Configuration -> Helpers -> + или в файл configuration.yaml добавляем следующую запись:

input_boolean: auto_light_on_off: name: Auto light on

Кнопку удобно вывести на панель lovelace для быстрого доступа.

automation auto light on off

  • Выключатель автоматического включения/отключения освещения — ID: input_boolean.auto_light_on_off
  • Датчик движения — ID устройства: 0x001
  • Управляемый выключатель физически замыкающий/размыкающий электрическую линию — ID устройства: 0x002
  • Включение освещения по датчику движения
  • Отключение освещения через 3 минуты после окончания обнаружения движения датчиком
  • Отключение освещения через 3 минуты после включения выключателя (на случай если свет был включен с выключателя, но в помещении не было обнаружено движение)
  • Отключение освещения через 3 минуты после включения выключателя автоматики

Действие 1. При переходе сенсора движения в состояние on проверяется текущее состояние выключателя автоматики и выключателя освещения, если первый находится в состоянии on , а второй выключатель находится в состоянии off то освещение включается.

— id: turn_on_light_by_motion_sensor alias: Turn on light by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘on’ condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘off’ action: — service: switch.turn_on entity_id: switch.0x002_switch data: <>

Действие 2. При переходе сенсора движения в состояние off через 3 минуты проверяется текущее состояние выключателя автоматики и выключателя освещения, если первый находится в состоянии on и второй выключатель находится в состоянии on , то освещение выключается.

— id: turn_off_light_by_motion_sensor alias: Turn off light by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘off’ for: 00:03:00 condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Действие 3. При включении освещения через 3 минуты проверяется состояние выключателя автоматики и датчика на присутствие движения, если автоматика включена и движение не обнаружено, то освещение отключается. Иначе, свет должен отключиться, когда сенсор движения перейдет в состояние off — действие 2.

— id: turn_off_light_after_3_min_when_switch_on alias: Turn off light after 3 min when switch on trigger: — platform: state entity_id: switch.0x002_switch to: ‘on’ for: 00:03:00 condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Действие 4. При включении автоматического включения освещения через 3 минуты проверяется текущее состояние выключателя автоматики (может быть выключено в период ожидания), датчика движения и выключателя освещения. Если автоматика on , движение off и свет включен, то освещение отключается.

— id: turn_off_light_after_3_min_when_auto_on alias: Turn off light after 3 min when switch on trigger: — platform: state entity_id: input_boolean.auto_light_on_off to: ‘on’ for: 00:03:00 condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Пример 3

В примере 2 есть недостаток в действии 4, при окончании обнаружения движения до окончания таймера отключение освещения произойдет раньше, чем ожидается, т.к. состояния устройств будут соответствовать условиям. Решить проблему перекрестных таймеров можно создав свой таймер, по которому будет происходить отключение освещения. В файле configuration.yaml описываем таймер, время отключения 180 секунд:

timer: light_turn_off: name: Light turn off timer duration: 180

  • Выключатель автоматического включения/отключения освещения — ID: input_boolean.auto_light_on_off
  • Таймер автоматического отключения освещения — ID: timer.light_turn_off
  • Датчик движения — ID устройства: 0x001
  • Управляемый выключатель физически замыкающий/размыкающий электрическую линию — ID устройства: 0x002
  • Включение автоматического освещения
  • Выключение автоматического освещения
  • Включение освещения с выключателя
  • Выключение освещения с выключателя
  • Включение освещения по датчику движения
  • Отмена таймера при обнаружении движения
  • Датчик движения прекратил обнаружение действия
  • Таймер завершил отсчет

Действие 1. При включении выключателя автоматики происходит перезапуск таймера отключения освещения, если датчик движения в состоянии off и освещение включено.

— id: ‘turn_on_auto_light’ alias: Auto light on trigger: — platform: state entity_id: input_boolean.auto_light_on_off to: ‘on’ condition: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: timer.cancel entity_id: timer.light_turn_off data: <> — service: timer.start entity_id: timer.light_turn_off data: <>

Действие 2. При отключении выключателя автоматики если был запущен таймер отключения, то он отменяется.

— id: ‘turn_off_auto_light’ alias: Auto light off trigger: — platform: state entity_id: input_boolean.auto_light_on_off to: ‘off’ condition: — condition: state entity_id: timer.light_turn_off state: active action: — service: timer.cancel entity_id: timer.light_turn_off data: <>

Действие 3. При включении освещения с выключателя происходит перезапуск таймера отключения, если выключатель автоматики on и датчик движения off .

— id: ‘turn_on_light’ alias: Light turn on trigger: — platform: state entity_id: switch.0x002_switch to: ‘on’ condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ action: — service: timer.cancel entity_id: timer.light_turn_off data: <> — service: timer.start entity_id: timer.light_turn_off data: <>

Действие 4. При отключении освещения с выключателя если был запущен таймер отключения, то он отменяется.

— id: ‘turn_off_light’ alias: Light turn off trigger: — platform: state entity_id: switch.0x002_switch to: ‘off’ condition: — condition: state entity_id: timer.light_turn_off state: active action: — service: timer.cancel entity_id: timer.light_turn_off data: <>

Действие 5. При обнаружении движения включается освещение, если выключатель автоматики on и освещение на данный момент выключено.

Как включить фонарик при звонке на Xiaomi redmi 9

— id: ‘turn_on_light_by_motion’ alias: Light turn on by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘on’ condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘off’ action: — service: switch.turn_on entity_id: switch.0x002_switch data: <>

Действие 6. При обнаружении движения происходит отмена таймера отключения при его активном текущем состоянии.

— id: ‘cancel_timer_by_motion’ alias: Timer cancel by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘on’ condition: — condition: state entity_id: timer.light_turn_off state: active action: — service: timer.cancel entity_id: timer.light_turn_off data: <>

Действие 7. При окончании обнаружения движения датчиком, включенном выключателе автоматики и включенном свете происходит запуск таймера на отключения освещения.

— id: ‘start_timer_by_motion’ alias: Timer start by motion sensor trigger: — platform: state entity_id: binary_sensor.0x001_occupancy to: ‘off’ condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: timer.start entity_id: timer.light_turn_off data: <>

Действие 8. При окончании отсчета таймера происходит отключение освещения, если выключатель автоматики on , датчик движения off и освещение включено.

— id: ‘turn_off_light_by_timer’ alias: Timer finished trigger: — platform: event event_type: timer.finished event_data: entity_id: timer.light_turn_off condition: — condition: state entity_id: input_boolean.auto_light_on_off state: ‘on’ — condition: and conditions: — condition: state entity_id: binary_sensor.0x001_occupancy state: ‘off’ — condition: and conditions: — condition: state entity_id: switch.0x002_switch state: ‘on’ action: — service: switch.turn_off entity_id: switch.0x002_switch data: <>

Пакеты

Для удобства управления наборы вспомогательных компонентов и автоматизаций, объединенных общим сценарием можно записать в отдельный файл с расширением yaml . Для подключения данных из этого файла его необходимо положить в папку .homeassistant/packages/ и в configuration.yaml прописать:

homeassistant: packages: !include_dir_named packages
# Переключатель автоматического вкл/откл. освещения в помещении input_boolean: auto_light_on_off: name: Auto light on # Таймер отключения освещения в помещении (180 секунд) timer: light_turn_off: name: Light turn off timer duration: 180 # Автоматизации automation: # Включение автоматического освещения — id: ‘turn_on_auto_light’ alias: Auto light on trigger: — platform: state entity_id: input_boolean.auto_light_on_off to: ‘on’ condition: . # Отключение автоматического освещения — id: ‘turn_off_auto_light’ alias: Auto light off trigger: — platform: state entity_id: input_boolean.auto_light_on_off to: ‘off’ condition: . . .

После перезагрузки Home Assistant дополнительные компоненты и автоматизации будут доступны в системе.

Источник: stupidhouse.ru

В поисках идеального датчика движения: Qingping Motion Ambient sensor.

Картинка со странциы товара в Aliexpress

Как видно из названия — датчик улавливает не только движение, но и замеряет освещённность. Напомню, что до постройки умного дома я пользовался встраиваемым в подрозетник выключателем с датчиком света и освещённости и его работа — это примерно то, чего я бы хотел от датчиков в HomeAssistant. Ну, можно, конечно, и лучше, поскольку у того чувствительность тоже была не ахти и ложные выключения присутствовали, пока, например, моешь посуду спиной к датчику. Раскрывая заранее карты, могу сообщить, что датчик от Qingping тоже таким страдает, но если в подрозетном я добивался более-менее приемлемого поведения подкручивая регуляторы «на глаз», то прокинутый в HomeAssistant умный датчик позволяет больше гибкости в манипуляциях.

У датчика интересное крепление — магнитное. В комплекте идут круглые наклейки двустороннего скотча: одна сплошная, для приклеивания держателя с магнитной полусферой, к которой примагничивается датчик под разными углами, а вторая — пустая посередине, для крепления самого датчика без «ножки». Есть ещё незадокументированный третий вариант крепления — просто положить на горизонтальную поверхность в нужном направлении, благо датчик гранёный и не скатится. Я воспользовался на кухне именно этим вариантом, положив на бра:

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

Итак, первое, что нужно сделать — это добавить новый датчик в MiHome. Я пользовался модификацией от vevs, чтобы удобно получать ключи, поэтому сначала мне пришлось скачать последнюю версию, поскольку в моём достаточно старом приложении такой датчик не был предусмотрен.

В остальном же добавление датчика в MiHome никаких затруднений не вызвало. Что вызвало затруднения — так это то, что ключ в логах я так найти и не смог. Зато нашёл более удобный (для меня) способ получения ключей — непосредственно из учётной записи MiHome (из облака).

Получение ключей

Получить ключи напрямую из облака можно с помощью скрипта Xiaomi Cloud Tokens Extractor . В репозитории есть ссылки на приложение для Windows. У меня такой операционной системы под рукой нет, поэтому я ставил скрипт на сервер HomeAssistant, на котором, напомню, у меня Ubuntu 18.04.

В оригинальной инструкции рекомендуется установить библиотеку requests через pip (pip3 install requests), но у меня почему-то не получилось, поэтому я устанавливал с помощью команды:

python3 -m pip install requests

Затем скачивал архив со скриптом:

wget https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/token_extractor.py

python3 token_extractor.py

Будет предложено ввести логин (e-mail) и пароль от учётной записи MiHome, а также выбрать регион. Часть моих устройств нашлась в регионе cn, но полный список доступен в регионе ru. Впрочем, регион можно не указывать, тогда сканирование будет выполняться дольше, но в итоге покажет все подключенные куда бы то ни было устройства в формате:

———
NAME: Название датчика
ID: blt.6.16b3iih9osc00
BLE KEY: [ble key для HomeAssistant]
TOKEN: [token]
MODEL: miaomiaoce.sensor_ht.t2
———

Здесь нас интересует только BLE KEY, который и надо подставить в интеграции Passive BLE monitor integration, который, к слову, в последних версиях приобрёл возможность конфигурации из интерфейса HomeAssistant.

Подключение датчика в HomeAssistant

Как и какие данные прописывать в конфигурации в формате yaml для подобных датчиков я уже описывал ранее . Но раз появилась возможность конфигурирования через интерфейс — грех ей не воспользоваться.

Идём в Настройки — Интеграции и находим наш компонент:

Источник: dzen.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Китай Покупай