Мой путь от дешёвых Wi-Fi PIR датчиков на батарейках к нормальным решениям продолжается. Сейчас единственное решение, которым я полностью доволен, является Aqara FP-1. Устройтсво дорогое, но работает отлично. Сейчас оно трудится на кухне, где самая большая проходимость. И даже странно, что до сих пор нет поста про этот датчик присутствия.
Но тем не менее, уже понятно, что нормальный датчик присутствия лучше двух датчиков движения, но FP-1 по-прежнему дорогой. Поэтому смотрим другие решения. В спальне, например, трудится тандем датчиков QingPing (на движение в комнате) и SNZB-03 (на вход-выход).
Но всё же хочется нормальных решений и вот взгляд упал на туевский датчик присутствия, питаемый от USB. Маркировка устройства ZY-M100, выпускается много кем в таком же формфакторе и под протоколом Tuya.
Естественно, под туей/смартлайфом использовать это я не собирался и перед заказом уточнил совместимость с Deconz: https://dresden-elektronik.github.io/deconz-rest-doc/devices/. Совместимость заявлена, можно брать.
Спустя некоторое время мятая коробочка с большой надписью LOGINOVO лежит на почте, а затем у меня на столе:
И первая же попытка подключить устройство в Phoscon с тресокм провалилась. Потому что поддержка устройства заявлена, но пока в экспериментальном режиме. Чтобы запустить устройство, нужно руками прописать DDF в Deconz. Но ничего, в общем-то, сложного не оказалось, всё расписано в теме по устройству: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/6517.
Итак, первое и хотелось бы чтобы единственное что нам нужно - это скачать DDF, применить к устройству и ребутнуть deconz.
Поскольку HA с некоторых пор живёт в контейнерах, то и рабочая папка Deconz у нас в контейнере: /usr/share/hassio/addons/data/core_deconz/.local/share/dresden-elektronik/deCONZ/. В этой папке есть папка с конфигурациями (DDF-файлами) устройствами. Но у меня нет ни одной конфигурации, я пока вручную ничего не добавлял, поэтому в папке devives у меня пусто. Надо это исправить. Поскольку устройство - Tuya, то надо создать папку tuya в папке devives и скачать туда последнюю версию DDF для датчика:
cd devices
mkdir tuya
cd tuya
wget https://raw.githubusercontent.com/dresden-elektronik/deconz-rest-plugin/master/devices/tuya/ZY-M100_human_breathing_presence.json
Затем открываем панель управления Deconz и видим там наше устройство, которое не определяется в Phoscon:
Выбираем его и идём в Edit - Edit DDF. Там File - Open и выбираем наш json из той папки, куда мы скачали готовый DDF. После этого достаточно сделать Hot reload из меню File, но я для надёжности перезагрузил целиком устройство.
После этого появилось устройство в Phoscon, которое стало определять присутствие. Увы, но освещённость у меня "из коробки" не взлетела.
Обновление прошивки не меняет ситуацию с освещённостью. Поиск по теме устройства на гитхабе ничего не дал, поэтому пришлось ковыряться самому. Скачать в папку generic файл конвертации люксов в освещённость lux_to_lightlevel.js тоже ни к чему не привело. Чтобы починить освещённость - пришлось формулу из lux_to_lightlevel вписать напрямую в свойства lightlevel устройства:
- Parse: tuya
- Datapoint: 104
- Expression: Item.val - Math.round(10000 * Math.log10(Attr.val) +1);
Hot reload и вот наконец-то нормальное значение освещённости:
На гитхабе говорят, что так, на самом деле, делать не надо а надо делать как надо. Возможно я что-то недокурил в той теме, но у меня работает так, как я описал, а так как написано в теме - не заработало.
Чтобы корректно определялась версия, нужно подрузить tuya_swversion.js в devices/tuya, где лежит сам наш файл DDF:
wget https://raw.githubusercontent.com/dresden-elektronik/deconz-rest-plugin/master/devices/tuya/tuya_swversion.js
Ну вот, в принципе, и всё. Датчик более-менее заработал. Надо его применить по назначению. На пробу датчик поставлен в детскую на ночь. Расстояние от датчика до кровати, на которой спит дочь - метра три с половиной. Определение присутствия ночью:
А вот датчик поставлен в спальню, прямо над кроватью, в которой всю ночь спали два человека и кот:
В целом неплохо. Понятно, что это опять датчик микродвижений с какой-то там чувствительностью, но определить что кто-то в какой-то мере активно находится в комнате - можно. Запускаем автоматизацию в работу с шаблоном YAMA и мониторим живую работу для нужных мне целей.
Спустя несколько недель...
Ну что же. Устройство трудится в спальне в качестве единственного датчика движения. Работает - прекрасно. Иногда свет гаснет, если лежать на кровати и втыкать в телефон, но достаточно лёгкого движения ногой, чтобы вернуть свет в комнату. На животных - реагирует. Настройки в текущем режиме в HA доступны, кроме настроек чувствительности (которые есть у акаровского):
Ждём официальную поддержку, заявленную в следующей версии deconz, но в целом - и сейчасс вполне достойное решение, которое можно использовать. На голову, а то и две, лучше любого PIR-решения. Хотя до Aqara FP-1 ещё есть поле для роста. С учётом цены и формфактора, а так же того факта, что в качестве питания можно взять провод USB-miniUSB любой длины - вполне себе конкурент.
Пожалуй, закажу себе ещё такой, в детскую.