Анализ данных датчиков и отображение динамики. [РЕШЕНО]

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Анализ данных датчиков и отображение динамики. [РЕШЕНО]

Сообщение neromih » Вс окт 29, 2017 4:39 pm

Всю голову сломал с отображением динамики.

Есть датчик температура (подключен, работает), смог сделать вывод среднего значения за один день (из примеров взято).

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

$data = getHistoryAvg("tempzal22.value", strtotime("-1 day"));
sg('STulica.value',round($data,2));
А как сделать к примеру динамику датчика температуры за час?
К примеру: если температура за один час повышается, то значок вверх.
Со значком понятно а вот как динамику роста-падения, не поняятно :)
Последний раз редактировалось neromih Ср ноя 01, 2017 4:56 pm, всего редактировалось 1 раз.
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Анализ данных датчиков и отображение динамики?

Сообщение xor » Вс окт 29, 2017 7:31 pm

-1 hour
За это сообщение автора xor поблагодарил:
neromih (Вс окт 29, 2017 7:47 pm)
Рейтинг: 1.16%
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Анализ данных датчиков и отображение динамики?

Сообщение neromih » Вс окт 29, 2017 7:45 pm

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',теплеет); 
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Анализ данных датчиков и отображение динамики?

Сообщение xor » Вс окт 29, 2017 7:49 pm

А если равно, не учитываете?
А на сколько холодает/теплеет за ед. наблюдения, не интересно?
Просто любопытствую.
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Анализ данных датчиков и отображение динамики?

Сообщение neromih » Вс окт 29, 2017 8:08 pm

xor писал(а):А если равно, не учитываете?
А на сколько холодает/теплеет за ед. наблюдения, не интересно?
Просто любопытствую.
Спасибо за параметр = :) не учел :) допишу.
На сколько холодает вроде написал, это будет

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

$data3 = (($data2) - ($data1)); 
соответственно параметр $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 ?>.
Или же как то привязать значок к параметру переменной...

Однако попробую через кнопку...
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Анализ данных датчиков и отображение динамики?

Сообщение Chainik » Вс окт 29, 2017 8:43 pm

Может быть вам будет полезна эта тема
viewtopic.php?f=4&t=2100
Последний раз редактировалось Chainik Вс окт 29, 2017 8:49 pm, всего редактировалось 1 раз.
За это сообщение автора Chainik поблагодарил:
neromih (Вс окт 29, 2017 8:47 pm)
Рейтинг: 1.16%
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Анализ данных датчиков и отображение динамики?

Сообщение neromih » Вс окт 29, 2017 8:47 pm

Chainik писал(а):Может быть вам будет полезна эта тема
viewtopic.php?f=4&t=2100&p=19136&hilit= ... уры#p19136
Спасибо огромное!!!! То что надо!!!
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Анализ данных датчиков и отображение динамики?

Сообщение neromih » Пн окт 30, 2017 9:02 am

Может быть пригодиться такая реализация кому нибудь.

Скрипт:

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

$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',"&#8595");
if ($data1 < $data2)
sg('STulica.dinamic',"&#8593");
if ($data1 == $data2)
sg('STulica.dinamic',"&#8801"); 
В результате будет показана динамика стрелками вверх ↑ - вниз ↓ - тождественно ≡.

Пример:
На улице: -2.76°C (↓, -0.38); 67.27 %
Давление: 753.99 мм. рт. ст.
Ср: -2.1°C; Max: 2.47°C; Min: -5.18°C
За это сообщение автора neromih поблагодарили (всего 4):
skysilver (Пн окт 30, 2017 9:35 am) • xor (Пн окт 30, 2017 11:22 pm) • Jilber (Вт окт 31, 2017 2:34 pm) • Icik34 (Чт апр 23, 2020 9:45 pm)
Рейтинг: 4.65%
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Ответить