Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер Flot

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Драйвер Flot

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      Нашёл ошибку. Попробуй с гита.

      1 Reply Last reply Reply Quote 0
      • H
        Ho Hum last edited by

        @Bluefox:

        Нашёл ошибку. Попробуй с гита. `
        Спасибо,все заработало.

        http://radikal.ru

        1 Reply Last reply Reply Quote 0
        • A
          andrey99986 last edited by

          Есть показания электросчётчика по таррифам 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-запросу?

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            > Может всё таки разработчики
            Проблема в одной и

            1 Reply Last reply Reply Quote 0
            • A
              andrey99986 last edited by

              Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?

              Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).

              У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.

              Красная линия - исходные данные.

              Зелёная линия - те же данные со сглаживанием "10".
              1444_flot.png

              1 Reply Last reply Reply Quote 0
              • V
                VictorS last edited by

                Доброго дня,

                сподобился тут построить графики потребления электричества и воды по суткам и месяцам. Даже не мог представить что это есть большая проблема 😞

                Исторически данные есть в виде: время/показания.

                Но для нужных графиков мне нужно взять дельту от показания за сутки 0:00 текущих суток, и 0:00 предыдущих и так далее.

                И как это реализовать при помощи flot?

                update: увидел что тема подымалась уже…

                видимо при помощи flot - никак. но вот тут https://iobroker.biz:8080/ в одном из примеров вроде видел подобные графики когда то.. а сейчас не могу найти…

                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  А так?
                  48_2017-01-26_22_10_25-flot_edit.png
                  48_2017-01-26_22_10_57-flot_edit.png

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @andrey99986:

                    Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?

                    Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).

                    У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.

                    Красная линия - исходные данные.

                    Зелёная линия - те же данные со сглаживанием "10". `
                    Очень интересно:

                    Используется вот этот алгоритм. https://github.com/ioBroker/ioBroker.fl … ta.js#L713

                    Сейчас вижу ошибку, но она возможна только если попадаются null значения.

                    Обновил на гите алгоритм.

                    1 Reply Last reply Reply Quote 0
                    • A
                      andrey99986 last edited by

                      @Bluefox:

                      @andrey99986:

                      Как должна работать настройка в "Входные-данные"-"Ещё"-"Сглаживание" ?

                      Установил параметр в 10, по логике должно брать среднее из 10 соседних значений (+-5) (линейно или более сложно используя вес).

                      У меня вот такая картинка выходит. Думаю что при "сглаживании" в новом графике не должны превышаться исходные реальные максимальные значения.

                      Красная линия - исходные данные.

                      Зелёная линия - те же данные со сглаживанием "10". `
                      Очень интересно:

                      Используется вот этот алгоритм. https://github.com/ioBroker/ioBroker.fl … ta.js#L713

                      Сейчас вижу ошибку, но она возможна только если попадаются null значения.

                      Обновил на гите алгоритм. `
                      Спасибо, вроде заработало когда поставил "Игнорировать null".

                      1 Reply Last reply Reply Quote 0
                      • V
                        VictorS last edited by

                        @Bluefox:

                        А так? `

                        немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит.

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @VictorS:

                          @Bluefox:

                          А так? `

                          немного не так. сдвиг оси x в один день с одновременным изменением интервала выборки вместо now -> end of day приводит к тому что показываются данные за предыдущие сутки. никакого вычитания значений не происходит. `
                          вычитания??

                          Это же не excel 🙂

                          Тебе нужны influxdb + graphite. Я именно из-за этого встроил influxDB.

                          1 Reply Last reply Reply Quote 0
                          • V
                            VictorS last edited by

                            @Bluefox:

                            @VictorS:

                            @Bluefox:

                            А так? `

                            немного не так. сдвиг оси 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 без проблем?

                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              @VictorS:

                              @Bluefox:

                              @VictorS:

                              немного не так. сдвиг оси 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. Люди ничего не могут и не хотят знать. А ты предлагаешь их заставить ставить ещё базу данных :?

                              1 Reply Last reply Reply Quote 0
                              • F
                                Freemen last edited by

                                Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял 😢 . Тыкните носом плиз..

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  @Freemen:

                                  Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял 😢 . Тыкните носом плиз.. `
                                  48_2017-03-25_07_02_41-flot_edit.png

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    Freemen last edited by

                                    @Bluefox:

                                    @Freemen:

                                    Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял 😢 . Тыкните носом плиз..
                                    Самое первое что делал, так это. Не помогает.

                                    1 Reply Last reply Reply Quote 0
                                    • Bluefox
                                      Bluefox last edited by

                                      @Freemen:

                                      @Bluefox:

                                      @Freemen:

                                      Почему то не могу построить график данных с точностью до сотых. В sql данные точность до сотых, на графике целые. Где эти настройки? Описание драйвера и его настройка прочитал, но есть ли такая настройка и где она так и не понял 😢 . Тыкните носом плиз..
                                      Самое первое что делал, так это. Не помогает. `
                                      А что ты там написал?
                                      48_2017-03-25_16_21_26-flot_edit.png

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        Freemen last edited by

                                        Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:

                                        https://drive.google.com/open?id=0BwZuz … zN6azBiS3M

                                        На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания

                                        1 Reply Last reply Reply Quote 0
                                        • Bluefox
                                          Bluefox last edited by

                                          @Freemen:

                                          Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:

                                          https://drive.google.com/open?id=0BwZuz … zN6azBiS3M

                                          На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания `
                                          У тебя значения "25._75". Там пробел в значении и поэтому оно интерпретируется, как

                                          parseFloat("25. 75") => 25.0

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            Freemen last edited by

                                            @Bluefox:

                                            @Freemen:

                                            Ну поставил, 2 знака после запятой :roll:. Если есть время можно посмотреть:

                                            https://drive.google.com/open?id=0BwZuz … zN6azBiS3M

                                            На вэб страничке устройства графики рисуются с thingspeak.com. В брокере имею целочисленные показания `
                                            У тебя значения "25._75". Там пробел в значении и поэтому оно интерпретируется, как

                                            parseFloat("25. 75") => 25.0 `
                                            Да действительно. Огромное спасибо. А то на голове волос почти не осталось, так я в другом месте два дня рвал :lol: .

                                            Все из за sprintf(). Пришлось ее применить потому что думаю всем известна проблема форматного вывода float в ESP 😢.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            248
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            54
                                            13965
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo