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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

zeleneew
Сообщения: 20
Зарегистрирован: Ср сен 11, 2019 9:52 pm
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение zeleneew » Вс мар 15, 2020 8:54 pm

Nail писал(а):
Пт мар 13, 2020 9:05 am
zeleneew писал(а):
Чт мар 12, 2020 10:20 pm
В простых устройствах ....... включение освещения на 15 сек.
по факту движения освещение включается. если движений не обнаруживается, что через 15 сек освещение отключается и тут же включается снова на 15 сек.
У меня несколько таких ПУ связанных с датчиками движения , но впервые с таким сталкиваюсь. У меня все работает четко вкл и выкл. по таймеру(от 60 сек до 90 сек.) без повторных включений. Попробуйте протестируйте со временем более 15 сек.- ну хотя бы 30 сек. и более? Или ПУ криво стоит :D.
У меня такая беда в ПУ второй раз Термостат не управляет тенами на температуру включения и выключения , т.е. теряет связь со связанными устройствами , помогает только новое создание с нуля УД. :lol: (так как я не знаю где и как копать)
такое поведение, если стоит менее 20сек. Если больше 20 сек, то такая картина не наблюдается. Как я понимаю сработка таймеров на ДД не по факту движения, а по фронту изменения.
zeleneew
Сообщения: 20
Зарегистрирован: Ср сен 11, 2019 9:52 pm
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение zeleneew » Вс мар 15, 2020 8:59 pm

zeleneew писал(а):
Чт мар 12, 2020 11:00 pm
Не уверен, но предварительно помогает решение по замене в SMotions в методе motionDetected кода:

Код: Выделить всё

require(DIR_MODULES.'devices/SMotions_motionDetected.php');
на код:

Код: Выделить всё

if ($params['NEW_VALUE'] == "1") {
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
}
Неужели нет более элегантного решения?
Решение реально помогает. Однако что-то (обновления не ставил) вернуло код в методе обратно в состояние:

Код: Выделить всё

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
/* end injection of {SDevices} */
после чего вновь начались повторные включения.

Как выяснить, что вернуло код назад?
Logrus
Сообщения: 2086
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 458 раз

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

Сообщение Logrus » Вс мар 15, 2020 9:48 pm

zeleneew писал(а):
Чт мар 12, 2020 10:20 pm
В простых устройствах настроил (добавил) датчик движения. привязал свойства к объекту. при обнаружении движения датчиком на простом устройстве происходит соответствующая индикация. Через закладку "связанные устройства" настроил действие "Включить на время (Включить другое устройство на некоторое время по событию)" включение освещения на 15 сек.
по факту движения освещение включается. если движений не обнаруживается, что через 15 сек освещение отключается и тут же включается снова на 15 сек.

Как изменить настройки, чтоб включение происходило только если произошло изменение свойств Motion01.status в значение = 1 и не происходило повторного включения после истечения заданных 15 сек.

Как я понял (может я не прав) первое включение происходит т.к. произошло изменение свойств Motion01.status в значение = 1. а повторное включение происходит из за изменения свойств Motion01.status в значение = 0 (или любое другое, отличное от предыдущего).
https://github.com/sergejey/majordomo/b ... ed.php#L13
13-16, 22 удалить
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
zeleneew
Сообщения: 20
Зарегистрирован: Ср сен 11, 2019 9:52 pm
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение zeleneew » Вс мар 15, 2020 10:21 pm

Logrus писал(а):
Вс мар 15, 2020 9:48 pm
https://github.com/sergejey/majordomo/b ... ed.php#L13
13-16, 22 удалить
с большой вероятностью ближайшее обновление эти изменения откатит.
но все равно спасибо, об этом тоже думал.
Logrus
Сообщения: 2086
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 458 раз

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

Сообщение Logrus » Вс мар 15, 2020 10:46 pm

ну у меня дд вообще в пу нет
Снимок1.PNG
Снимок1.PNG (8.42 КБ) 4206 просмотров
но то что осталось делаю так ;)
Снимок.PNG
Снимок.PNG (44.66 КБ) 4206 просмотров
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Nail
Сообщения: 375
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение Nail » Вс мар 15, 2020 11:42 pm

Может не в этой теме ну раз пошло...
Nail писал(а):
Пт мар 13, 2020 9:05 am
У меня такая беда в ПУ второй раз Термостат не управляет тенами на температуру включения и выключения , т.е. теряет связь со связанными устройствами , помогает только новое создание с нуля УД. :lol: (так как я не знаю где и как копать)
Я так понимаю что ПУ это объекты уже с вписанными расширенными методами от Сергея (что бы не придумывать код самому на то или иное действие со связанными другими объектами и т.д.) мне очень это нравится (да и другим тоже так как упрощает писать кода самому в методы и корпеть сутками по форуму на выискивания кода на то или иное действие), но с термостатом хотелось бы акцентировать , ну слетает подвязка на выполнение температурного режима ВСЕГДА, хотелось бы попросить исправить.
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS DIN Mini. Broadlink.
zeleneew
Сообщения: 20
Зарегистрирован: Ср сен 11, 2019 9:52 pm
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение zeleneew » Пт мар 20, 2020 6:05 pm

помогите выяснить, что в SMotions в методе motionDetected изменяет код, дописывая строки:

Код: Выделить всё

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
/* end injection of {SDevices} */
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 816 раз

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

Сообщение tarasfrompir » Пт мар 20, 2020 6:08 pm

zeleneew писал(а):
Пт мар 20, 2020 6:05 pm
помогите выяснить, что в SMotions в методе motionDetected изменяет код, дописывая строки:

Код: Выделить всё

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
/* end injection of {SDevices} */
Это ПУ сами дописыввают инжекцию - .. там сам метод не причем
Спасибо нам ПОМОЖЕТ..!
zeleneew
Сообщения: 20
Зарегистрирован: Ср сен 11, 2019 9:52 pm
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение zeleneew » Пт мар 20, 2020 9:08 pm

tarasfrompir писал(а):
Пт мар 20, 2020 6:08 pm
Это ПУ сами дописыввают инжекцию - .. там сам метод не причем
где можно исправить, чтоб не дописывало не знаете случайно?
Аватара пользователя
xor
Сообщения: 2040
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Пт мар 20, 2020 11:00 pm

zeleneew писал(а):
Пт мар 20, 2020 9:08 pm
tarasfrompir писал(а):
Пт мар 20, 2020 6:08 pm
Это ПУ сами дописыввают инжекцию - .. там сам метод не причем
где можно исправить, чтоб не дописывало не знаете случайно?
перед инжекцией поставьте

Код: Выделить всё

return;
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
/* end injection of {SDevices} */
Ответить