Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Dokumentation für VIS?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    614

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

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

Dokumentation für VIS?

Scheduled Pinned Locked Moved Visualisierung
16 Posts 5 Posters 1.8k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Homoran

    @hiltex sagte in Dokumentation für VIS?:

    wie man bestimmte Sachen Widget-unabhängig bauen kann, zum Beispiel, wie ich die Funktion eines Button State mit einem beliebigen Element (vielleicht einem Bild o.ä.) selber bauen kann.

    das ist wohl eher Javascript, das über Bindings eingebaut wird.
    Nicht wirklich vis-"Bedienung".

    Ohne Not.O Offline
    Ohne Not.O Offline
    Ohne Not.
    wrote on last edited by
    #6

    Hey @Homoran,
    hast du zufällig eine Dokumentation zum Thema "Bindings" oder eine Quelle in der man sich schlau lesen kann?

    1 Reply Last reply
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by arteck
      #7

      @ohne-not https://forum.iobroker.net/topic/45764/vis-html-binding-mit-variable

      https://github.com/ioBroker/ioBroker.vis#bindings-of-objects

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      Ohne Not.O 1 Reply Last reply
      0
      • arteckA arteck

        @ohne-not https://forum.iobroker.net/topic/45764/vis-html-binding-mit-variable

        https://github.com/ioBroker/ioBroker.vis#bindings-of-objects

        Ohne Not.O Offline
        Ohne Not.O Offline
        Ohne Not.
        wrote on last edited by
        #8

        Hey @arteck
        danke. Ich meine das Binden via JS. also z.b.

        vis.states.bind(oid + '.val', (e, newVal, oldVal) => console.log(e.type + ' change to ' + newVal));
        

        Leider finde ich dazu keine Dokumentation. Auch für weitere funktionen / informationen beim Zugriff auf das Object vis und this.servConn._socket

        1 Reply Last reply
        0
        • HiltexH Offline
          HiltexH Offline
          Hiltex
          wrote on last edited by
          #9

          Ich hatte tatsächlich gestern Abend noch herausgefunden, wie ich mein Vorhaben umsetzen kann.

          @homoran sagte in Dokumentation für VIS?:

          das ist wohl eher Javascript, das über Bindings eingebaut wird.
          Nicht wirklich vis-"Bedienung".

          Nicht ganz. Das Scripting selbst ist nicht das Problem gewesen, sondern die Möglichkeiten, die VIS bietet, was die eigentliche Frage war.

          Durch Analysieren von Widgets hatte ich folgende Lösung gefunden:

          <button class="bestätigen" onClick="vis.setValue('0_userdata.0.ZZ_Test.Test01.test29', true);">Rücksetzen</button>
          

          Dass man mittels vis.setValue(oid, val); mit beliebigen Elementen Datenpunkte verändern kann war die Information, die ich gesucht hatte. Somit brauch ich nun nicht für jeden Dialog eine eigene View bauen, sondern kann das direkt im HTML-Dialog eintragen, was der Übersichtlichkeit sehr zuträglich ist.

          Das kann ich sicherlich noch an der einen oder anderen Stelle gut gebrauchen.

          Blog: indibit.de

          HomoranH 1 Reply Last reply
          0
          • HiltexH Hiltex

            Ich hatte tatsächlich gestern Abend noch herausgefunden, wie ich mein Vorhaben umsetzen kann.

            @homoran sagte in Dokumentation für VIS?:

            das ist wohl eher Javascript, das über Bindings eingebaut wird.
            Nicht wirklich vis-"Bedienung".

            Nicht ganz. Das Scripting selbst ist nicht das Problem gewesen, sondern die Möglichkeiten, die VIS bietet, was die eigentliche Frage war.

            Durch Analysieren von Widgets hatte ich folgende Lösung gefunden:

            <button class="bestätigen" onClick="vis.setValue('0_userdata.0.ZZ_Test.Test01.test29', true);">Rücksetzen</button>
            

            Dass man mittels vis.setValue(oid, val); mit beliebigen Elementen Datenpunkte verändern kann war die Information, die ich gesucht hatte. Somit brauch ich nun nicht für jeden Dialog eine eigene View bauen, sondern kann das direkt im HTML-Dialog eintragen, was der Übersichtlichkeit sehr zuträglich ist.

            Das kann ich sicherlich noch an der einen oder anderen Stelle gut gebrauchen.

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #10

            @hiltex sagte in Dokumentation für VIS?:

            sondern die Möglichkeiten, die VIS bietet, was die eigentliche Frage war.

            ganz ehrlich?
            ich habe keine Ahnung wer so was wissen kann und soll.

            Wenn, dann wäre das IMHO ein Thema für die Developer Doku.

            Der normale Anwender wird so etwas kaum benötigen

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            HiltexH 1 Reply Last reply
            0
            • HomoranH Homoran

              @hiltex sagte in Dokumentation für VIS?:

              sondern die Möglichkeiten, die VIS bietet, was die eigentliche Frage war.

              ganz ehrlich?
              ich habe keine Ahnung wer so was wissen kann und soll.

              Wenn, dann wäre das IMHO ein Thema für die Developer Doku.

              Der normale Anwender wird so etwas kaum benötigen

              HiltexH Offline
              HiltexH Offline
              Hiltex
              wrote on last edited by
              #11

              @homoran sagte in Dokumentation für VIS?:

              Der normale Anwender wird so etwas kaum benötigen

              Wen meinst du denn mit "normale Anwender"? Wenn man sich im Forum umschaut, dann gibt es hier echt viele, die sich mächtig ins Zeug legen um eine tolle Visualisierung auf die Beine zu stellen. "Normal" finde ich das überhaupt nicht, aber ich verstehe natürlich, was du meinst ;)

              Blog: indibit.de

              HomoranH 1 Reply Last reply
              0
              • HiltexH Hiltex

                @homoran sagte in Dokumentation für VIS?:

                Der normale Anwender wird so etwas kaum benötigen

                Wen meinst du denn mit "normale Anwender"? Wenn man sich im Forum umschaut, dann gibt es hier echt viele, die sich mächtig ins Zeug legen um eine tolle Visualisierung auf die Beine zu stellen. "Normal" finde ich das überhaupt nicht, aber ich verstehe natürlich, was du meinst ;)

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #12

                @hiltex sagte in Dokumentation für VIS?:

                Normal" finde ich das überhaupt nicht

                ich auch nicht, und bewundere Leute, die wie du jetzt, durch "reversed engineering" solche Dinge herauskitzeln.

                Nur wo soll man so etwas dokumentieren ohne den Ruf von iobroker er sei nur etwas für Nerds noch mehr zu festigen und ohne den Großteil der 65000 Nutzer und erst Recht Interessenten abzuschrecken.

                Ganz zu schweigen davon, wer so eine "ioBroker deep insight" Doku schreiben könnte.

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                HiltexH 1 Reply Last reply
                0
                • HomoranH Homoran

                  @hiltex sagte in Dokumentation für VIS?:

                  Normal" finde ich das überhaupt nicht

                  ich auch nicht, und bewundere Leute, die wie du jetzt, durch "reversed engineering" solche Dinge herauskitzeln.

                  Nur wo soll man so etwas dokumentieren ohne den Ruf von iobroker er sei nur etwas für Nerds noch mehr zu festigen und ohne den Großteil der 65000 Nutzer und erst Recht Interessenten abzuschrecken.

                  Ganz zu schweigen davon, wer so eine "ioBroker deep insight" Doku schreiben könnte.

                  HiltexH Offline
                  HiltexH Offline
                  Hiltex
                  wrote on last edited by
                  #13

                  @homoran
                  Ich war ja eigentlich der Meinung, dass es sowas schon gibt und nicht erst geschrieben werden muss, daher auch die ursprüngliche Frage. "Developer Doku" war da schon das richtige Stichwort. Das Wissen muss ja grundsätzlich vorhanden sein, sonst könnte ja niemand Widgets entwickeln. Die Frage ist nur, ob das Wissen auch irgendwo niedergeschrieben ist, oder ob die Entwickler den Quellcode als Dokumentation nutzen, was ja nicht ganz unüblich ist.

                  Ich hatte schon ein paar Angriffe unternommen, mich mit VIS etwas intensiver auseinanderzusetzen. Da sind etliche Widgets fehlerhaft oder verhalten sich anders, als andere Widgets aus demselben Set. Aber ich hab das immer wieder schnell mangels Dokumentation fallen lassen.

                  Was den Ruf von ioBroker angeht ist mit bisher eigentlich noch nichts schlechtes untergekommen. FHEM mag nerdig sein, aber ioBroker finde ich äußerst benutzerfreundlich. Außer ein paar Design-Sachen wüsste ich nicht, wie man es besser machen könnte. Großer Funktionsumfang und viele Möglichkeiten erfordern eben auch eine komplexe Software, mit der sich die Anforderungen umsetzen lassen. Der Ruf wird wohl einfach dem Thema geschuldet sein. Smart Home in Summe ist ja schon etwas nerdig, sobald es über "Hura, mein Zuhause ist smart, denn ich kann eine Steckdose durch einen Zwischenstecker mit dem Handy ein- und ausschalten!" hinaus geht. Steigern lässt sich das immer.

                  Blog: indibit.de

                  HomoranH 1 Reply Last reply
                  0
                  • HiltexH Hiltex

                    @homoran
                    Ich war ja eigentlich der Meinung, dass es sowas schon gibt und nicht erst geschrieben werden muss, daher auch die ursprüngliche Frage. "Developer Doku" war da schon das richtige Stichwort. Das Wissen muss ja grundsätzlich vorhanden sein, sonst könnte ja niemand Widgets entwickeln. Die Frage ist nur, ob das Wissen auch irgendwo niedergeschrieben ist, oder ob die Entwickler den Quellcode als Dokumentation nutzen, was ja nicht ganz unüblich ist.

                    Ich hatte schon ein paar Angriffe unternommen, mich mit VIS etwas intensiver auseinanderzusetzen. Da sind etliche Widgets fehlerhaft oder verhalten sich anders, als andere Widgets aus demselben Set. Aber ich hab das immer wieder schnell mangels Dokumentation fallen lassen.

                    Was den Ruf von ioBroker angeht ist mit bisher eigentlich noch nichts schlechtes untergekommen. FHEM mag nerdig sein, aber ioBroker finde ich äußerst benutzerfreundlich. Außer ein paar Design-Sachen wüsste ich nicht, wie man es besser machen könnte. Großer Funktionsumfang und viele Möglichkeiten erfordern eben auch eine komplexe Software, mit der sich die Anforderungen umsetzen lassen. Der Ruf wird wohl einfach dem Thema geschuldet sein. Smart Home in Summe ist ja schon etwas nerdig, sobald es über "Hura, mein Zuhause ist smart, denn ich kann eine Steckdose durch einen Zwischenstecker mit dem Handy ein- und ausschalten!" hinaus geht. Steigern lässt sich das immer.

                    HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #14

                    @hiltex sagte in Dokumentation für VIS?:

                    Die Frage ist nur, ob das Wissen auch irgendwo niedergeschrieben ist, oder ob die Entwickler den Quellcode als Dokumentation nutzen, was ja nicht ganz unüblich ist.

                    was das angeht könnte vielleicht @uncletwas wissen (hoffe ich). Ich habe bisher nur die Anwenderdoku gemacht. Mehr kann ich auch gar nicht, bin ja auch nur ein User.

                    @hiltex sagte in Dokumentation für VIS?:

                    FHEM mag nerdig sein, aber ioBroker finde ich äußerst benutzerfreundlich

                    ich versuche es meist so: iob kann ganz einfach bedient werden, wer mehr will kann das aber auch!

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    HiltexH 1 Reply Last reply
                    0
                    • HomoranH Homoran

                      @hiltex sagte in Dokumentation für VIS?:

                      Die Frage ist nur, ob das Wissen auch irgendwo niedergeschrieben ist, oder ob die Entwickler den Quellcode als Dokumentation nutzen, was ja nicht ganz unüblich ist.

                      was das angeht könnte vielleicht @uncletwas wissen (hoffe ich). Ich habe bisher nur die Anwenderdoku gemacht. Mehr kann ich auch gar nicht, bin ja auch nur ein User.

                      @hiltex sagte in Dokumentation für VIS?:

                      FHEM mag nerdig sein, aber ioBroker finde ich äußerst benutzerfreundlich

                      ich versuche es meist so: iob kann ganz einfach bedient werden, wer mehr will kann das aber auch!

                      HiltexH Offline
                      HiltexH Offline
                      Hiltex
                      wrote on last edited by
                      #15

                      @homoran sagte in Dokumentation für VIS?:

                      ich versuche es meist so: iob kann ganz einfach bedient werden, wer mehr will kann das aber auch!

                      Das würde ich unterschreiben.

                      Blog: indibit.de

                      1 Reply Last reply
                      0
                      • HiltexH Hiltex

                        Hi,

                        gibt es für VIS eigentlich irgendwo eine ausführliche Dokumentation?

                        Was in der Doku auf iobroker.net beschrieben steht, sind ja eher die Basics.
                        Die Doku auf GitHub sieht da schon vielversprechender aus, aber reißt ja nur sehr oberflächlich ein paar Themen an.

                        Aktuell suche ich für folgendes eine Lösung:
                        In einem HTML-Dialog möchte ich einen Button einbauen, mit dem ich einen Bool-Datenpunkt setzen kann. Eine Rückmeldung ist nicht nötig, ich brauche nur einen Link, der die Aktion auslöst.

                        Gibt es irgendwo noch mehr Dokumentation, mit der man tiefer eintauchen kann und wo man sowas nachlesen kann?

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #16

                        @hiltex

                        tja leider ist das mit der doku sehr dürftig.
                        ich habe mich selbst du vorhanden code der widgets und auch von vis selbst durchgewühlt und viel debugged um zu verstehen wie ein paar sachen funktionieren.
                        leider ist vis sehr monolithis gebaut mit sehr großen funktionen (also mit vielen zeilen)
                        da macht es das debuggen schwer, weil man auch nicht immer so ganz versteht was da passiert.
                        vis mach auch nicht alles selbst, sondern behilft sich verschiedenen bibliotheken.
                        irgendwo steht was von vue, wird auch eingebunden, aber irgendwie nicht so richtig genutzt
                        um das mit dem binding von states in javascript zu verstehen muss man sich mit der bibliothek canJS 2.3.35 (leider sehr alt) auseinandersetzen.
                        https://v2.canjs.com/docs/index.html

                        auch ist in vis einige an automatismus und magie enthalten, die es normalen widget entwicklern leichter macht.
                        am beispiel des folgenden einfachen widgets
                        https://github.com/ioBroker/ioBroker.vis/blob/66dc4b7fcaf24164d2f4c3261af7df6d96a54a5d/www/widgets/basic.html#L2619

                        das ist ein widget/componenten template auf basis can.widget/can.Component
                        da gibt es ein bisschen rahmeninformation, das das widget in der auswahl angezeigt wird und den eigentlichen inhalt.
                        jedes attribut, das mit oid beginnt, wird von vis erkannt (aber nur beim start), wird dann über socketio beim server abonniert und erhält dann automatisch alle änderungen, bzw. wird einfach komplett neu gezeichnet.

                        wenn man das alles selber machen möchte, dann muss man verschiedene dinge selbst organisieren.

                        Ich habe mir diese Funktion gebaut, damit ich ein Array mit Datenpunkten abonnieren kann und über änderungen informiert werde
                        https://github.com/oweitman/ioBroker.openligadb/blob/68473c3be773ceb2368176c4261ca74ab1e5e21e/widgets/openligadb/js/openligadb.js#L1429

                            bindStates: function(elem,bound,change_callback) {
                                var $div = $(elem);
                                var boundstates = $div.data('bound');
                                if (boundstates) {
                                    for (var i = 0; i < boundstates.bound.length; i++) {
                                        vis.states.unbind(boundstates.bound[i], boundstates.change_callback);
                                    }
                                }
                                $div.data('bound', null);
                                $div.data('bindHandler', null);
                        
                                vis.conn.gettingStates = 0;
                                vis.conn.getStates(bound, function (error, states) {
                                    vis.updateStates(states);
                                    vis.conn.subscribe(bound);
                        
                                    for (var i=0;i<bound.length;i++) {
                                        bound[i]=bound[i]+'.val';
                                        vis.states.bind(bound[i] , change_callback);
                                    }
                                    $div.data('bound', {bound,change_callback});
                                    $div.data('bindHandler', change_callback);
                                }.bind({change_callback}));
                            },
                        

                        alle change_handler werden hier in einem html element gespeichert,
                        damit sie beim nächsten aufruf wieder deabonniert und neu aboniert werden können, ansonsten kann es leicht zu speicherüberlauf oder memory leaks kommen.
                        tricky ist, das es exakt die gleiche funktions objekt sein muss zum deabonnieren, sonst klappts nicht
                        auch muss man aufpassen, das eine Änderung am Datenpunkt nicht mit kaskadierenden De/Neu-Abonnierungen statt findet, sonst ebenfalls Speicherprobleme

                        Dann erst mal viel Spaß und wenn du Fragen hast, gerne

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

                        1 Reply Last reply
                        1
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        732

                        Online

                        32.7k

                        Users

                        82.6k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe