Найти в Дзене
HASSStas: Рецепты HomeAssistant

E2-E4: зоны датчика присутствия Aqara FP-1

В посте про Aqara FP-1 у меня спросили про зоны этого датчика. Тогда у меня не было опыта работы с этим зонами, я видел их настройки в z2m но не нашёл сценария использования и вникать не стал. После вопроса мне стало интересно и, хотя сценария под зоны я так и не придумал, но функционал опробовал. Об этом и расскажу. В целом, если в помещении реализовано разделение освещения по зонам, то такое использование может быть интересно. У меня ни в одной комнате зон нет, есть только сценарии освещения, которые привязаны к определённым событиям, но не к локации, поэтому для эксперимента я решил поуправлять моими румбоксами в книжном шкафу. В целом, достаточно удачно получилось, что они сразу расположены относительно датчика присутствия в соседних зонах с довольно чёткой границей между ними. Опытным путём я вычислил квадраты зон, соответствющие двум румбоксам. Получилось как-то так: Чтобы датчик создавал события при обнаружении присутствия в этих зонах - их надо зарегистрировать. В z2m это выгля

В посте про Aqara FP-1 у меня спросили про зоны этого датчика. Тогда у меня не было опыта работы с этим зонами, я видел их настройки в z2m но не нашёл сценария использования и вникать не стал. После вопроса мне стало интересно и, хотя сценария под зоны я так и не придумал, но функционал опробовал. Об этом и расскажу.

Иллюстрация сгенерирована AI Шедеврум
Иллюстрация сгенерирована AI Шедеврум

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

-2

Чтобы датчик создавал события при обнаружении присутствия в этих зонах - их надо зарегистрировать. В z2m это выглядит так:

-3

Здесь нужно указать идентифкатор зоны (Region ID) и добавить нужно количество сочетаний позиций x и y для регистрируемой зоны. В моём случае одна зона описывается одной парой координат, но в вашем случае зона может сочетать два и более квадрата, поэтому нужно кнопкой с плюсиком добавить столько координат, сколько требуется, и после ввода значений всех пар координат нажать "Apply".

Я создал две зоны - 1 и 2, в соответствии с картинкой выше. После этого в событиях датчика в Home Assistant стали появляться события вхождения и поидания зон1 и 2:

-4

На эти события можно навесить триггеры автоматизации и выполнять действия в зависимости от события в той или иной зоне. В качестве примера я включаю подсветку румбокса, соответствующего зоне, в которой он находится, при обнаружении присутствия и выключаю при выходе из этой зоны. И в целом это работает, но есть одно большое НО. Это НО заключается в чрезмерной, на мой взгляд, детализации событий, которые z2m обрабатывает для датчика FP-1. Когда этот датчик у меня работал под deConz - такого не было и всё было несколько проще. Хотя, возможно, кому-то такой режим работы датчика подойдёт больше.

Речь идёт о том, что в отличие от более простых датчиков присутствия Aqara регистрирует не только факт присутствия: да/нет, но и сопутствующие промежуточные статусы: приближение, вхождение в область присутствия, выход из области присутствия, с соответствующими событиями. Попросту говоря, там где ожидаются статусы "occupied" и "unnoccupied", Aqara добавляет ещё такие события как "enter" и "leave", а так же для общего поля работы датчиков: "approach" и "away". При этом надо держать в уме, что enter не всегда сменится на occupied, что, наверное, и правильно для случаев когда человек просто проходит мимо. Но в случае с двумя зонами, расположенными рядом, это работает не очень хорошо: датчик может засечь enter в одну зону, но шаг в сторону не зарегистрировать как enter в другую зону. И в обоих случаях статус occupied может вообще не наступить ни в одной из зон, хотя я явно нахожусь прямо тут. Ну и, естественно, такое обилие перекрестных событий усложняет написание автоматизаций. Если без подробностей, то включение-выключение подсветки румбоксов по двум зонам выглядит как-то так:

-5

Это можно сгруппировать из 8 вариантов в 4 через блок "И", но я специально оставил так - для наглядности. Тут состояния *_enter и *_occupied включают соответствующую подсветку, а *_leave и *_unoccupied - выключают. Если заложиться только на occupied и unoccupied, то, как я написал выше, это может не сработать. Например подсветка включится, но не выключится при выходе из зоны. Хотя даже в таком варианте это работает нестабильно и подсветка часто просто не включается в нужном месте.

В целом, как я упомянул в самом начале, у меня нет необходимости использовать зоны в моих сценариях освещения, поэтому сейчас это работает больше на "вау-эффект" для гостей - это прикольно, когда в шкафу загорается подсветка макета, когда ты подходишь к той или другой половине шкафа. Даже если это работает только в половине случаев. А потому - пусть будет. А общим освещением в гостиной я управляю по общему состоянию присутствия, обнаруживаемому датчиком. Это отдельная сущность:

-6