Давайте рассмотрим ситуацию, когда требуется простое и недорогое решение для сбора информации с различных датчиков, работающих на некотором удалении от центрального устройства (например датчики движения, датчики протечки воды, датчики открытия, датчики вибрации, сигнализаторы утечки газа, или простые RF выключатели), распределенные в большом доме или на садовом участке в некоторых строениях. При использовании RF датчиков возможно обойтись без дополнительных хабов или wifi повторителей, и в этом случае простота построения решения и общая низкая стоимость устройств может оказаться определяющей при выборе архитектуры решения.
В данном обзоре я хочу рассказать о конкретном примере системы уведомления, построенной на базе простых RF датчиков движения, RF моста от компании Sonoff, и недорогих Wifi реле Sonoff.
Более подробно о выборе и сравнении различных RF датчиков движения я рассказывал ранее: https://sprut.ai/client/blog/1502
Больше всего мне понравился датчик движения SGOOWAY 433,92 МГц на батарейках AA с выключателем за 200р. Также можно найти недорогие детекторы дыма, датчики протечки, датчики открывания дверей, датчики вибрации (на стекла), и что важно, рабочая частота устройств SGOOWAY 433,92 МГц совместима с RF Bridge от Sonoff (безусловно, есть и другие производители подобных устройств с такой же частотой).
Как организовать управляемое взаимодействие датчиков и реле без сервера умного дома, используя RF bridge в качестве микро-сервера?
Датчики RF работают до безобразия просто, после включения они шлют свой код в эфир сразу после срабатывания. Код уникальный, поэтому зная этот код, можно отличать, какой датчик сработал. Sonoff RF bridge работает на частоте 433,92 МГц, поэтому все приобретаемые датчики должны иметь именно эту частоту.
Шаг 1. Я прошил свой RF bridge на прошивку Tasmota (у меня версия 8.2). Прошивал с помощью Tasmotizer версия 1.1 (версия 1.1а у меня не заработала), прошивка идет быстро, настроек особо нет, все достаточно просто.
Почему Тасмота? Мне понравилась функциональность прошивки - есть консоль (console), где отображаются принятые сигналы от всех RF датчиков в радиусе 100-300м, кроме того, прошивка Тасмота позволяет управлять работой устройства через консоль, и даже записывать простые правила (rules), устанавливать правила, проверять условия и на основании разных факторов, отправлять команды сторонним устройствам.
Как прошивать, подробно расписано в инете, отмечу лишь, что я не впаиваю колодку в устройства с ESP, а вставляю самодельную колодку с 4 контактами, зажимая ее вбок пальцем на время прошивки, которая занимает от силы пару минут.
Шаг 2. После прошивки можно перевести отображение кодов датчиков из шестнадцатеричного в десятичный формат, перейдя в консоль RF bridge и задав команду:
SetOption28 1Вызывая поочередно срабатывание датчиков, мы сохраняем их коды в блокноте, чтобы затем использовать эти коды в качестве условия для отправки управляющих команд.
Шаг 3. Пишем свое правило и активируем его. Например, у меня была простая задача - контролировать через консоль время срабатывания 3 различных датчиков, и в случае срабатывания каждого из них, включать одно из wifi реле (тоже Sonoff, прошивка Tasmota).
Поэтому я написал вот такое правило (коды датчиков уже в десятичном режиме):
Rule1ON RfReceived#Data=4199001 DO WebSend [192.168.1.41] POWER1 ON endon
ON RfReceived#Data=15355150 DO WebSend [192.168.1.42] POWER1 ON endon
ON RfReceived#Data=8198332 DO WebSend [192.168.1.44] POWER1 ON endon
После написания правила его можно активировать командой: Rule1 1
А деактивировать можно командой: Rule1 0Правило такое - при срабатывании датчиков с указанными кодами отправляется запрос на включение соответствующего Sonoff реле. В данном случае все устройства находились в пределах одной локальной сети, но вероятно, так можно отправлять запросы в другие (внешние) сети. Если правило деактивировано, то оно перестает срабатывать на сигналы датчиков, сами приходящие сигналы в логе консоли естественно сохраняются. Вообще возможности написания скриптов в консоли Tasmota достаточно интересны, единственное, что объем памяти, выделяемый для хранения правил, ограничен. Но для больших и серьезных автоматизаций можно применять MQTT, или интегрировать через Home Assistant.
Я же ограничился простым набором для решения своей локальной задачи - удаленного контроля нескольких объектов в радиусе около 100м, обеспечив все управление средствами тасмоты на RF bridge.
Это одно из самых практичных и полезных решений которые я видел последнее время на спруте. Было бы здорово подключить такую систему датчиков и шлюза к НА, чтоб это так же элегантно выглядело)
перепрошил RF который валялся без дела два года. Хочу попробовать на его базе сделать управление "Маркизой" которая работает только по RF. Можете поделиться ссылками или инструкцией для самостоятельной настройки для отправки сигнала и интеграции в хомкит.
Спасибо
Имеется проблема с RF-датчиками открытия дверей (или окон - в-общем, створок). Дело в том, что датчик посылает сигнал только в момент открытия двери - причём, однократно. А вот на закрытие (приближение датчика к магниту) никаких сигналов не посылается. Получается, что через такой датчик узнать текущее состояние двери (открыта или закрыта) не получится.
В-общем, получается, как у А.С.Пушкина - "не гонялся бы ты, <вырезано цензурой>, за дешевизной"...
RF датчики с герконом (как и rf датчики движения) обычно шлют только один код при срабатывании, поэтому подходят для охранных устройств, где важен факт срабатывания. Если же хочется отслеживать текущее состояние именно с помощью rf датчиков, можно поставить второй датчик, и заменить во 2-м замыкающий геркон на размыкающий. Тогда код первого датчика покажет открытие, а второго - закрытие.