История значений объекта
Модератор: immortal
-
- Сообщения: 969
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
История значений объекта
Голову уже сломал, чувствую элементарно, но не соображу как.
КАК вывести на страницу последние (10, 20, 30) значения определенного свойства объекта? (как буковку H нажимаем в свойствах объекта).
Вот хочу колонку последних 10 значений sensorMovement1.status с указанием времени. Как?
КАК вывести на страницу последние (10, 20, 30) значения определенного свойства объекта? (как буковку H нажимаем в свойствах объекта).
Вот хочу колонку последних 10 значений sensorMovement1.status с указанием времени. Как?
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: История значений объекта
историю за 8 часов (в данном случае свойства sensorMovement4.status) можно вывести так:
Код: Выделить всё
<iframe src="/pChart/?p=sensorMovement4.status&op=log&type=8h" width="200" height="300"></iframe>
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 969
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: История значений объекта
Супер, то, что надо.
А, пардон, цвет шрифта можно как-то изменить? А то черное на черном.
А, пардон, цвет шрифта можно как-то изменить? А то черное на черном.
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: История значений объекта
Ну можно получить историю в JSON-формате и распоряжатся массивом как душе угодно
для этого в ссылке нужно заменить &op=log на &op=timed
для этого в ссылке нужно заменить &op=log на &op=timed
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: История значений объекта
Для php скриптов как получить историю?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
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
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
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
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
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
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: История значений объекта
я полагаю запрос через http сильнее должен загружать систему нежели встроенная функция
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram