Главная > Умный дом > Добавление RF 433МГц датчиков дыма/газа/протечки к Domoticz

Добавление RF 433МГц датчиков дыма/газа/протечки к Domoticz


9 августа 2019. Разместил: dimon
Все изображения кликабельны


Тезисная инструкция как подключить датчики дыма/газа/протечки/etc, работающие на RF 433МГц, к Domoticz через Sonoff RF bridge прошитый альтернативной прошивкой Tasmota.

Это по сути продолжение статьи Протокол MQTT плюс Domoticz, в которой я уже описал как научить Домотикз получать RF коды через прошитый Tasmota Sonoff RF-мост.

Теперь нам нужно просто создать виртуальные датчики тревоги в Dz и в скрипте-обработке прописать реакцию на коды подключенных к системе датчиков.


1. Создаем VirtualSwitches.

В разделе Настройка - Оборудование создаем VirtualSwitches, тип Dummy (Does nothing, use for virtual switches only). Здесь мы будем создавать все виртуальные датчики и переключатели.

VirtualSwitches Dummy ДомотикзVirtualSwitches Dummy Домотикз


И сразу создаем такую датчики, нажав Создать виртуальные датчики, имя Дым. Кухня. RF, типа Переключатель:

Виртуальный переключатель датчик в ДомотикзВиртуальный переключатель датчик в Домотикз


Потом переходим в Настройка - Устройства, находим наши новые датчики и щелкаем по стрелочке и добавляем кнопку на панель Переключатели.

Повторяем операцию для всех остальных датчиков, в итоге получим:

Датчики в домотикзДатчики в домотикз



2. Отлавливаем RF-коды датчиков.

Прежде чем править, созданный нами в предыдущей статье скрипт Rfbridge2, нам нужно узнать RF-коды, которые передают наши датчики. Для этого эмулируем сработку датчика - обычно на датчике есть кнопка Тест, например на датчике дыма:

Беспроводной датчик дыма на 433МГцБеспроводной датчик дыма на 433МГц


Если кнопки нет, то придется поступить по другому, например на датчике протечки который я описывал в этой статье, я просто замыкал мокрым пальцем контакты на пластинке:

Беспроводной датчик протечки SR-01 на 433МГцБеспроводной датчик протечки SR-01 на 433МГц


Как только съимитировали сработку датчика, бежим в Domoticz - Настройки - Журнал и смотрим RF-код, переданный датчиком, который отловил перешитый ранее нами на Tasmota Sonoff RF bridge, и положил в топик MQTT домотикза:

2019-07-27 01:11:46.901 MQTT: Topic: domoticz/in,
Message: {"idx":118,"nvalue":0,"svalue":"213761","Battery":200,"RSSI":10}


нас интересует значение svalue - это и есть RF-код, запоминаем его.
Проделываем операцию со всеми датчиками и запоминаем/записываем коды.


3. Изменяем скрипт реакции на коды

Когда Сонофф RF мост кладет в топик MQTT domoticz\in отловленный RF-код, срабатывает наш скрипт и сравнивает код с RF-кодом известных датчиков, в случае совпадения выполняются все действия записанные в разделе then:


return {
    active = true,   -- скрипт активен
    on = { devices = { "rfbridge2" } 
        --устройство активации скрипта
    },
    
    -- когда устройство активировано, выполним секцию execute:
    execute = function(domoticz, item) 
        
        --если код соответствует кнопке A пульта:
        if item.rawData[1] == "34718" then
            domoticz.email('Пульт. Кнопка A',
	                     'нажата кнопка A на пульте 1',
	                        'mi@mail.com')
        
        
        -- ДАТЧИКИ --
        
        -- если код соответствует Газ.Кухня то выполнить
        elseif item.rawData[1] == "17185" then
            domoticz.scenes('BlinkRGB').switchOn()
            domoticz.devices('Газ. Кухня. RF').switchOn()
            
        -- если код соответствует Дым.Кухня то выполнить
        elseif item.rawData[1] == "13353" then
            domoticz.scenes('BlinkRGB').switchOn()
            domoticz.devices('Дым. Кухня. RF').switchOn()
        
        -- если код соответствует Протечка.Стояк то выполнить
        elseif item.rawData[1] == "102224" then
            domoticz.scenes('BlinkRGB').switchOn()
            domoticz.devices('Протечка. Стояк. RF').switchOn()
        
        
            
        end
    end
}


в моем случае для датчиков два действия:
domoticz.scenes('BlinkRGB').switchOn() - запуск сцены в которой прописано мигать лампами
domoticz.devices('Протечка. Стояк. RF').switchOn() - включение созданного в пункте 1 виртуального датчика, соответствующего реальному

Можно добавить в каждую секцию уведомления, например как добавлено уведомление на e-mail о нажатии кнопки А пульта. Но мы сделаем немного по другому.


4. Уведомления о сработке датчика

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

Настройка уведомления в Domoticz в настройках переключателяНастройка уведомления в Domoticz в настройках переключателя




Проверяем сработку всех датчиков после полной настройки:

Е-майл уведомления о сработки датчика в DomoticzЕ-майл уведомления о сработки датчика в Domoticz

Вернуться назад