Данные по таймеру?

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

Модератор: immortal

Ответить
Аватара пользователя
SmoKE_xDDD
Сообщения: 149
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Благодарил (а): 25 раз
Поблагодарили: 33 раза

Данные по таймеру?

Сообщение SmoKE_xDDD » Чт янв 16, 2020 10:19 pm

Привет всем! Когда завожу таймер через SetTimeOut есть вариант как либо посмотреть время до сработки?
Оборудование: Xiaomi + Aqara (Реле, датчики, выключатели)
Навыки: php, html, js
Реализация УД: MJDM + php. Управление с планшета в стене из собственной WEB морды.
Chainik
Сообщения: 956
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 113 раз
Поблагодарили: 277 раз

Re: Данные по таймеру?

Сообщение Chainik » Чт янв 16, 2020 10:57 pm

SmoKE_xDDD писал(а):
Чт янв 16, 2020 10:19 pm
Привет всем! Когда завожу таймер через SetTimeOut есть вариант как либо посмотреть время до сработки?
Сам автор системы дал ответ.
viewtopic.php?f=4&t=1760
За это сообщение автора Chainik поблагодарил:
SmoKE_xDDD (Чт янв 16, 2020 11:09 pm)
Рейтинг: 1.25%
Аватара пользователя
SmoKE_xDDD
Сообщения: 149
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Благодарил (а): 25 раз
Поблагодарили: 33 раза

Re: Данные по таймеру?

Сообщение SmoKE_xDDD » Чт янв 16, 2020 11:09 pm

Chainik писал(а):
Чт янв 16, 2020 10:57 pm
SmoKE_xDDD писал(а):
Чт янв 16, 2020 10:19 pm
Привет всем! Когда завожу таймер через SetTimeOut есть вариант как либо посмотреть время до сработки?
Сам автор системы дал ответ.
viewtopic.php?f=4&t=1760
Низкий вам поклон... =)
Оборудование: Xiaomi + Aqara (Реле, датчики, выключатели)
Навыки: php, html, js
Реализация УД: MJDM + php. Управление с планшета в стене из собственной WEB морды.
Logrus
Сообщения: 1444
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 255 раз
Поблагодарили: 255 раз

Re: Данные по таймеру?

Сообщение Logrus » Пт янв 17, 2020 1:35 am

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

// Возвращает оставшееся время в секундах работы таймера по его имени
// Если таймера нет, вернет 0
function timeOutResidue($title) {
 $timerId = timeOutExists($title);
 if ($timerId) {
  $timer_job=SQLSelectOne("SELECT UNIX_TIMESTAMP(RUNTIME) as TM FROM jobs WHERE ID='".$timerId."'");
  $diff=(int)$timer_job['TM']-time(); // получаем время в секундах, оставшееся до запланированного срабатывания таймера
  return $diff;
 } else {
  return 0;
 }
}
Снимок.PNG
Снимок.PNG (34.19 КБ) 76 просмотров

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

if ($timeout = timeOutResidue('KitchenTimer')) {
 $timeout += 300;
} else {
 $timeout = 300;
}

setTimeOut('KitchenTimer', 'setGlobal(\'XiaomiGateway.ringtone\', \'23,60\');', $timeout);
say('Установлен таймер на ' . $timeout . ' секунд', 2);
За это сообщение автора Logrus поблагодарили (всего 2):
SmoKE_xDDD (Пт янв 17, 2020 1:41 am) • Chainik (Пт янв 17, 2020 8:41 am)
Рейтинг: 2.5%
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
Аватара пользователя
SmoKE_xDDD
Сообщения: 149
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Благодарил (а): 25 раз
Поблагодарили: 33 раза

Re: Данные по таймеру?

Сообщение SmoKE_xDDD » Пт янв 17, 2020 1:40 am

Да спасибо, я тоже уже функцию написал... =)
Оборудование: Xiaomi + Aqara (Реле, датчики, выключатели)
Навыки: php, html, js
Реализация УД: MJDM + php. Управление с планшета в стене из собственной WEB морды.
Ответить