Подробно расписывать вроде особо нечего, но заметки сделать стоит.
Первое – перешил Sonoff RF Bridge, взятый когда-то на arduino.ua, какое-то время даже успешно работавший через eWelink: в одну сторону принимал данные от датчика движения в туалете и включал циркуляцию горячей воды через Sonoff Basic в подвале, а в другую – принимал команду с приложения и передавал код через 433 МГц на сигнализацию.
Планировал продолжить тему включения насоса циркуляции горячей воды при присутствии кого-то в душе/ванной. Вариантов несколько: или поставить датчик движения с контроллером и БП, как это было в кухне – разве что запитать от светильника – но это оверкилл. Либо вернуться к описанной выше схеме с RF Bridge, благо он все равно есть, а в качестве датчиков использовать обычные дешевый датчики от сигнализации. В свою очередь, бридж можно использовать со штатной прошивкой, но потребуется поставить плагин для Home Assistant (этот момент у меня еще не отработан, надо будет заняться); либо перепрошить мост на что-то более вменяемое (честно говоря, eWelink меня давно раздражал – прежде всего своей тормознутостью, да и разлогинивался в неподходящие моменты). Что я и сделал по этому руководству. Сам процесс прошивки описан тут. Сделал (добавив только веб-интерфейс и индикаторы аптайма и wifi-сигнала), подключил в HA, все ок.
Вот на интеграции датчика движения уже в HA вышла проблема. Я вижу событие, я вижу код датчика и передаваемый код. Я добавил темплейт из первой ссылки в конфиг HA. У меня на панели появился мой датчик движения, но никакие мои попытки и варианты конфигов не приводили к его реакции на движение.
В итоге нашел другой и более простой путь. В конфиг добавлять вообще ничего не надо. Просто подключили в HA RF Bridge и этого достаточно. В “Панели разработчика” отлавливаем событие, как это описано в руководстве выше (т.е., просто слушаем события от esphome.rf_code_received и дергаем при этом датчик движения). Дальше идем в “Настройки – Автоматизация” и создаем новую автоматизацию. Добавляем событие и тип события – esphome.rf_code_received. В данных события указываем тот код / ID устройства, что мы отловили в панели разработчика. Все! Дальше ставим нужные нам условия и в качестве действия дергаем нужное нам устройство – в моем случае это перешитый ранее Sonoff Basic (который, в свою очередь, включается ровно на минуту и потом выключается сам).
Все успешно работает, создал 2 автоматизации под 2 разных локации – на всякий случай, вдруг пригодится. В принципе, описать 2 датчика можно было и в рамках одной автоматизации.
Ну и второе – занявшись датчиками обнаружил, что у меня совсем не осталось батареек на 9В. Так что за вечер успел сделать привычный уже мод одного устройства под литий:
В ход пошли как новые DC-DC – самые слаботочные, что были, так как меня жаба задавила ставить на 1,5А для устройства с потреблением в 5 мА в пике; так и купленные USB type C-разъемы под монтаж на панель. DC-DC, правда, были на 12В (варианты таких есть и на 9В, но не у меня), поэтому погасил избыток тремя диодами. Аккумулятор с электронных одноразовых сигарет. Ограничение тока – резистором на 7 Ом; за несколько часов датчик зарядился до предела. Минус – не будет работать отображение разряда батареи. Был, кстати, другой вариант – использовать 2S для лития. Индикация разряда у датчика начинает работать где-то на 5 с лишним Вольт – т.е., как раз на пределе разряда 2S li-ion. Пик напряжения был бы 8,4В. Как показал опыт, датчик вполне работает даже при полном разряде “Кроны” – т.е., вплоть до 3-4В. Минус – пришлось бы использовать 2 элемента, а не 1, использовать 2 защитных платы (у меня нет для 2S), и городить какую-то зарядку с 5В до 8,4.