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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
ruslanische
Сообщения: 6
Зарегистрирован: 19 мар 2018, 17:11

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

Сообщение ruslanische » 23 окт 2018, 16:38

Проблема такая: нужно автоматически включать свет при движении и выключать после N минут после последнего движения. И нужно сделать на встроенных сценариях без внешнего сервера.

Оборудование: Mega MegaD-2561, MegaD-8I7O-SD, Астра-515
Свет у меня на порту P7, датчик движения (ДД) на порту P0.

Подключил ДД к P0, поставил режим R, сценарий 7:1;p600;7:0
При появлении движения свет включается, через минуту выключается. Классно. Но есть одно но: если все время двигаться, то ДД не сомкнет контакт, и если свет выключился через минуту, то хоть обпляшись - не включится. Только подождать секунд 10 пока ДД не сомкнет контакт - потом сценарий снова работает.

Потом добавил условия в разделе programm и это не помогло добиться нужного поведения:
0 if p7=0 -> & 1
#1 if p0=1 -> 7:1

Подскажите, как решить?

Erik
Сообщения: 570
Зарегистрирован: 08 ноя 2017, 08:55

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

Сообщение Erik » 23 окт 2018, 17:56

Включение сделать по замыканию ДД
А выключение по размыканию ДД с паузой,
в "program"

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

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

Сообщение Ruslan » 23 окт 2018, 18:37

Да, вроде бы ув.Erik правильное решение предложил:
0 if p0=0 -> 7:1
1 if p0=1 -> 7:1;p600;7:0

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 23 окт 2018, 18:48

ruslanische

1. Обновить прошивку до 4.30b5
https://ab-log.ru/files/File/megad-2561 ... a5-hex.zip

2. Настройка порта P0

megad-pir1.png
megad-pir1.png (3.4 КБ) 2364 просмотра

3. Настройка Program

megad-pir2.png
megad-pir2.png (2.76 КБ) 2364 просмотра

Erik
Сообщения: 570
Зарегистрирован: 08 ноя 2017, 08:55

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

Сообщение Erik » 23 окт 2018, 18:49

0 if p0=1 -> 7:1
1 if p0=0 -> p600;7:0

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 23 окт 2018, 19:00

Erik писал(а):
23 окт 2018, 18:49
0 if p0=1 -> 7:1
1 if p0=0 -> p600;7:0
Это неверный вариант. Свет отключится, когда датчик будет фиксировать постоянное движение.
Кроме того, факт движения - это размыкание (0), а не замыкание (1).

ruslanische
Сообщения: 6
Зарегистрирован: 19 мар 2018, 17:11

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

Сообщение ruslanische » 23 окт 2018, 20:20

Спасибо всем за ответы!
Andrey_B писал(а):
23 окт 2018, 19:00
Свет отключится, когда датчик будет фиксировать постоянное движение.
Вот как раз с этим я и мучаюсь. В документации режим P&R видел, но как-то в голове он у меня не отложился, не разобрался. Видимо в данном сценарии использования ДД - это вариант обработки длительного нажатия.
На выходных поеду на дачу, буду пробовать. Спасибо!

Erik
Сообщения: 570
Зарегистрирован: 08 ноя 2017, 08:55

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

Сообщение Erik » 23 окт 2018, 20:39

Andrey_B писал(а):
23 окт 2018, 19:00
Erik писал(а):
23 окт 2018, 18:49
0 if p0=1 -> 7:1
1 if p0=0 -> p600;7:0
Это неверный вариант. Свет отключится, когда датчик будет фиксировать постоянное движение.
Кроме того, факт движения - это размыкание (0), а не замыкание (1).
Если движение - размыкание, тогда
0 if p0=0 -> 7:1
1 if p0=1 -> p600;7:0

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

Не понятно только, что будет, если повторно случится размыкание до истечения таймера. Таймер ведь не обнуляется срабатыванием первой строки. Вы про это?

А у вас act p600,7:4 при любом изменении обнуляет счетчик, а програм при движении включает без задержек.

Согласен. Элегантно. :)

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 23 окт 2018, 20:45

ruslanische писал(а):
23 окт 2018, 20:20
На выходных поеду на дачу, буду пробовать.
Только обязательно следует сперва обновить прошивку до 4.30b5, так как ваша проблема позволила выявить и исправить мелкий и специфический баг, связанный с работой команды "4" совместно с длительными паузами.

semkyskov
Сообщения: 8
Зарегистрирован: 20 фев 2018, 02:45

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

Сообщение semkyskov » 25 окт 2018, 16:26

Andrey_B писал(а):ruslanische

1. Обновить прошивку до 4.30b5
https://ab-log.ru/files/File/megad-2561 ... a5-hex.zip

2. Настройка порта P0

megad-pir1.png

3. Настройка Program

megad-pir2.png
Как решить подобную задачу если канал диммируемый?

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

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

Сообщение Ruslan » 25 окт 2018, 17:02

semkyskov писал(а):
25 окт 2018, 16:26
Как решить подобную задачу если канал диммируемый?
А если вместо "7:1" просто вписать, например, "7:128"? Тогда свет должен включаться примерно на 50 % яркости. Можно выставить любой уровень в диапазоне от 0 до 255.

semkyskov
Сообщения: 8
Зарегистрирован: 20 фев 2018, 02:45

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

Сообщение semkyskov » 26 окт 2018, 00:30

Ruslan писал(а):
semkyskov писал(а):
25 окт 2018, 16:26
Как решить подобную задачу если канал диммируемый?
А если вместо "7:1" просто вписать, например, "7:128"? Тогда свет должен включаться примерно на 50 % яркости. Можно выставить любой уровень в диапазоне от 0 до 255.
Это задачу не решит. В предыдущем примере Андрей использовал команду "4", но в случае с диммируемым каналом она лишь увеличит яркость на 4 пункта.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 26 окт 2018, 01:11

Работу с диммируемым портом можно решить с помощью любого неиспользуемого порта. Например, конфигурируем неиспользуемый P37, как OUT.
P0 Act: p600;37:4
Program
0 if P0=0 -> 10:128;37:1
1 if P37=0 -> 10:0

semkyskov
Сообщения: 8
Зарегистрирован: 20 фев 2018, 02:45

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

Сообщение semkyskov » 26 окт 2018, 09:12

Andrey_B писал(а):Работу с диммируемым портом можно решить с помощью любого неиспользуемого порта. Например, конфигурируем неиспользуемый P37, как OUT.
P0 Act: p600;37:4
Program
0 if P0=0 -> 10:128;37:1
1 if P37=0 -> 10:0
Спасибо. Я понимаю, что данная просьба уже звучала, но может все таки возможно сделать хотя бы пару виртуальных портов, потому как некоторые задачи решаются только таким образом, а реальные порты редко когда бывают лишними.

aleks-zonov
Сообщения: 107
Зарегистрирован: 04 май 2018, 22:12

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

Сообщение aleks-zonov » 26 окт 2018, 16:57

semkyskov писал(а):
26 окт 2018, 09:12
Спасибо. Я понимаю, что данная просьба уже звучала, но может все таки возможно сделать хотя бы пару виртуальных портов, потому как некоторые задачи решаются только таким образом, а реальные порты редко когда бывают лишними.
Согласен на счёт виртуального порта, очень не хватает у самого один порт в воздухе висит, а можно было пустить в дело.

ruslanische
Сообщения: 6
Зарегистрирован: 19 мар 2018, 17:11

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

Сообщение ruslanische » 28 окт 2018, 22:43

Обновил прошивку и проверил предложенные варианты.
Вариант, который предложил Erik рабочий, но я не стал с секундомером проверять. Вероятно, что после второго и последующего срабатывания датчика таймер таки не обновляется. Так что оставил вариант, который предложил Андрей, вариант рабочий и работает четко, спасибо!

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

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

Сообщение Коля » 06 дек 2019, 19:18

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

и еще вопрос - есть какая то команда в браузере чтоб выключить порт например через 10 мин.?

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

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

Сообщение Ruslan » 06 дек 2019, 19:35

Коля писал(а):
06 дек 2019, 19:18
...
и еще вопрос - есть какая то команда в браузере чтоб выключить порт например через 10 мин.?
Команда есть, но в один и тот же момент времени будет работать только для одного порта.

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

http://192.168.0.14/sec/?cmd=7:1;p6000;7:0
Почитайте в инструкции после подзаголовка "Паузы в сценариях".

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 06 дек 2019, 19:37

Что касается пауз. Если обратиться к документации, то можно найти следующее:
Паузы в полном объеме и без ограничений работают только в сценариях по умолчанию (Action).
Начиная с версии прошивки 4.16b8 паузы также поддерживаются и в командах, поступающих извне. Но в этом случае одновременно может выполняться только один сценарий, содержащий паузы. Впрочем, если используется сервер, он может самостоятельно выдерживать любые паузы, не задействуя встроенный механизм контроллера.
Браузер в общем случае не предназначен для работы в качестве серверного ПО.
Конечно, современные браузеры могут многое, но это не их специализация.

Ответить