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 приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит. `
вычитания??Это же не 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. Но у меня получается только все три воткнуть на один график,переплетение линий и воспринимается не очень нормально.
как сделать,чтобы для каждой переменной был собственный график (поле с графиком)?
-
всем привет.
подскажите пожалуйста как сделать свой график для каждой переменной?
есть три переменные,приходят по MQTT. Но у меня получается только все три воткнуть на один график,переплетение линий и воспринимается не очень нормально.
как сделать,чтобы для каждой переменной был собственный график (поле с графиком)? `
Так и делай для каждой переменной свой график.
ссылка генерируется с параметрами своя.
Потом просто копируешь ссылку и вставляешь в vis
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden