Сохранение времени событий
Модератор: immortal
-
- Сообщения: 25
- Зарегистрирован: Ср фев 20, 2019 7:16 am
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Сохранение времени событий
Подскажите, где почитать или в какую сторону смотреть. Может отдельный модуль есть. Нужно сохранять время какого-нибудь события для отдельного устройства, например, когда срабатывал датчик движения. Чтобы можно было просматривать получившийся лог и "выдергивать" оттуда значения.
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Сохранение времени событий
Можете в код, который запускается при срабатывании датчика движения записать, к примеру:AndreyD писал(а): ↑Ср янв 29, 2020 8:59 pmПодскажите, где почитать или в какую сторону смотреть. Может отдельный модуль есть. Нужно сохранять время какого-нибудь события для отдельного устройства, например, когда срабатывал датчик движения. Чтобы можно было просматривать получившийся лог и "выдергивать" оттуда значения.
Код: Выделить всё
//запишем время срабатывания датчика в формате «HH:MM»
setGlobal('MotionSensor01.updatedTimeHHMM', gg('ThisComputer.timeNow'));
Код: Выделить всё
//запишем время срабатывания датчика в формате timestamp
setGlobal('MotionSensor01.updatedTime', time());
- Рейтинг: 1.16%
-
- Сообщения: 25
- Зарегистрирован: Ср фев 20, 2019 7:16 am
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Сохранение времени событий
В истории будут храниться только значения при изменении Свойства или все с какой-то периодичностью? Если второе, то это какая-то избыточность.
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Сохранение времени событий
А это как вы организуете. В случает, допустим, с температурными датчиками можно поступать и так и так (как удобнее пользователю).
Но у вас же датчик движения. Тут каждое срабатывание по сути новое значимое событие. Соответственно, у него свое время.
Но можете сочинить и какой-нибудь алгоритм касательно правил записи новых значений. Например, если последняя запись события о срабатывании датчика движения была менее 20 минут назад, новое время срабатывания не пишем.
-
- Сообщения: 1567
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 40 раз
- Поблагодарили: 578 раз
Re: Сохранение времени событий
Я может быть скажу какую-нибудь глупость, но датчик движения и так хранит историю своего срабатывания, без лишних телодвижений. Если зайти в историю свойства status, то там видны единички в моменты, когда датчик движения срабатывалChainik писал(а): ↑Ср янв 29, 2020 9:21 pmМожете в код, который запускается при срабатывании датчика движения записать, к примеру:AndreyD писал(а): ↑Ср янв 29, 2020 8:59 pmПодскажите, где почитать или в какую сторону смотреть. Может отдельный модуль есть. Нужно сохранять время какого-нибудь события для отдельного устройства, например, когда срабатывал датчик движения. Чтобы можно было просматривать получившийся лог и "выдергивать" оттуда значения.Для лога вам удобнее будет использовать время в формате timestamp. Тогда можете записать:Код: Выделить всё
//запишем время срабатывания датчика в формате «HH:MM» setGlobal('MotionSensor01.updatedTimeHHMM', gg('ThisComputer.timeNow'));
Естественно, чтобы получался лог и можно было "выдергивать", у Объект.Свойства со временем срабатывания необходимо включить историю.Код: Выделить всё
//запишем время срабатывания датчика в формате timestamp setGlobal('MotionSensor01.updatedTime', time());
- Рейтинг: 1.16%
-
- Сообщения: 25
- Зарегистрирован: Ср фев 20, 2019 7:16 am
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Сохранение времени событий
Я так понимаю речь о Простых устройствах, в них я ещё не разбирался, пока делал только через создание своих объектов.
У меня стоит самодельный датчик наличия напряжения в сети, а сама система на ИБП. Вот хочу логировать, когда внешнее питание отключалось, а когда включалось.
Да и сдатчиками движения тоже понадобиться.
То есть лучше ничего самому не городить, а идти через Простые устройства?
У меня стоит самодельный датчик наличия напряжения в сети, а сама система на ИБП. Вот хочу логировать, когда внешнее питание отключалось, а когда включалось.
Да и сдатчиками движения тоже понадобиться.
То есть лучше ничего самому не городить, а идти через Простые устройства?
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
-
- Сообщения: 2113
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 317 раз
- Поблагодарили: 466 раз
Re: Сохранение времени событий
к примеру у меня история в ПУ у статуса и валуе отключена, а некоторые вещи логируются через дебмеш в свои файлы или у части пишутся в ивенты, а еще появился logAction.
вариантов множество - зависят от конкретной задачи.
вариантов множество - зависят от конкретной задачи.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 25
- Зарегистрирован: Ср фев 20, 2019 7:16 am
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Сохранение времени событий
logAction это модуль? Что-то не могу его найти.
Обновил систему, нашёл. )
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
-
- Сообщения: 25
- Зарегистрирован: Ср фев 20, 2019 7:16 am
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Сохранение времени событий
А не проще не создавать Свойство со временем срабатывания, а включить историю на Свойство самого значения, там же есть дата и время? А в дальнейшем использовать функции "Работа с историей"?Chainik писал(а): ↑Ср янв 29, 2020 9:21 pm
Можете в код, который запускается при срабатывании датчика движения записать, к примеру:Для лога вам удобнее будет использовать время в формате timestamp. Тогда можете записать:Код: Выделить всё
//запишем время срабатывания датчика в формате «HH:MM» setGlobal('MotionSensor01.updatedTimeHHMM', gg('ThisComputer.timeNow'));
Естественно, чтобы получался лог и можно было "выдергивать", у Объект.Свойства со временем срабатывания необходимо включить историю.Код: Выделить всё
//запишем время срабатывания датчика в формате timestamp setGlobal('MotionSensor01.updatedTime', time());
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Сохранение времени событий
Все зависит от формулировки задачи. Если нужно последнее значение, проще создать свойство. Если надо как-то обрабатывать несколько значений (например, находить среднее значение датчиков), то тогда надо использовать функции работы с историей или делать функции по обработке запросов к БД.