Прогрессивный таймер движения в Hass.io на Node-RED

13 марта 2020, 21:07

Датчики движения - один из самых популярных способов автоматического управления светом.

Особенности и примеры использования я описывал ранее.

К сожалению, такие датчики хорошо работают в проходных помещениях.

Но в тех местах, где человек находится неподвижно - свет выключается в неподходящее время по таймеру.

Наиболее простой способ этого избежать - увеличить таймер.

Я всегда стремлюсь максимально уменьшить время бесполезной работы света. Иначе как можно такой дом называть умным?!

В случае закрытого помещения, вроде ванной или туалета, проблема решается добавлением датчика двери и такой вот автоматизации. Схема работает уже несколько месяцев и полностью себя оправдала.

В случае открытого помещения, вроде кухни (у меня нет двери) или лампы у кресла - пришлось вновь что-то придумывать.

1600x_image.png?1584132768

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

Таймер начинается с двух минут (настраивается). И если датчик уловит движение пока свет горит - таймер увеличится до шести минут.

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

Каждое движение при горящем свете - увеличивает таймер на четыре минуты максимально до 10 минут (настраивается) и запускает таймер заново.

Таким образом, если среди ночи вы забежите на кухню попить водички - свет потухнет быстро. А если долго вертеться на одном месте - свет перейдёт в режим увеличенного таймера.

Самая важная и хитрая нода - это нода счётчика (плюс 2 на схеме).

Отсчёт начинается с -1 и увеличивается с каждым движением на 2.

-1 нужен, чтоб уловить движение сразу после выключения света. И включить не стандартный, а увеличенный в два раза таймер.

Максимальное значение 5 - ограничивает максимальную продолжительность таймера.

1600x_image.png?1584132813

Нода сравнения (== 0 на схеме) проверяет значения счётчика на ноль и больше нуля.

В обоих случаях сбросится таймер обратного отсчёта.

А в случае нуля - вдобавок выключится свет.

Значение счётчика -1 так же попадёт в эту ноду, но дальше по цепочке не продвинется (ведь нет такого условия).

Новое движение после этого момента запустит схему заново.

1600x_image.png?1584132813

Нода триггера запускается заново при каждом движении (галка extend delay).

Время в 2 минуты можно поменять на удобное вам.

Оно фактически домножается на величину счётчика.

1600x_image.png?1584132813

По окончанию триггера - уменьшаем счётчик на единицу (-1 на схеме).

1600x_image.png?1584132814

Как работают другие ноды я уже описывал ранее в своих статьях.

И готовое флоу для копипаста:

[{"id":"75e2a30a.f38fbc","type":"switch","z":"16c244a5.bbf80b","name":"","property":"payload.entity_id","propertyType":"msg","rules":[{"t":"eq","v":"binary_sensor.motion_sensor_hall","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":210,"y":1680,"wires":[["c86bcd87.9f05","385be4f8.e48f1c"]]},{"id":"c86bcd87.9f05","type":"api-call-service","z":"16c244a5.bbf80b","name":"turn_on light","server":"363b253c.34918a","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_on","entityId":"light.backlight_hall","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":370,"y":1680,"wires":[[]]},{"id":"385be4f8.e48f1c","type":"counter","z":"16c244a5.bbf80b","name":" 2","init":"-1","step":"2","lower":"-1","upper":"5","mode":"increment","outputs":1,"x":350,"y":1740,"wires":[["e4c57c00.1d13b"]]},{"id":"951d4786.47c168","type":"server-events","z":"16c244a5.bbf80b","name":"motion","server":"363b253c.34918a","event_type":"xiaomi_aqara.motion","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"x":70,"y":1680,"wires":[["75e2a30a.f38fbc"]]},{"id":"e4c57c00.1d13b","type":"switch","z":"16c244a5.bbf80b","name":"== 0","property":"count","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"gt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":1740,"wires":[["ac1e0649.89a0d8","902888b3.b16a28"],["ac1e0649.89a0d8"]]},{"id":"f0448131.0bcce","type":"change","z":"16c244a5.bbf80b","name":"-1","rules":[{"t":"set","p":"decrement","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":210,"y":1740,"wires":[["385be4f8.e48f1c"]]},{"id":"ac1e0649.89a0d8","type":"trigger","z":"16c244a5.bbf80b","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"2","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":630,"y":1740,"wires":[["f0448131.0bcce"]]},{"id":"902888b3.b16a28","type":"api-call-service","z":"16c244a5.bbf80b","name":"turn_off light","server":"363b253c.34918a","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"light.backlight_hall","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":630,"y":1680,"wires":[[]]},{"id":"363b253c.34918a","type":"server","z":"","name":"Home Assistant"}]

Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Антон Самсонов (samsonovs)
    Антон Самсонов (samsonovs) 2 месяца назад

    Добавь плиз готовое флоу, чтобы можно было копи-паст, плиз :)

    • Алексей Х (AlexxIT)
      Алексей Х (AlexxIT) отредактировано 2 месяца назад

      Я не публикую флоу не потому что я вредный. На мой взгляд, повторение флоу вручную, хотяб по скриншотам с объяснениями, заставляет человека думать и хоть что-то понять в принципах работы.

      Но флоу добавил ;)

  2. Павел Ник (bj_tracer)
    Павел Ник (bj_tracer) 2 месяца назад

    Заменить датчик движения на датчик присутствия и не нужны будут такие сложности программные ;)))

    • Алексей Х (AlexxIT)
      Алексей Х (AlexxIT) 2 месяца назад

      Можно достойный пример датчика присутствия?

    • (zloyglide)
      (zloyglide) 2 месяца назад

      То есть если у вас дома уже развешаны датчики движения вы предлагаете потратить деньги и заменить их на датчики присутствия? Вместо бесплатной софтовой доработки?

  3. (dmitriimi)
    (dmitriimi) 2 месяца назад

    Слышал, что wi-fi новые могут определять местоположение человека, вот бы скорее что-то подобное, тогда можно будет налету вкл/выкл зная точно где человек сейчас. А то с таймерами даже 2 минуты капает прилично (мощные светодиодные ленты стоят)

  4. (zloyglide)
    (zloyglide) 2 месяца назад

    Спасибо за такое решение. Мне как человеку далёкому от логики программирования, только и остается что собирать вот из таких кирпичиков )

  5. Евгений Пирогов (eug314)
    Евгений Пирогов (eug314) 2 месяца назад

    Спасибо за очередной прекрасный пример автоматизации. Единственное, что я переделал - это начальную ноду. Почему-то с нодой "Motion" - была задержка с включением света. Поставил входную моду из прошлого вашего примера.

К списку блогов

Скидки для сообщества

Ноотехника

+375 17 233-25-45
Промокод:
Sprut
Размер скидки:
10%
Действует у всех официальных представителей. Для применение необходимо указать в поле комментария или при звонке менеджеру.

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

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

Похожие записи

05 февраля 2019, 00:29
Строю свой первый дом и рассказываю о муках выбора, проводке под умный дом, оборудовании. 05.09.2019 - лето
13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
19 апреля 2019, 20:53
Требуется ваше мнение!
20 января 2019, 17:39
Создание очень бюджетной автоматизации рулонных штор
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.
21 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.88 от 20.02.19.
19 января 2019, 20:49
Делюсь новостями по проекту.