Страница 1 из 1

[Сценарий] Когда было последнее движение.

Добавлено: Вт ноя 21, 2017 10:40 am
PAV
У меня при срабатывании любого датчика движения в доме обновляются свойства суммарного датчика движения
Следующий код в OnNewMinute позволяет куда угодно вывести информацию, когда последний раз было движение в доме.
Очень удобно для мобильных устройств, быстро посмотреть не было ли движения.

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

$ttiimmee=time();
$sensmov=gg("sensorMovementSUM.updated");
$senstime=$ttiimmee-$sensmov;
$movhour = ( $senstime / 3600 ) % 24;
$movmin = ( $senstime / 60 ) % 60;
$timmm=($movhour.":".$movmin);
if ($senstime>86400) $timmm="Больше суток";
sg("sensorMovementSUM.lastmove", $timmm);
 

Re: Когда было последнее движение

Добавлено: Ср ноя 29, 2017 5:39 pm
xor
Как вариант, у меня в родительском классе датчиков движения при сработке любого обновляется системный ивент

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

    registerEvent('inhouseMovement', $details=gg($linked_room.'.title'),$expire_in=1);
В него записывается адрес и время последней сработки датчиков движения

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

EVENT              DETAILS                 ADDED
inhouseMovement     Кухня     2017-11-29 17:38:21
получим время отформатированное

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

date('Y-m-d H:i:s',registeredEventTime('inhouseMovement'))
получим детали

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

registeredEventDetails('inhouseMovement')
У кого нет последней функции

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

// Получить детали события по его имени
function registeredEventDetails($eventName) {
 $even=SQLSelectOne("SELECT * FROM events WHERE EVENT_NAME='".$eventName."'"); 
 if (is_array ($even )) {
  return $even['DETAILS'];
 } else {
  return false;
 }
}