Последовательное срабатывание датчиков

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
Аватара пользователя
maksimka
Сообщения: 23
Зарегистрирован: Сб апр 07, 2018 2:04 pm
Откуда: Новосибирск
Благодарил (а): 13 раз
Поблагодарили: 12 раз

Последовательное срабатывание датчиков

Сообщение maksimka » Вс ноя 11, 2018 9:53 am

Выручайте други! Перерыл весь форум и не нашел решения вопроса.
Есть длинный коридор, в нем установлено 3 датчика движения. Соответственно есть 3 Простых устройства.
Человек идет по коридору. Срабатывает датчик1, потом датчик2, потом датчик3.
Так вот как реализовать алгоритм (сценарий), чтобы в MDM отобразить направление движения человека.
Вроде все просто, и в то же время непросто )))
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Последовательное срабатывание датчиков

Сообщение xor » Вс ноя 11, 2018 10:58 am

Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2, если сработал дд2 и (время-время последней сработки дд3)<5с, то движение от дд3 к дд2
Главное, чтобы человек не передумал на середине))

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


За это сообщение автора xor поблагодарили (всего 2):
maksimka (Вс ноя 11, 2018 11:22 am) • cplusmax (Пн ноя 12, 2018 4:26 am)
Рейтинг: 2.33%
Аватара пользователя
maksimka
Сообщения: 23
Зарегистрирован: Сб апр 07, 2018 2:04 pm
Откуда: Новосибирск
Благодарил (а): 13 раз
Поблагодарили: 12 раз

Re: Последовательное срабатывание датчиков

Сообщение maksimka » Вс ноя 11, 2018 11:22 am

xor писал(а):
Вс ноя 11, 2018 10:58 am
Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2...
Логика ясна, а вот как ее реализовать в коде сценария? Время последней активности в свойствах датчика пишется в неудобоваримом формате (к примеру 1541923427).
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Последовательное срабатывание датчиков

Сообщение xor » Вс ноя 11, 2018 8:53 pm

maksimka писал(а):
Вс ноя 11, 2018 11:22 am
xor писал(а):
Вс ноя 11, 2018 10:58 am
Если сработал дд2 и (время-время последней сработки дд1)<5с, то движение от дд1 к дд2...
Логика ясна, а вот как ее реализовать в коде сценария? Время последней активности в свойствах датчика пишется в неудобоваримом формате (к примеру 1541923427).
Это тупо количество секунд с определенной даты. На взгляд неудобоваримо, но складывать и отнимать удобно

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

//сюда попадаем, если сработал дд2 
//проверим, что сработало перед этим
if((time()-gg('дд1.lastUpdated))<5){ //move from дд1 to дд2}
if((time()-gg('дд3.lastUpdated))<5){ //move from дд3 to дд2}
Надо понимать, что это работает только в случае одиночного прохода
За это сообщение автора xor поблагодарили (всего 2):
cplusmax (Пн ноя 12, 2018 4:26 am) • maksimka (Пн ноя 12, 2018 8:19 am)
Рейтинг: 2.33%
Ответить