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. Deutsch
  3. Visualisierung
  4. Tabellen in Vis aus Script mit Binding

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    248

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    238

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

Tabellen in Vis aus Script mit Binding

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
16 Beiträge 3 Kommentatoren 1.5k Aufrufe 3 Beobachtet
  • Ä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.
  • OliverIOO OliverIO

    @Chrunchy
    So funktioniert das binding nicht.
    Das binding wird einmal bei start von vis geprüft und sozusagen "kompliert".
    Danach findet keine erneute Überprüfung statt. Aus diesem Grund funktionieren in vis auch keine dynamischen bindings.

    skripte laufen auf der serverseite (also im iobroker). der server kennt binding nicht.

    du musst im skript den inhalt des datenpunkts mit getState holen und dann in deinen String einsetzen.

    C Offline
    C Offline
    Chrunchy
    schrieb am zuletzt editiert von Chrunchy
    #5

    @OliverIO

    Das verstehe ich nur zum Teil...

    Wenn ich

    <table><tr><td>Test</td><td>Akt. Verbrauch</td><td>{sonoff.0.TV Lampe links.ENERGY_Total}</td></tr></table>
    

    in das HTML-Widget eingebe, funktioniert es.

    Noch mehr iritiert mich aber das folgende, was ich gerade festgestellt habe...
    Zum Testen habe ich den Tip von @SBorg genommen und im HTML-Widget nur den Datenpunkt als Binding aufgerufen.

    binding_4.png binding_3.png binding_2.png binding_1.png

    Ergebnis wie vorher. in der Tabelle steht der Eintrag aus dem Script {...

    Danach habe ich im HTML-Widget das einfache binding überprüft dazu habe ich einfach zwei binding in das Widget gesetzt. Das Ergebnis ist im Bild 1 zu sehen. Plötzlich wird in der Tabelle das binding interpretiert und das einzelne vom Datenpunkt darunter nicht.

    Irgendwie sieht das für mich komisch, um nicht zu sagen falsch aus.

    Gruß Chrunchy

    1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @Chrunchy
      So funktioniert das binding nicht.
      Das binding wird einmal bei start von vis geprüft und sozusagen "kompliert".
      Danach findet keine erneute Überprüfung statt. Aus diesem Grund funktionieren in vis auch keine dynamischen bindings.

      skripte laufen auf der serverseite (also im iobroker). der server kennt binding nicht.

      du musst im skript den inhalt des datenpunkts mit getState holen und dann in deinen String einsetzen.

      C Offline
      C Offline
      Chrunchy
      schrieb am zuletzt editiert von
      #6

      @OliverIO sagte in Tabellen in Vis aus Script mit Binding:

      @Chrunchy
      skripte laufen auf der serverseite (also im iobroker). der server kennt binding nicht.

      Der Server muss das nicht kennen... ich möchte das binding ja in der Tabelle haben. Es soll nur in der vis interpretiert werden.

      du musst im skript den inhalt des datenpunkts mit getState holen und dann in deinen String einsetzen.

      Genau das will ich nicht, Für den aktuellen Verbrauch, würde ansonsten ja das Script bei einem OnChange alle 10 Sekunden die Tabelle neu erzeugen. Das halte ich dann doch für etwas übertrieben.

      Gruß Chrunchy

      OliverIOO 1 Antwort Letzte Antwort
      0
      • C Chrunchy

        @OliverIO sagte in Tabellen in Vis aus Script mit Binding:

        @Chrunchy
        skripte laufen auf der serverseite (also im iobroker). der server kennt binding nicht.

        Der Server muss das nicht kennen... ich möchte das binding ja in der Tabelle haben. Es soll nur in der vis interpretiert werden.

        du musst im skript den inhalt des datenpunkts mit getState holen und dann in deinen String einsetzen.

        Genau das will ich nicht, Für den aktuellen Verbrauch, würde ansonsten ja das Script bei einem OnChange alle 10 Sekunden die Tabelle neu erzeugen. Das halte ich dann doch für etwas übertrieben.

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #7

        @Chrunchy

        na fakt ist, skript wird auf dem server ausgeführt. da gibt es kein binding.
        das interpretieren von binding erfolgt nur in vis und nur am anfang wenn vis geladen wird.

        wenn du dynamisch einen datenpunkt mit text nachlädst, der wie binding aussieht, interessiert es vis nicht

        wenn sich der wert alle 10 sekunden ändert, dann willst du ihn ja doch auch angezeigt bekommen?
        Alternativ kannst du das skript immer in regelmäßigen Abständen laufen (jede Stunde?) über die schedule funktion

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        C 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @Chrunchy

          na fakt ist, skript wird auf dem server ausgeführt. da gibt es kein binding.
          das interpretieren von binding erfolgt nur in vis und nur am anfang wenn vis geladen wird.

          wenn du dynamisch einen datenpunkt mit text nachlädst, der wie binding aussieht, interessiert es vis nicht

          wenn sich der wert alle 10 sekunden ändert, dann willst du ihn ja doch auch angezeigt bekommen?
          Alternativ kannst du das skript immer in regelmäßigen Abständen laufen (jede Stunde?) über die schedule funktion

          C Offline
          C Offline
          Chrunchy
          schrieb am zuletzt editiert von
          #8

          @OliverIO

          OK, jetzt habe ich es verstanden. Das Problem ist also das Nachladen der Inhalte mit Binding.

          Dann werde ich wohl eher die Tabelle mit Binding direkt in das HTML-Widget schreiben.

          Aber woher kommt der Effekt, dass bei meinem Versuch mit dem zweiten Binding im Widget plötzlich der erste Wert aus der Script-erzeugten-Tabelle interpretiert wird?

          Vielleicht muss man ein "Blind-Widget" nutzen, wo man quasi die Werte initialisiert.

          Und ja, den Verbrauch hätte ich dann schon gerne aktuell, deshalb möchte ich ja nicht alle paar Sekunden die Tabelle neu durch das Script erzeugen.

          Gruß Chrunchy

          OliverIOO 1 Antwort Letzte Antwort
          0
          • C Chrunchy

            @OliverIO

            OK, jetzt habe ich es verstanden. Das Problem ist also das Nachladen der Inhalte mit Binding.

            Dann werde ich wohl eher die Tabelle mit Binding direkt in das HTML-Widget schreiben.

            Aber woher kommt der Effekt, dass bei meinem Versuch mit dem zweiten Binding im Widget plötzlich der erste Wert aus der Script-erzeugten-Tabelle interpretiert wird?

            Vielleicht muss man ein "Blind-Widget" nutzen, wo man quasi die Werte initialisiert.

            Und ja, den Verbrauch hätte ich dann schon gerne aktuell, deshalb möchte ich ja nicht alle paar Sekunden die Tabelle neu durch das Script erzeugen.

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #9

            @Chrunchy
            iobroker gibt über den on-befehl nur signal wenn der wert sich tatsächlich ändert.
            mach dir keine gedanken darüber wie oft die tabelle neu geschrieben wird.
            der browser kann das sehr schnell, wahrscheinlich merkst du nicht einmal was davon,
            das die tabelle neu aufgebaut wird.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            C 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @Chrunchy
              iobroker gibt über den on-befehl nur signal wenn der wert sich tatsächlich ändert.
              mach dir keine gedanken darüber wie oft die tabelle neu geschrieben wird.
              der browser kann das sehr schnell, wahrscheinlich merkst du nicht einmal was davon,
              das die tabelle neu aufgebaut wird.

              C Offline
              C Offline
              Chrunchy
              schrieb am zuletzt editiert von
              #10

              @OliverIO

              Die Darstellung im Vis macht mir an der Stelle auch weniger Sorgen...

              Aber das Script im iobroker, welches die Tabelle aufbaut, macht dies ja beim aktuellen Verbrauch für ca. 5-8 Steckdosen (Gosund mit Tasmota). Die senden alle 10 Sek. den Status... Allerdings wohl eher nicht synchron. Kann also im worstcase sein, dass das Script alle 2 Sekunden triggert...

              Und ich denke das geht dann schon ein wenig auf die Performance. iobroker läuft bei mir im Docker auf dem NAS.

              Vielleicht ist das aber auch wirklich zu vernachlässigen, das weiß ich nicht, da ich ja gerade erst anfange mich mit iobroker zu beschäftigen.

              Oder bezieht sich dein Hinweis auf den Verzicht des Scripts und der Tabellendarstellung im HTML-Widget mit Bindings?

              Gruß Chrunchy

              OliverIOO 1 Antwort Letzte Antwort
              0
              • C Chrunchy

                @OliverIO

                Die Darstellung im Vis macht mir an der Stelle auch weniger Sorgen...

                Aber das Script im iobroker, welches die Tabelle aufbaut, macht dies ja beim aktuellen Verbrauch für ca. 5-8 Steckdosen (Gosund mit Tasmota). Die senden alle 10 Sek. den Status... Allerdings wohl eher nicht synchron. Kann also im worstcase sein, dass das Script alle 2 Sekunden triggert...

                Und ich denke das geht dann schon ein wenig auf die Performance. iobroker läuft bei mir im Docker auf dem NAS.

                Vielleicht ist das aber auch wirklich zu vernachlässigen, das weiß ich nicht, da ich ja gerade erst anfange mich mit iobroker zu beschäftigen.

                Oder bezieht sich dein Hinweis auf den Verzicht des Scripts und der Tabellendarstellung im HTML-Widget mit Bindings?

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #11

                @Chrunchy
                probiere es aus. du kannst ja im log jeweils die milisekunden ausgeben, die es braucht um das zu verarbeiten.

                meine adapter squeezeboxrpc ruft alle 950ms (also weniger wie eine sekunde) daten zu 3 playern ab und schreibt für jeden ca 25 states. das juckt den rechner relativ wenig, da das alles im speicher abläuft. die kommunikation zwischen server und client läuft sehr effizient über websockets ab.

                da iobroker für jeden adapter doch einiges an speicher benötigt, ist auf einem rapsi eher der speicher knapp und erst ab 10-15 adapter spielt das mit der prozessorperformance eine rolle.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                C 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @Chrunchy
                  probiere es aus. du kannst ja im log jeweils die milisekunden ausgeben, die es braucht um das zu verarbeiten.

                  meine adapter squeezeboxrpc ruft alle 950ms (also weniger wie eine sekunde) daten zu 3 playern ab und schreibt für jeden ca 25 states. das juckt den rechner relativ wenig, da das alles im speicher abläuft. die kommunikation zwischen server und client läuft sehr effizient über websockets ab.

                  da iobroker für jeden adapter doch einiges an speicher benötigt, ist auf einem rapsi eher der speicher knapp und erst ab 10-15 adapter spielt das mit der prozessorperformance eine rolle.

                  C Offline
                  C Offline
                  Chrunchy
                  schrieb am zuletzt editiert von
                  #12

                  @OliverIO

                  Das mit der Zeitangabe im log klingt interessant.
                  Kannst du mir etwas genauer sagen, wie ich das anstelle?

                  Gruß Chrunchy

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • C Chrunchy

                    @OliverIO

                    Das mit der Zeitangabe im log klingt interessant.
                    Kannst du mir etwas genauer sagen, wie ich das anstelle?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #13

                    @Chrunchy

                    Der Befehl gibt die Zeit in Millisekunden aus.

                    log('MeinSkript: '+ new Date().getTime());
                    

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    C 1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @Chrunchy

                      Der Befehl gibt die Zeit in Millisekunden aus.

                      log('MeinSkript: '+ new Date().getTime());
                      
                      C Offline
                      C Offline
                      Chrunchy
                      schrieb am zuletzt editiert von
                      #14

                      @OliverIO

                      OK, das ist die Zeit im ms seit dem 1.1.1970.

                      Habe aber im Netz was gefunden, mittels start und endzeit setzten und am Ende subtrahieren.

                      Gruß Chrunchy

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • C Chrunchy

                        @OliverIO

                        OK, das ist die Zeit im ms seit dem 1.1.1970.

                        Habe aber im Netz was gefunden, mittels start und endzeit setzten und am Ende subtrahieren.

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von OliverIO
                        #15

                        @Chrunchy
                        ja genau.
                        du machst eine zeile am anfang und eine zeile am ende.
                        dann siehst du wie lange das ca braucht. kannst es natürlich auch genau ausrechnen
                        ich schätze deine paar zeilen werden nicht mehr als 100-200 ms benötigen. je nach system

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        C 1 Antwort Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          @Chrunchy
                          ja genau.
                          du machst eine zeile am anfang und eine zeile am ende.
                          dann siehst du wie lange das ca braucht. kannst es natürlich auch genau ausrechnen
                          ich schätze deine paar zeilen werden nicht mehr als 100-200 ms benötigen. je nach system

                          C Offline
                          C Offline
                          Chrunchy
                          schrieb am zuletzt editiert von
                          #16

                          @OliverIO

                          Ja. Wobei ich gerade noch etwas Teste...
                          Beim Start zeigt er 20ms an, bei einem Aufruf aus der Subscription gerade 103.
                          Derzeit sind aber die aktuellen Verbräuche noch nicht eingebunden.

                          Werde das so erstmal beobachten. Vielen Dank.

                          Gruß Chrunchy

                          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

                          527

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          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