Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Визуализация
  5. ioBroker.vis Драйвер
  6. Rgraph

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    645

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Rgraph

Geplant Angeheftet Gesperrt Verschoben ioBroker.vis Драйвер
9 Beiträge 3 Kommentatoren 2.8k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I Offline
    I Offline
    iLexey
    schrieb am zuletzt editiert von
    #1

    А подскажите, как в виджет LiveChart из RGraph загружать данные при загрузке страницы ioBroker.vis? У меня получается, что если я прописываю ObjectID - все работает, график отображается, но после обновления страницы или заходе с другого устройства все графики пропадают.

    Да и вообще - если у любого виджета прописать ObjectID, насколько я понимаю статус обновится только в случае попадания каких-то данных, а если отправка данных осуществляется с большими периодами - виджеты будут показывать 0? Как это можно обойти?

    Спасибо!

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      LiveChart не умеет такое. Для этого нужно использовать iobroker.flot.

      1 Antwort Letzte Antwort
      0
      • I Offline
        I Offline
        iLexey
        schrieb am zuletzt editiert von
        #3

        @Bluefox:

        LiveChart не умеет такое. Для этого нужно использовать iobroker.flot. `

        А я правильно понимаю, что эта штука работает отдельно от ioBroker.vis? Можно ли как html эти графики затащить в vis? Хотя с другой стороны как обновлять данные…

        Есть ли вообще у ioBroker.vis возможность отображать исторические данные? Или как-то запоминать состояние виджета, без повторной отправки на него данных. То есть, к примеру, если взять просто on/off выключатель изменить его состояние и обновить страничку и чтобы выключатель остался как был.

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          instalator
          schrieb am zuletzt editiert von
          #4

          @iLexey:

          @Bluefox:

          LiveChart не умеет такое. Для этого нужно использовать iobroker.flot. `

          А я правильно понимаю, что эта штука работает отдельно от ioBroker.vis? Можно ли как html эти графики затащить в vis? Хотя с другой стороны как обновлять данные…

          Есть ли вообще у ioBroker.vis возможность отображать исторические данные? Или как-то запоминать состояние виджета, без повторной отправки на него данных. То есть, к примеру, если взять просто on/off выключатель изменить его состояние и обновить страничку и чтобы выключатель остался как был. `
          А сейчас разве не так?)

          Высокий уровень Децибел вреден для здоровья!

          http://blog.instalator.ru/

          1 Antwort Letzte Antwort
          0
          • I Offline
            I Offline
            iLexey
            schrieb am zuletzt editiert von
            #5

            @instalator:

            А сейчас разве не так?) `

            Ну из предыдущей темы с вопросом по апгрейду вы, наверное, уже поняли, что я использую node-red-vis (ioBroker.vis в связке с node-red). Пока у меня получается, что изменение состояния кнопки на ON из ioBroker.vis приводит к отправке команды устройству, здесь все хорошо. Но если обновить страничку в ioBroker.vis то в интерфейсе кнопка станет OFF тогда как реально на устройстве она в состоянии ON. Так что нет - не совсем сейчас так. Может я что и неправильно делаю конечно, но поэтому и спросил.

            Я уже увидел, что в момент обновления страницы от ioBroker.vis в node-red прилетают три события, одно из которых vis.control.data с именем обновленной страницы. Поэтому пока идея иметь простенькую табличку в БД (хоть в sqlite с которой все работает из коробки и ставить дополнительные сервисы не надо) которая бы содержала список устройств на странице и по событию от vis node-red выплевывал бы эти данные в vis или вообще node-red отправлял бы команду устройствам опубликовать свой статус (тем более, что в устройствах данный функционал уже есть).

            Может конечно я горожу слишком сложные схемы и здесь надо ставить полноценный ioBroker, но пока не хотелось бы отказываться от node-red, потому что в нем уже много чего реализовано.

            1 Antwort Letzte Antwort
            0
            • I Offline
              I Offline
              instalator
              schrieb am zuletzt editiert von
              #6

              @iLexey:

              @instalator:

              А сейчас разве не так?) `

              Ну из предыдущей темы с вопросом по апгрейду вы, наверное, уже поняли, что я использую node-red-vis (ioBroker.vis в связке с node-red). Пока у меня получается, что изменение состояния кнопки на ON из ioBroker.vis приводит к отправке команды устройству, здесь все хорошо. Но если обновить страничку в ioBroker.vis то в интерфейсе кнопка станет OFF тогда как реально на устройстве она в состоянии ON. Так что нет - не совсем сейчас так. Может я что и неправильно делаю конечно, но поэтому и спросил.

              Я уже увидел, что в момент обновления страницы от ioBroker.vis в node-red прилетают три события, одно из которых vis.control.data с именем обновленной страницы. Поэтому пока идея иметь простенькую табличку в БД (хоть в sqlite с которой все работает из коробки и ставить дополнительные сервисы не надо) которая бы содержала список устройств на странице и по событию от vis node-red выплевывал бы эти данные в vis или вообще node-red отправлял бы команду устройствам опубликовать свой статус (тем более, что в устройствах данный функционал уже есть).

              Может конечно я горожу слишком сложные схемы и здесь надо ставить полноценный ioBroker, но пока не хотелось бы отказываться от node-red, потому что в нем уже много чего реализовано. `

              я в iobroker от node-red отказался вообще, Поставь iobroker, добавь свои mqtt устройства и потом будешь плеваться в сторону node-red)

              Высокий уровень Децибел вреден для здоровья!

              http://blog.instalator.ru/

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                @iLexey:

                @instalator:

                А сейчас разве не так?) `

                Ну из предыдущей темы с вопросом по апгрейду вы, наверное, уже поняли, что я использую node-red-vis (ioBroker.vis в связке с node-red). Пока у меня получается, что изменение состояния кнопки на ON из ioBroker.vis приводит к отправке команды устройству, здесь все хорошо. Но если обновить страничку в ioBroker.vis то в интерфейсе кнопка станет OFF тогда как реально на устройстве она в состоянии ON. Так что нет - не совсем сейчас так. Может я что и неправильно делаю конечно, но поэтому и спросил.

                Я уже увидел, что в момент обновления страницы от ioBroker.vis в node-red прилетают три события, одно из которых vis.control.data с именем обновленной страницы. Поэтому пока идея иметь простенькую табличку в БД (хоть в sqlite с которой все работает из коробки и ставить дополнительные сервисы не надо) которая бы содержала список устройств на странице и по событию от vis node-red выплевывал бы эти данные в vis или вообще node-red отправлял бы команду устройствам опубликовать свой статус (тем более, что в устройствах данный функционал уже есть).

                Может конечно я горожу слишком сложные схемы и здесь надо ставить полноценный ioBroker, но пока не хотелось бы отказываться от node-red, потому что в нем уже много чего реализовано. `
                Люди уже решили эту проблему.

                https://github.com/GermanBluefox/node-red-vis/issues/6

                Дело в том, что от node-red отказваться не надо. node-red интегрирован в ioBroker. Отличие только то, что добавляются node для обмена данными с ioBroker.
                48_img_007.png

                48_img_009.png

                1 Antwort Letzte Antwort
                0
                • I Offline
                  I Offline
                  iLexey
                  schrieb am zuletzt editiert von
                  #8

                  @Bluefox:

                  Люди уже решили эту проблему.

                  https://github.com/GermanBluefox/node-red-vis/issues/6 `

                  Интересная идея хранить данные в общем контексте node-red, хотя по сути мелкая базёнка сделает тоже самое только данные будут храниться на диске, а не в памяти. Примерно в тако ключе я и думал - мысли сходятся :). Спасибо за наводку!

                  @Bluefox:

                  Дело в том, что от node-red отказваться не надо. node-red интегрирован в ioBroker. Отличие только то, что добавляются node для обмена данными с ioBroker. `

                  Да, это я понимаю. А где можно почитать про потребление ресурсов ioBroker? Сейчас у меня на сервере где стоит node-red со всеми моими модулями/скриптами/нодами + ioBroker.vis занято меньше 256МБ памяти (и это включая саму ОС). Здесь возникает пара вариантов - иметь "облачные" виртуалки с серверной частью, либо docker, либо микрокомпьютер.

                  В любом случае спасибо за вашу работу! ioBroker со всеми его модулями/драйверами, это как глоток воздуха среди засилия проприетарщины и тяжелых java-приложений или непонятных монолитных поделок на коленке :)

                  1 Antwort Letzte Antwort
                  0
                  • I Offline
                    I Offline
                    iLexey
                    schrieb am zuletzt editiert von
                    #9

                    @Bluefox:

                    Люди уже решили эту проблему.

                    https://github.com/GermanBluefox/node-red-vis/issues/6 `

                    Еще раз хочу выразить огромное спасибо! Идея из ссылки выше воплотилась у меня в универсальный КЭШиратор данных (по ссылке надо описывать каждый топик, я сделал так, что кэшируются все топики, начинающиеся на "myhome/tele/", куда все мои устройства отправляют данные). Если интересно, то код и картинка ниже.

                    Чтобы не ломать форум - код Node-Red прогнал через beautify'er.

                    [
                        {
                            "id": "346b51f3.cb94ae",
                            "type": "mqtt-broker",
                            "broker": "localhost",
                            "port": "1883",
                            "clientid": ""
                        },
                        {
                            "id": "ed457908.12ba88",
                            "type": "vis in",
                            "language": "en",
                            "x": 412,
                            "y": 203,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "4a594456.b5a6bc"
                                ]
                            ]
                        },
                        {
                            "id": "4a594456.b5a6bc",
                            "type": "function",
                            "name": "Check for page refresh",
                            "func": "if (msg.topic === \"vis.control.data\") {\n    msg.payload = [];\n    for (var state in context.global.states)\n        msg.payload.push({ topic: state, data: context.global.states[state] });\n\n    return msg;\n}\nelse {\n    return null;\n}",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 588,
                            "y": 202,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "5fffe5c0.a0001c"
                                ]
                            ]
                        },
                        {
                            "id": "5fffe5c0.a0001c",
                            "type": "splitter",
                            "name": "Iterate on states",
                            "property": "payload",
                            "x": 806,
                            "y": 202,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "be39c3b6.41c64"
                                ]
                            ]
                        },
                        {
                            "id": "6169e126.9e962",
                            "type": "function",
                            "name": "Save State",
                            "func": "context.global.states = context.global.states || [];\ncontext.global.states[msg.topic] = msg.payload;\n\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 220,
                            "y": 204,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "ed457908.12ba88"
                                ]
                            ]
                        },
                        {
                            "id": "be39c3b6.41c64",
                            "type": "function",
                            "name": "Post cached states",
                            "func": "msg.topic = msg.payload.topic;\nmsg.payload = msg.payload.data;\ndelete msg.payload_unsplit;\n\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 600,
                            "y": 312,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "ed457908.12ba88"
                                ]
                            ]
                        },
                        {
                            "id": "5f03e43c.a0fc1c",
                            "type": "mqtt in",
                            "name": "Telemetry Data",
                            "topic": "myhome/tele/#",
                            "broker": "346b51f3.cb94ae",
                            "x": 135,
                            "y": 65,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "6169e126.9e962"
                                ]
                            ]
                        },
                        {
                            "id": "de8d6942.217298",
                            "type": "inject",
                            "name": "Go",
                            "topic": "",
                            "payload": "",
                            "payloadType": "none",
                            "repeat": "",
                            "crontab": "",
                            "once": false,
                            "x": 218,
                            "y": 416,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                [
                                    "4221520e.bddeac"
                                ]
                            ]
                        },
                        {
                            "id": "4221520e.bddeac",
                            "type": "function",
                            "name": "Dump states cache to console",
                            "func": "for (var state in context.global.states)\n    console.log(\"state '\" + state + \"' = '\" + context.global.states[state] + \"'\");\n\nreturn null;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 470,
                            "y": 417,
                            "z": "9aff093a.6500f8",
                            "wires": [
                                []
                            ]
                        }
                    ]
                    

                    852_screen_shot_2015-11-02_at_00.22.06.png

                    1 Antwort Letzte Antwort
                    0

                    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
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    158

                    Online

                    32.7k

                    Benutzer

                    82.6k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe