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

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

Модератор: immortal

skyrider
Сообщения: 138
Зарегистрирован: Ср ноя 22, 2017 11:46 am
Благодарил (а): 35 раз
Поблагодарили: 7 раз

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

Сообщение skyrider » Ср дек 05, 2018 5:38 pm

fandaymon писал(а):
Ср дек 05, 2018 1:33 pm


Добавляем в объект XiOpenclose01 свойство LightOn

На изменение статуса вешаем код

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

if (gg('XiOpenclose01.status')==0) {
 sg('XiOpenclose01.LightOn',1);
 SetTimeOut('DoorLightOn',"sg('XiOpenclose01.LightOn',0);",3);
}
При срабатывании ДД проверять

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

if (gg("XiOpenclose01.LightOn')==1) {
 sg('Relay05.status',1);
}
Ну или в датчике движения просто смотреть когда последний раз открывалась дверь

Благодарю, отличная идея разделить код отдельно для датчика двери и датчика движения, доберусь вечером до дома попробую в реализации.
Мне кажется если в таймере поставить не 3 секунды а 2, или даже 1 секунду: SetTimeOut('DoorLightOn',"sg('XiOpenclose01.LightOn',0);",1);
то возможно решится еще одна проблема, свет будет включатся только тогда когда кто тот входит, и не будет включатся когда выходит.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср дек 05, 2018 6:41 pm

skyrider писал(а):
Ср дек 05, 2018 5:38 pm
fandaymon писал(а):
Ср дек 05, 2018 1:33 pm


Добавляем в объект XiOpenclose01 свойство LightOn

На изменение статуса вешаем код

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

if (gg('XiOpenclose01.status')==0) {
 sg('XiOpenclose01.LightOn',1);
 SetTimeOut('DoorLightOn',"sg('XiOpenclose01.LightOn',0);",3);
}
При срабатывании ДД проверять

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

if (gg("XiOpenclose01.LightOn')==1) {
 sg('Relay05.status',1);
}
Ну или в датчике движения просто смотреть когда последний раз открывалась дверь

Благодарю, отличная идея разделить код отдельно для датчика двери и датчика движения, доберусь вечером до дома попробую в реализации.
Мне кажется если в таймере поставить не 3 секунды а 2, или даже 1 секунду: SetTimeOut('DoorLightOn',"sg('XiOpenclose01.LightOn',0);",1);
то возможно решится еще одна проблема, свет будет включатся только тогда когда кто тот входит, и не будет включатся когда выходит.
Боюсь за секунду ДД не сработает. Свет и так не будет включатся когда кто-то выходит, потому что в таком случае после установки таймера не будет срабатывания ДД, нечему будет свет включить
skyrider
Сообщения: 138
Зарегистрирован: Ср ноя 22, 2017 11:46 am
Благодарил (а): 35 раз
Поблагодарили: 7 раз

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

Сообщение skyrider » Ср дек 05, 2018 8:43 pm

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

if (gg("XiOpenclose01.LightOn')==1) {
 sg('Relay05.status',1);
}
На этот код ругается: Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN)
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Ср дек 05, 2018 8:57 pm

кавычки сравните и кстати, но это ранее начали в ветке железо обсуждаем код, начало несколько про другое в данной ветке
За это сообщение автора Logrus поблагодарил:
skyrider (Чт дек 06, 2018 12:05 am)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Ср дек 05, 2018 9:33 pm

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

if (gg('XiOpenclose01.LightOn')==1) {
 sg('Relay05.status',1);
}
За это сообщение автора fandaymon поблагодарил:
skyrider (Чт дек 06, 2018 12:05 am)
Рейтинг: 1.16%
skyrider
Сообщения: 138
Зарегистрирован: Ср ноя 22, 2017 11:46 am
Благодарил (а): 35 раз
Поблагодарили: 7 раз

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

Сообщение skyrider » Чт дек 06, 2018 12:07 am

fandaymon писал(а):
Ср дек 05, 2018 9:33 pm
Да, я уже поправил кавычки , Logrus подсказал.
Связка датчик открытия, датчик движения и реле отрабатывают как надо, спасибо.
2007-i
Сообщения: 55
Зарегистрирован: Вс янв 29, 2017 12:52 am
Откуда: Уфа
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение 2007-i » Сб янв 05, 2019 4:05 am

А как сделать чтобы датчик движение включал и выключал свет только в период темного времени суток?
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Вс янв 06, 2019 1:38 pm

Отправлять команду на включение с учётом режима Темное время суток))
if(gg('РежимТемно.activated')==1){
Вкл. Свет;
}

Отправлено с моего Redmi 4X через Tapatalk


2007-i
Сообщения: 55
Зарегистрирован: Вс янв 29, 2017 12:52 am
Откуда: Уфа
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение 2007-i » Вс янв 06, 2019 7:25 pm

У меня получилось так, т.е. код выполнялся при условии что активен ночной режим, на диммере прибавляет яркость (т.к. темное время суток становиться неактивным и тогда код не будет работать).

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

if (gg('NightMode.active')==1){
$value=getGlobal('Dimmer02.level');
if (gg('Motion01.status')==1) {
 sg('Dimmer02.level',$value+20);
 SetTimeOut('Dimm50',"sg('Dimmer02.level',$value);",7);
}
}
Вот думаю может еще условие добавить что бы этот код выполнялся при активировании любого из двух режимов темное время суток и ночной.
Как это лучше сделать исключением или как?
Аватара пользователя
samolet
Сообщения: 472
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

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

Сообщение samolet » Ср фев 20, 2019 7:18 pm

Всем доброго времен суток, подскажите пожалуйста может кто реализовал такое.
Установил датчик присутствия, соответственно он выдает 1 или 0
Подвязал я его на выключатель соноф но работает все это мягко сказать не ах
а дело в следующем
как я не пытался подвязать существующие методы работать правильно система не хочет
задача такая
при деактивации датчика движения когда в статусе 0 и после подачи команды на выкл. сонофа, статус как-бы должен уйти из состояния 0 в ничто, и чтобы при включении сонофа свет горел пока кто то находится в комнате. А у меня получается что когда я захожу в комнату то свет включается когда отработает датчик движения, но когда я выключаю свет то через секунды 3 он опять включается до тех пор пока в статусе датчика движения 1. Может это конечно не выполнимо но ведь может кто уже такое сделал?
Ответить