Пример совмещения "классического" выключателя света с датчиком движения

18 мая 2018 г.

Хочу поделиться примером реализации включения света датчиком движения Fibaro Motion параллельно с обычным выключателем. Задача стояла так, чтобы выключатель был в приоритете и при ручном включении света датчик уже не выключал свет автоматически.

Реализовано на контроллере Homey

используемые плагины: 

Better Logic
CountDown 

Fibaro 
Sun Events

И так приступим, переходим в раздел Settings, далее в настройки плагина Better Logic и добавляем переменную с произвольным именем, например motion тип Boolean

Затем переходим в настройки плагина CountDown и добавляем новый таймер с произвольным именем, например motion_timer

Далее нам потребуется создать 5 правил, для этого переходим в раздел Flow и создаём новое правило, для удобства можно создать папку и положить все правила в неё, собрав их в кучу для удобства.

Первое правило будет включать свет по датчику движения

Разберём его детальнее:

Первая колонка, здесь всё просто, сработал датчик движения

Вторая колонка, условия, столбик делится на 2 части, по сути они дублируют друг друга, но в первом варианте условие завязано на теге Civil Dark из плагина Sun Events (тег становится True после захода солнца и возвращается в False на рассвете, всё это с учётом геолокации и времени года), а второй вариант срабатывает на основании датчика освещенности в Fibaro Motion, но он оказался не стабильным, поэтому и появилось второе условие. Также в обоих вариантах есть условие проверки что свет в данный момент выключен и созданная ранее переменная motion в плагине Better Logic имеет значение false.

Если Один из вариантов условий соблюдается, то включается свет, останавливается ранее созданный таймер motion_timer в модуле CountDown, если он был запущен на этот момент и переменная motion в плагине Better Logic устанавливается на значение True.

А если ни одно из двух условий не может быть выполнено (например свет уже включен) то просто останавливаем таймер motion_timer в модуле CountDown.

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

Разберём его детальнее:

Первая колонка - получена команда от Fibaro Motion что движение не обнаружено.

Вторая колонка, на этот раз один вариант условия, проверяем что свет включен и переменная motion в плагине Better Logic имеет значение True

Третья колонка - при соблюдении выше перечисленных условий запустить таймер motion_timer в модуле CountDown на 300 секунд

Третий сценарий ещё проще, После того как таймер отсчитал до 0 сек и не был остановлен новым обнаружением движения, проверить что переменная motion в плагине Better Logic имеет значение True (то есть срабатывал сценарий запуска по датчику движения) и выключить свет,

а переменную motion в плагине Better Logic установить на значение False.

Оставшиеся два сценария просто меняют значение переменной motion в плагине Better Logic на False, при включении или выключении света обычным выключателем, в данном случае за выключателем стоит Fibaro Dimmer 2.

В итоге логика работы получается такая:

Если свет был включен по датчику движения, то он горит до тех пор пока в комнате не пропадёт движение, если движение пропало, то запускается таймер на 5 минут, если в течение этих 5 минут опять появилось движение, то таймер останавливается, и вновь запускается если движение опять пропало. Если же в течение 5 минут движения больше не появилось, то свет выключается. Но если в любой момент времени щёлкнуть выключатель, то свет уже не выключится автоматически. То есть если включить свет выключателем, то первый сценарий не сработает, т.к. там есть условие проверки состояние света, включен или выключен, а следовательно переменная motion останется false и таймер на выключение не будет запущен.

Вот так относительно не сложно подружили 2 схемы включения света. Данный вариант опробовал в течение нескольких дней, работает нормально. Но если у кого-то есть идеи как упростить, буду рад услышать в комментариях.

Правило отлично работает и при удалённом включении света, через Siri/Homekit и любым другим способом, всё будет по аналогии с выключателем. Если включить свет через Homekit, то он уже не выключится автоматически.

Надеюсь данная статья кому-нибудь будет полезна!


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Олег Челбаев (sprut)

    Огонь;) спасибо автору )))

  2. Джабраил Хуршилов (djzabrail)

    Спасибо автору, то что нужно.

  3. Илья Гитлин (iGitlin)

    отлично, добавил в закладки - попробую как то адаптировать под 2х глазую схему.

  4. (stunt4man)
    (stunt4man) 11 месяцев назад

    Хорошая статья! У меня только, что после статьи Ильи про 2 газа, что после этой есть одно небольшое дополнение-вопрос: почему Вы не используете "аппаратный" таймер самого глаза? Меняя параметр "Motion alarm cancellation delay" в настройках самого глаза можно не создавать таймер  motion_timer и упростить FLOW( если глаз выключился то свет выключаем без проверки таймера) ? Для датчиков движения от Xiaomi, где нет этого параметра, сценарий идеален, а вот для других я бы упростил.. 

    • Александр Костерин (Akost)
      Александр Костерин (Akost) 11 месяцев назад

      Привет, настройку глаза тестировал, но этот параметр за собой тянет много проблем, например ставим его на 5 минут. Мы были в зоне действия датчика, но ушли, выключив в ручную свет за собой, теперь если вернёмся в течении 5 минут, он нас не увидит, т.к. тревога по движению у него всё ещё активна, и свет не включит. А если бы это был отдельный таймер, а не параметр, то датчик бы нас заметил уже через 30 сек, т.к. дефолтный параметр 30 сек. Ну и согласовывать работу несколько датчиков движения удачнее через отдельный таймер, где срабатывание любого из датчиков будет этот таймер перезапускать. Поэтому использование отдельного таймера в итоге намного стабильнее.

  5. Геннадий Куракин (Onag)
    Геннадий Куракин (Onag) отредактировано 11 месяцев назад
    Комментарий был удален
  6. Алексей  Егоров (Aleksey_AE)
    Алексей Егоров (Aleksey_AE) 11 месяцев назад

    Невероятно актуально. огромное спасибо! Думал как раз как подружить датчики xiaomi и выключатели.

  7. Сергей Цыганов (Tsvdonsk)
    Сергей Цыганов (Tsvdonsk) 11 месяцев назад

    очень спасибо!

  8. Сергей Цыганов (Tsvdonsk)
    Сергей Цыганов (Tsvdonsk) 11 месяцев назад

    а зачем отдельный плагин для определения времени суток? В колобке вроде есть свой параметр «в темное время суток»

  9. Евгений Макарьев (Evgeny)
    Евгений Макарьев (Evgeny) отредактировано 10 месяцев назад
    Комментарий был удален
  10. Евгений Макарьев (Evgeny)
    Евгений Макарьев (Evgeny) 10 месяцев назад

    Отличная статья! очень помогла! Добавьте пожалуйста скрин настроек диммера?

  11. Роман Елизаров (FantomNotaBene)
    Роман Елизаров (FantomNotaBene) 8 месяцев назад

    Хочу внести свою лепту, почистить чутка - лишние элементы есть. 

    Проверка motion в conditions по окончании таймера не нужна, потому как таймер запускается только в том случае, если motion был == true. А если, пока шел таймер, щелкнули выключателем, таймер остановится/перезапустился, однако триггер "отсчет дошел до нуля" не будет запущен в таком случае.

    Так же, по окончании таймера не обязательно ставить переменную motion в false, ибо следующее включение света хоть "датчиком", хоть кнопкой все равно установит нужное значение.

    Сама задумка очень вкусная.

  12. (Voxen)
    (Voxen) 4 месяца назад

    Подскажите как для fibaro switch сделать, там другие параметры не как в Dimmer

К списку статей

Тематические чаты

Похожие статьи

15 нояб. 2018 г.
Xiaomi Mi Remote 360 добавляем Apple HomeKit
28 авг. 2018 г.
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
14 нояб. 2018 г.
Плагин для интеграции в Athom Homey дочерних zigbee-устройств, подключенных на координаторы deCONZ - RaspBee или ConBee.
1 нояб. 2018 г.
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 нояб. 2018 г.
Умное зеркало добавляем модули Airplay и Google Calendar
3 окт. 2018 г.
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
4 апр. 2019 г.
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
30 июн. 2018 г.
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.
25 сент. 2018 г.
Делаем умный замок с интеграцией в HomeKit
7 янв. 2019 г.
Внимание, в тексте присутствует ирония к разным системам отличным от Home-assistant. А так же лирика, которую разумеется читать не обязательно. В тексте так же пойдет речь о софте который я рекомендую использовать с любыми WEB дашбордами, без привязки к хом-асистанту, в связи с широко открываемыми дополнительными возможностями.