Блог

Включаем свет в ванной с двух датчиков

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

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

Важно: схема управления светом в ванной сильно зависит от поведения и порядков проживающих в квартире людей. Принято ли закрывать дверь, когда внутри никого нет. Принято ли закрывать дверь, когда внутри кто-то есть. Принято ли заходить внутрь, когда там кто-то есть.

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

Проверяем закрыта ли дверь

Управление на основе датчика движения и датчика двери (Xiaomi/Aqara).

Особенности

  • при открытии двери или по датчику движения включается свет и запускается таймер выключения света (3 минуты)

  • каждое срабатывание датчика движения обновляет таймер выключения

  • если датчик движения сработал при закрытой двери - таймер останавливается

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

В такой схеме есть проблема - если зайти в помещение, датчик движения сработает ещё при открытой двери. И заснёт на минуту (я рассказывал в этой статье). Если за минуту успеть сесть на унитаз или лечь в ранее набранную ванную - датчик не поймает движение и свет выключится по таймеру.

Для решения этой проблемы в автоматизации есть второй путь:

  • если закрыть дверь в течении 6 секунд после включения света - таймер останавливается
  • на всякий случай запускается таймер от ложных срабатываний, который выключит свет через 30 минут

Во всех нодах, где мы получаем состояние света, обязательно нужно включить опцию Block Input Overrides. Иначе ранее стоящие ноды могут случайно переопределить проверяемый Entity ID.

Далее в функции мы сравниваем время закрытия двери и время включения света. Если оно меньше 6 секунд - отправляем msg.payload = off. Это остановит таймер на 3 минуты. Если прошло более 6 секунд - ничего не отправится и таймеры продолжат работу.

var t1 = new Date(msg.data.new_state.last_changed); var t2 = new Date(msg.data2.last_changed); var dt = (t1 - t2) / 1000; node.status(); if (dt < 6) { return ; }

В запасном таймере на 30 минут нет настройки остановки. При получении любого сигнала - таймер будет обновляться.

Проверяем закрыт ли замок

Управление на основе датчика движения и датчика вибрации (Xiaomi/Aqara).

Для проверки состояния замка, можно также использовать датчик двери, как я описывал в этой статье. Но в случае ванной датчик вибрации было проще установить.

Особенности:

  • по датчику движения включается свет и запускается таймер выключения света (3 минуты)
  • каждое срабатывание датчика движения обновляет таймер выключения (но только если замок открыт)

  • закрытие замка останавливает таймер

  • открытие замка запускает таймер заново

По моим наблюдениям вращение этого датчика - единственное, что срабатывает наверняка. События вибрации и другие срабатывают редко и на движение двери практически не реагируют. А жаль, можно было бы включать свет при открытии дверии.

Сперва сделаем из датчика вибрации - замок.

Вращение передаётся тремя числами. Нужное мне число оказалось вторым. Оно было больше 800 при открытом замке и менее 200 при закрытом.

При старте Home Assistant значение датчика unknown. Поэтому проверяем эту ситуации в условии шаблона value_template (будем считать, что замок открыт).

binary_sensor: - platform: template sensors: bathroom_lock: friendly_name: Ванна замок device_class: lock value_template: >- {% if is_state('sensor.coordination_158d0003abcdef', 'unknown') %} True {% else %} {{ states('sensor.coordination_158d0003abcdef').split(',')[1]|int|abs > 500 }} {% endif %}

Таймер делаем как и в прошлом примере, чтоб при открытии замка он запускался, при закрытии - останавливался.

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


А у меня используется вариант похожий на ваш первый. Только ванна и туалет раздельные + умные выключатели ещё вентиляторами вытяжки управляют. С туалетом всё получается довольно просто, при каждом открытии двери тоглим свет (выключение с небольшой задержкой что бы комфортно выйти), датчик движения используется только для выключения света если никто не шевелился часа пол. А вот с ванной как и у вас есть проблема с выключением когда кто то внутри не очень двигается. У меня правда проще так как дверь в ванну закрывается только если там кто то надолго. Так что я сделал что бы свет выключался только если дверь открыта. Но вот при чистке зубов бывает зависаешь там надолго при открытой двери и датчик движения тебя может перестать замечать( Подумываю сделать умный счетчик воды на датчике линии (уже проверял что датчик линии не плохо считает вращения зубчатого колесика на обычном счетчике, главное его закрепить напротив этого колесика как то) и какомнить NodeMcu и добавить логику блокировки выключения света если есть использование воды, по идее должно покрыть оставшийся кейс с выключением света не вовремя. Правда ещё есть некоторое неудобство что свет в ванне включается по датчику движения слишком резко, когда ты уже входишь в темное помещение и там внезапно загорается довольно яркий свет это несколько неприятно бьёт по глазам. Надеюсь это удастся решить с помощью диммеров, заказал себе Shelly Dimmer для этого. А пока половину неприятных резких включений решил тем что свет в ванне включается когда кто то выходит из туалета.

Здраствуйте,


Подскажыте какие xiomi библиотеки използуете? Что то ненахожу похожых нод. Спасибо.

Все устройства заведены и управляются в Home Assistant. В Node-RED только логика автоматизаций.

Сделайте пожалуйста экспорт данной автоматизации для ванной..а то не все пункты понятны, так можно будет сделать импорт и подставить свои устройства...соответственно и понять принцип будет проще.


Интересует первый вариант...тот что без датчика вибрации

Включаю свет в ванной по датчику движения.


Отключаю если нет движения 4 минуты + если влажность менее 70 %.


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


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