Освещение с датчиком движения

Приглашаю обсудить такую вещь

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

При сработке датчика - включить свет
при отсутствии движения подождать, у кого то 3 минуты, у кого то 15 и выключить свет

Есть ещё вариант включить на час, потом уже ожидать отсутствия движения.

Как по мне все это не то - завязка на какое либо деление время, которое иногда не подходит, или часто не подходит.

Пока вижу такой вариант:
Если выключатель включён - ничего не делать.
Если выключатель выключен, то при сработке включить свет / При отсутствии движения - выключить. (Где-то здесь возможен таймер)

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

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

Вопрос
1. Можно ли получать именно состояние входа реле, а не состояние "выхода", если да, это могут все или какие либо отдельные модели отдельных производителей
2. Возможно кто-то предложит иное решение с аналогичным функционалом.

Home Assistant

21 пост848 подписчиков

Добавить пост

Правила сообщества

Сообщество не имеет каких-либо строгих правил для размещения публикаций за исключением офтопа (не по теме сообщества) и публикаций нарушающих правила сайта Pikabu - https://pikabu.ru/information/rules.

Автор поста оценил этот комментарий

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

1. Вводим переменную manual_switch (если нужно отдельно понимать источник для вкл и для выкл, то две переменные manual_switch_on и manual_switch_off с соответствующим усложнением условий дальше), которая фиксирует ручную манипуляцию (значение 1) или автоматизацию (значение 0). Начальное значение неважно, первая манипуляция всё определит.

2. При ручном вкл/выкл (в ХА же передается факт изменения состояния выключателя?) переменной присваивается значение 1 (manual_switch = 1).

3. При использовании автоматизаций добавлять изменение переменной manual_switch = 0.

4. При выполнении автоматизаций получаем значение переменной. Если manual_switch =1, значит было включено руками, не надо выполнять автоматизацию. В противном случае - выполнять.

В крупную клетку как-то так

раскрыть ветку (1)
Автор поста оценил этот комментарий
В том то и дело, что от датчика включиться раньше и при этом ввиду особенностей свича уже нигде и ни каким образом не видно состояние физической кнопки. Как я уже писал, если бы это состояние из свитча считывалось, то собственно ни каких дополнительных переменных и не надо было бы.
Автор поста оценил этот комментарий
Как раз под этим комментарием и обсуждается решение. Вряд ли получится получить состояние физической кнопки. Остаётся ее состояние хранить в переменной. Далее автоматизацию по условию в зависимости от состояния переменной
раскрыть ветку (1)
Автор поста оценил этот комментарий
Пока не вижу, как в моём случае может помочь переменная.
Датчик хороший, срабатывает раньше, чем я достану до выключателя.
А если реле уже включено программно из автоматизации и будет выключено из автоматизации, ему на состояние собственной физической кнопки плевать 🤷‍♂️
показать ответы
1
Автор поста оценил этот комментарий

Esphome не работает на zigbee устройствах. Для них есть такой проект: https://ptvo.info/

раскрыть ветку (1)
Автор поста оценил этот комментарий
Не буду ничего утверждать, мельком читал, что какие-то устройства перешивают на esphome
Автор поста оценил этот комментарий
Не очень понял загвоздка. Вы же можете получить состояние на выходе реле - вкл или выкл. Плюс датчик движения на таймере
раскрыть ветку (1)
Автор поста оценил этот комментарий
В том то и дело, что мне нужно получить состояние физической кнопки на входе реле, так как считывание состояния самого реле ничего не даёт - датчик меняет его состояние.
показать ответы
Автор поста оценил этот комментарий

Тут трудно ответить, не зная характеристик реле. К примеру, я использую умные выключатели Zigbee. По сути то же реле с кнопкой в одном корпусе. Но кнопку можно отвязать от реле и она будет работать просто как логический выключатель в ХА. Может и реле можно запрограммировать так, чтоб кнопка не триггерила его, а просто отправляла состояние в ХА. Возможно, это можно решить перепрошивкой, как тут уже советовали, в ESPHome.

раскрыть ветку (1)
Автор поста оценил этот комментарий
В данный момент switch ZigBee, и по сути даже не нужно добиваться изменения логики его работы, то есть отвязывать от кнопки, пусть физическая кнопка работает как работает, достаточно было бы возможности считать её состояние в HA, тогда вопрос решился бы действительно красиво и просто - без шунтирования реле, без потери автоматизаций, без установки объёмника, то есть дёшево, всего одной кнопкой и одноканальным switch. Но в свойствах устройства я не вижу сейчас такого.
только 2 объекта : непосредственно состояние switch и настройка power on (при пропадании)
как бы узнать, шьётся ли оно на esp и есть ли смысл, то есть даст ли перепрошивка возможности считывать состояние физической кнопки?
показать ответы
Автор поста оценил этот комментарий

Кури trigger.to_state.context.user_id и trigger.to_state.context.parent_id - с этим можно получить причину изменения состояние реле: автоматизация, клавиша выключателя или переключение пользователем в HA.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо, где нибудь в будущем точно пригодится.
Не здесь не подходит: реле от автоматизации включится раньше, чем нажму выключателем, а в этом случае нажатие уже никак и нигде не будет зафиксировано
показать ответы
3
Автор поста оценил этот комментарий

Пока вижу такой вариант:

Если выключатель включён - ничего не делать.

Если выключатель выключен, то при сработке включить свет / При отсутствии движения - выключить. (Где-то здесь возможен таймер)

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Прикольно конечно.. Решение проверено?
как будет себя чувствовать реле?
учитывая, что они по способу коммутации бывают минимум 2х видов - тиристорные и релейные, а так же, что питаются от той же линии..
сомневаюсь что то я😊
показать ответы