ypiter2006 писал(а):в телеграмме был вопрос
возможно это то что нужно
в SDevices/SOpenClose в метод logicAction у объекта "входная дверь"
Код: Выделить всё
$ot = $this->object_title;
$status = $this->getProperty('status');
$updatedTime = $this->getProperty('updated');
$passed = time() - $updatedTime;
$newTimeout = 0;
if (!$status) {
ClearTimeOut($ot.'_passed');
say("Входная дверь закрыта",2);
}
if ($passed < 60 && $status) {
$newTimeout = 60;
say("Входная дверь открыта",2);
} elseif ($passed < 90 && $status) {
$newTimeout = 120;
say("Входная дверь открыта ".round($passed/60)." минуту",2);
} elseif ($passed < 240 && $status) {
$newTimeout = 120;
say("Входная дверь открыта ".round($passed/60)." минуты",2);
} elseif ($passed < 1900 && $status) {
$newTimeout = 300;
say("Входная дверь открыта ".round($passed/60)." минут",2);
}
if ($newTimeout > 0) {
setTimeOut($ot.'_passed','callMethod("'.$ot.'.logicAction");',$newTimeout);
}
это на входную дверь:
при открытой - Входная дверь открыта, Входная дверь открыта 1 минуту, Входная дверь открыта 3 минуты, Входная дверь открыта 5 минут и далее с 5-ти минутным интервалом до 30 минут включительно
при закрытой - Входная дверь закрыта
п.с. у датчика от броадлинк в свойства 0 при закрытой, 1 при открытой, у сяоми наоборот
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо