NEWS
Драйвер Flot
-
-
Есть показания электросчётчика по таррифам T1,T2 в БД iobroker sql, пишутся каждый час.
Чтобы вытащить статистику потребления по суткам сделал sql запрос:
SELECT DATE(t1.eventdate) as date, round(MAX(t1.val)-MIN(t1.val),2) as rashod_T1, round(MAX(t2.val)-MIN(t2.val),2) as rashod_T2, ( round(MAX(t1.val)-MIN(t1.val),2) + round(MAX(t2.val)-MIN(t2.val),2) ) as Total_rashod FROM (SELECT val, DATE_ADD(FROM_UNIXTIME(ts/1000), interval -315619200 second) as eventdate from iobroker.ts_number where id=9) t1 LEFT JOIN (SELECT val, DATE_ADD(FROM_UNIXTIME(ts/1000), interval -315619200 second) as eventdate from iobroker.ts_number where id=10) t2 ON (t1.eventdate=t2.eventdate) GROUP BY DATE(t1.eventdate);
Я так понимаю прямого способа sql-запрос отобразить в flot-е невозможно…
И чтобы построить график:
1. Способ: надо каждые сутки например записывать в БД то что выводит sql-запрос в свойствах нового объекта в БД.
2. Способ: обмануть flot - скриптом записать данные, сформированные из запроса напрямую с id нового объекта в БД.
Это гемор какой-то... Может всё таки разработчики добавят возможность строить график по произвольному sql-запросу?
-
> Может всё таки разработчики
Проблема в одной и -
Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?
Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).
У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.
Красная линия - исходные данные.
Зелёная линия - те же данные со сглаживанием "10".
1444_flot.png -
Доброго дня,
сподобился тут построить графики потребления электричества и воды по суткам и месяцам. Даже не мог представить что это есть большая проблема
Исторически данные есть в виде: время/показания.
Но для нужных графиков мне нужно взять дельту от показания за сутки 0:00 текущих суток, и 0:00 предыдущих и так далее.
И как это реализовать при помощи flot?
update: увидел что тема подымалась уже…
видимо при помощи flot - никак. но вот тут https://iobroker.biz:8080/ в одном из примеров вроде видел подобные графики когда то.. а сейчас не могу найти…
-
-
Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?
Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).
У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.
Красная линия - исходные данные.
Зелёная линия - те же данные со сглаживанием "10". `
Очень интересно:Используется вот этот алгоритм. https://github.com/ioBroker/ioBroker.fl … ta.js#L713
Сейчас вижу ошибку, но она возможна только если попадаются null значения.
Обновил на гите алгоритм.
-
Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?
Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).
У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.
Красная линия - исходные данные.
Зелёная линия - те же данные со сглаживанием "10". `
Очень интересно:Используется вот этот алгоритм. https://github.com/ioBroker/ioBroker.fl … ta.js#L713
Сейчас вижу ошибку, но она возможна только если попадаются null значения.
Обновил на гите алгоритм. `
Спасибо, вроде заработало когда поставил "Игнорировать null". -
А так? `
немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит.
-
А так? `
немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит. `
вычитания??Это же не excel
Тебе нужны influxdb + graphite. Я именно из-за этого встроил influxDB.
-
А так? `
немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит. `
вычитания??Это же не excel
Тебе нужны influxdb + graphite. Я именно из-за этого встроил influxDB. `
ну под вычитанием я имел ввиду разницу между показаниями начала суток предудущего и текущего дня. Иначе в чем смысл твокго совета сдвинуть X-axis на сутки?
насчет influxdb + graphite - ты имел ввиду наверное influxdb + grafana? ибо и influxdb и graphite - это по сути time series DB, плюс в последней есть инструменты по визуализации..
очень интересные инструменты, надо изучить… кстати я так понимаю что именно DB подобные influxdb идеальная база для IOB, так как в любой db он хранит информацию как time series. ее вообще по умолчанию включить можно было бы...
кстати, а flot будет тянуть данные из influxdb без проблем?
-
немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит. `
вычитания??Это же не excel
Тебе нужны influxdb + graphite. Я именно из-за этого встроил influxDB. `
ну под вычитанием я имел ввиду разницу между показаниями начала суток предудущего и текущего дня. Иначе в чем смысл твокго совета сдвинуть X-axis на сутки?
насчет influxdb + graphite - ты имел ввиду наверное influxdb + grafana? ибо и influxdb и graphite - это по сути time series DB, плюс в последней есть инструменты по визуализации..
очень интересные инструменты, надо изучить… кстати я так понимаю что именно DB подобные influxdb идеальная база для IOB, так как в любой db он хранит информацию как time series. ее вообще по умолчанию включить можно было бы...
кстати, а flot будет тянуть данные из influxdb без проблем? `
я имел ввиду именно graphite. Т.к. grafana такого не может. (Не могла 2 года назад. Сейчас не знаю).InfluxDB надо инсталлировать. Ты бы знал, сколько проблем просто с node.js. Люди ничего не могут и не хотят знать. А ты предлагаешь их заставить ставить ещё базу данных :?
-
Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял . Тыкните носом плиз..
-
Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял . Тыкните носом плиз.. `
48_2017-03-25_07_02_41-flot_edit.png -
Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял . Тыкните носом плиз..
Самое первое что делал, так это. Не помогает. -
Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял . Тыкните носом плиз..
Самое первое что делал, так это. Не помогает. `
А что ты там написал?
48_2017-03-25_16_21_26-flot_edit.png -
Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:
https://drive.google.com/open?id=0BwZuz … zN6azBiS3M
На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания
-
Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:
https://drive.google.com/open?id=0BwZuz … zN6azBiS3M
На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания `
У тебя значения "25._75". Там пробел в значении и поэтому оно интерпретируется, какparseFloat("25. 75") => 25.0
-
Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:
https://drive.google.com/open?id=0BwZuz … zN6azBiS3M
На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания `
У тебя значения "25._75". Там пробел в значении и поэтому оно интерпретируется, какparseFloat("25. 75") => 25.0 `
Да действительно. Огромное спасибо. А то на голове волос почти не осталось, так я в другом месте два дня рвал :lol: .Все из за sprintf(). Пришлось ее применить потому что думаю всем известна проблема форматного вывода float в ESP .
-
всем привет.
подскажите пожалуйста как сделать свой график для каждой переменной?
есть три переменные,приходят по MQTT. Но у меня получается только все три воткнуть на один график,переплетение линий и воспринимается не очень нормально.
как сделать,чтобы для каждой переменной был собственный график (поле с графиком)?