Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Dokumentation für VIS?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
16 Beiträge 5 Kommentatoren 1.5k Aufrufe 5 Watching
  • Ä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.
  • arteckA Offline
    arteckA Offline
    arteck
    Developer Most Active
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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.
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • HiltexH Offline
        HiltexH Offline
        Hiltex
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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 Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          HiltexH 1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              HiltexH 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  HiltexH 1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      609

                      Online

                      32.4k

                      Benutzer

                      81.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