Страница 1 из 1
Анализ данных датчиков и отображение динамики. [РЕШЕНО]
Добавлено: Вс окт 29, 2017 4:39 pm
neromih
Всю голову сломал с отображением динамики.
Есть датчик температура (подключен, работает), смог сделать вывод среднего значения за один день (из примеров взято).
Код: Выделить всё
$data = getHistoryAvg("tempzal22.value", strtotime("-1 day"));
sg('STulica.value',round($data,2));
А как сделать к примеру динамику датчика температуры за час?
К примеру: если температура за один час повышается, то значок вверх.
Со значком понятно а вот как динамику роста-падения, не поняятно

Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 7:31 pm
xor
-1 hour
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 7:45 pm
neromih
xor писал(а):-1 hour
спасибо!
Реализовал так:
Код: Выделить всё
$data1 = getHistoryValue("tempzal22.value", strtotime("-3 hour")); //статистика за 3 часа
$data2 = getGlobal("tempzal22.value"); //текущие значение
if ($data1 > $data2) //сравниваем значения :)
sg('STulica.dinamic',холодает);
if ($data1 < $data2)
sg('STulica.dinamic',теплеет);
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 7:49 pm
xor
А если равно, не учитываете?
А на сколько холодает/теплеет за ед. наблюдения, не интересно?
Просто любопытствую.
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 8:08 pm
neromih
xor писал(а):А если равно, не учитываете?
А на сколько холодает/теплеет за ед. наблюдения, не интересно?
Просто любопытствую.
Спасибо за параметр =

не учел

допишу.
На сколько холодает вроде написал, это будет
соответственно параметр $data3.
Но суть что бы менялась картинка - значок.
Код: Выделить всё
$data1 = getHistoryValue("tempzal22.value", strtotime("-3 hour"));
$data2 = getGlobal("tempzal22.value");
$data3 = (($data2) - ($data1));
if ($data1 > $data2)
sg('STulica.dinamic',0);
if ($data1 < $data2)
sg('STulica.dinamic',1);
if ($data1 == $data2)
sg('STulica.dinamic',3);
алгоритм понял:
если STulica.dinamic' = 1 то вниз
а если STulica.dinamic' = 0 вверх или наоборот

а если STulica.dinamic' = 3 без изменений
Проблема возникла в другом, пытаюсь на сцену вставить в HTML, PHP if else но он почему то показывает все что в тэгах (или как их) <?php ?>.
Или же как то привязать значок к параметру переменной...
Однако попробую через кнопку...
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 8:43 pm
Chainik
Может быть вам будет полезна эта тема
viewtopic.php?f=4&t=2100
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Вс окт 29, 2017 8:47 pm
neromih
Спасибо огромное!!!! То что надо!!!
Re: Анализ данных датчиков и отображение динамики?
Добавлено: Пн окт 30, 2017 9:02 am
neromih
Может быть пригодиться такая реализация кому нибудь.
Скрипт:
Код: Выделить всё
$data1 = getHistoryValue("tempzal22.value", strtotime("-1 hour"));
$data2 = getGlobal("tempzal22.value");
$data3 = (($data2) - ($data1));
sg('STulica.raznica',round($data3,2));
if ($data1 > $data2)
sg('STulica.dinamic',"↓");
if ($data1 < $data2)
sg('STulica.dinamic',"↑");
if ($data1 == $data2)
sg('STulica.dinamic',"≡");
В результате будет показана динамика стрелками вверх ↑ - вниз ↓ - тождественно ≡.
Пример:
На улице: -2.76°C (↓, -0.38); 67.27 %
Давление: 753.99 мм. рт. ст.
Ср: -2.1°C; Max: 2.47°C; Min: -5.18°C