История значений объекта
Модератор: immortal
История значений объекта
Голову уже сломал, чувствую элементарно, но не соображу как.
КАК вывести на страницу последние (10, 20, 30) значения определенного свойства объекта? (как буковку H нажимаем в свойствах объекта).
Вот хочу колонку последних 10 значений sensorMovement1.status с указанием времени. Как?
КАК вывести на страницу последние (10, 20, 30) значения определенного свойства объекта? (как буковку H нажимаем в свойствах объекта).
Вот хочу колонку последних 10 значений sensorMovement1.status с указанием времени. Как?
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Контактная информация:
Re: История значений объекта
историю за 8 часов (в данном случае свойства sensorMovement4.status) можно вывести так:
Код: Выделить всё
<iframe src="/pChart/?p=sensorMovement4.status&op=log&type=8h" width="200" height="300"></iframe> Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: История значений объекта
Супер, то, что надо.
А, пардон, цвет шрифта можно как-то изменить? А то черное на черном.
А, пардон, цвет шрифта можно как-то изменить? А то черное на черном.
Re: История значений объекта
Ну можно получить историю в JSON-формате и распоряжатся массивом как душе угодно
для этого в ссылке нужно заменить &op=log на &op=timed
для этого в ссылке нужно заменить &op=log на &op=timed
-
directman66
- Сообщения: 2799
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Контактная информация:
Re: История значений объекта
Для php скриптов как получить историю?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
directman66
- Сообщения: 2799
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Контактная информация:
Re: История значений объекта
Из вики
Код: Выделить всё
Функции работы с историей
getHistoryMin($varname, $start_time, $stop_time) -- Возвращает минимальное значение за период
getHistoryMax($varname, $start_time, $stop_time) -- Возвращает максимальное значение за период
getHistoryCount($varname, $start_time, $stop_time) -- Возвращает количество значений за период
getHistorySum($varname, $start_time, $stop_time) -- Возвращает сумму значений за период
getHistoryAvg($varname, $start_time, $stop_time) -- Возвращает среднее значений за период
getHistory($varname, $start_time, $stop_time) -- Возвращает массив значений истории
getHistoryValue($varname, $start_time, $stop_time) -- Возвращает среднее значений за период
varname - "объект.свойство" (строка)
start_time - Время начало выборки, включительно (метка времени Unix)
stop_time - Время конца выборки, включительно (метка времени Unix)
Если нет никаких данных функция возвращает false.
$data = getHistoryMin("RainGauge1.value", -3*60*60);
echo print_r($data, true)."<br/>\n";
Если минимальная температура за день меньше 5 градусов, то пора сливать воду из системы полива.
if (getHistoryMin("tsrearyard.temp", strtotime("-1 day")) < 5)
say("Пора сливать воду из системы полива");
Если среднесуточная температура меньше 7 градусов, то пора менять колёса на зимние.
if (getHistoryAvg("tsrearyard.temp", strtotime("-1 day")) < 7)
say("Пора менять колёса на зимние");
Самое интересное можно взять значение на определённом отрезке времени, даже если выборки попали между запросом (Берутся 2 точки до и после, из них делается интерполяция)
if (getHistoryValue("tsrearyard.temp", strtotime("03:00")) < 0)
say("Ночью была минусовая температура");
Если нет никаких данных функция возвращает false - а что делать по этому поводу решать вам. Может нужно сказать "Датчик дождя не выдавал значения за этот период"
$ret = gethistorycount("ws.isRain",strtotime("-15 minute"));
if ($ret === false) $ret = 0;
if ($ret != 0) say(' пошёл дождь...',1);
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
directman66
- Сообщения: 2799
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Контактная информация:
Re: История значений объекта
подскажите, как вывести историю между 3 и 2 часами назад?
мой код ничего не возвращает
мой код ничего не возвращает
Код: Выделить всё
$press2=getHistoryAvg('onesensor.pressure',strtotime("-2 hour") ,strtotime("-1 hour")); Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
Re: История значений объекта
А чем этот способ не угодил?
Только для скрипта он поменяется на
Код: Выделить всё
<iframe src="/pChart/?p=sensorMovement4.status&op=log&type=8h" width="200" height="300"></iframe> Код: Выделить всё
$contetnt=file_get_contents(/pChart/?p=sensorMovement4.status&op=timed&type=8h
$json_history=json_decode($contetnt); Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
directman66
- Сообщения: 2799
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Контактная информация:
Re: История значений объекта
я полагаю запрос через http сильнее должен загружать систему нежели встроенная функция
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram