Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. VIS: Bindingbegrenzung deaktivieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    VIS: Bindingbegrenzung deaktivieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nvd126 @bahnuhr last edited by

      @bahnuhr Danke für den Vorschlag, aber da habe ich ganz große Bedenken dass dann meine Accordions noch funktionieren.
      Deshalb sollte diese Begrenzung deaktivieren der einfachere Weg für mich sein.

      bahnuhr Homoran 3 Replies Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @nvd126 last edited by

        @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

        dass dann meine Accordions noch funktionieren.

        weiß jetzt nicht was du damit meinst.

        @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

        Begrenzung deaktivieren

        kann ich nicht weiterhelfen; keine Ahnung ob man dies irgendwo ändern kann.
        Vermute aber, dass dies nicht änderbar ist.

        mfg

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @nvd126 last edited by

          @nvd126 Wie du an unseren Reaktionen siehst ist uns diese Begrenzung nicht einmal bekannt.
          Erst rect nicht, ob und schon gar nicht wie sie deaktiviert werden kann

          1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @nvd126 last edited by

            @nvd126

            Nachtrag:
            Ich hatte irgendwo mal gelesen, dass viele Bindings evtl. Probleme mit der Performance machen könnten. Ob dies noch so ist, kann ich aber nicht sagen.

            Aus diesem Grund hatte ich für mich vor einiger Zeit mal entschieden, äußerst wenige Bindings zu benutzen und eher Scripte, Datenpunkte, etc. einzusetzen.

            N 1 Reply Last reply Reply Quote 0
            • N
              nvd126 @bahnuhr last edited by

              @bahnuhr
              Wenn ich Scripte nutze, heißt das ja, ich muss die allesamt in iOBroker ablegen in dem Adapter und kann nicht mit seperaten Dateien arbeiten.
              Wenn ich ein script direkt in das HTML Widget einbinde, erhöht das die Bindinganzahl um alle dort zutreffenden Bindings.

              Irgendwie find ich das etwas semi, hier ein weiteres widget machen, Funktion XY nach dorthin auslagern bzw. Work-around... 😞

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @nvd126 last edited by

                @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

                Irgendwie find ich das etwas semi,

                wenn du selber Widgets programmieren willst, wende dich bizte an die Developer.
                Hier ist das "User Forum" der Community

                N 1 Reply Last reply Reply Quote 0
                • ice987
                  ice987 @nvd126 last edited by

                  @nvd126

                  https://github.com/ioBroker/ioBroker.vis/issues/381

                  ice987987 created this issue in ioBroker/ioBroker.vis

                  open Increasing the maximum number of bindings processed in a "html widget" #381

                  N Homoran 2 Replies Last reply Reply Quote 0
                  • N
                    nvd126 @Homoran last edited by

                    @homoran Wieso sollte ich selbst das programmieren?
                    Der einzige Grund warum ich die VIS nutze ist, dass ich zugriff auf die Datenpunkte habe. Ansonsten mache ich alles andere mit separatem Code. Wenn die Socket.io Doku etwas ....einfacher .... wäre, hätte ich das gleich ganz separat gemacht. Aber ist halt so nicht, also bin ich in VIS. Und deswegen halt das Begehren, diese Begrenzung aufzuheben.

                        <script>
                                function Kuche_Steckdosen(val) {
                                    var objID = "knx.0.Obergeschoss.Anschlüsse.SA_D_Steckdosen_Kuche_schalten";
                                    this.servConn._socket.emit('getStates', objID, (error, states) => {
                                    this.servConn._socket.emit('setState', objID, !states[objID].val);
                                })}
                                var objIDstatus = {knx.0.Obergeschoss.Status.SA_D_Steckdosen_Kuche_schalten_status};
                                var input = document.getElementById('Kuche_Steckdosen');
                                if (objIDstatus == true) {
                                    input.checked = true;
                                } else {
                                    input.checked = false;
                                };
                        </script>
                    

                    Sowas zum Beispiel - auch wenns nicht so das Gelbe vom EI ist - ist für mich jetzt nicht unbedingt selbst ein Widget programmieren.

                    Wie dem auch sei, an wen kann ich mich denn wenden? Irgendwer muss das doch programmiert haben und die 50 dort eingetragen haben. Dann würde ich da dann einmal lieb nachfragen.

                    1 Reply Last reply Reply Quote 0
                    • N
                      nvd126 @ice987 last edited by

                      @ice987
                      Hatte ich vor ein paar Tagen auch mal gesehen.. ist aber scheinbar nichts draus geworden ...

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @ice987 last edited by

                        @ice987 Bluefox weist dort aber auch nochmal explizit auf die Performanceverluste bei Bindings hin.
                        Wenn @nvd126 schreibt er hätte keine Probleme müsste man aber wissen auf welcher Maschine und welchem Frontend es bei ihm läuft.

                        Es gibt hier schon genug Threads über schwächelnde Tablets bei halbwegs normalen Views.
                        Was passiert dann erst mit solchen Megawidgets?

                        N 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @nvd126 last edited by

                          @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

                          @ice987
                          Hatte ich vor ein paar Tagen auch mal gesehen.. ist aber scheinbar nichts draus geworden ...

                          dann häng dich dran!

                          1 Reply Last reply Reply Quote 0
                          • N
                            nvd126 @Homoran last edited by

                            @homoran
                            Also der Server hat ein Ryzen 5600G, 16GB Ram 3600er, 2TB Nvme und das Endgerät ist ein iPhone XR und ein iPhone 12.

                            Und ich mache keine Witze oder rede nichts schön, es ist wirklich alles flott.
                            Am Handy öffnen -> 1 Sek später geladen. Seiten Wechsel weniger als 1 Sekunde. Akkordion öffnen ein Wimpernschlag.
                            Ich habe in meiner Visu nur ein paar dutzend Scripte, Tabellen, Accordions, CSS... aber keine Videos, keinerlei Quellen aus dem Internet.

                            N Homoran 2 Replies Last reply Reply Quote 0
                            • N
                              nvd126 @nvd126 last edited by

                              @nvd126 Gibts vielleicht noch eine einfache Erklärung wie das mit dem Websocket funktioniert?

                              Wahrscheinlich ist das schneller als darauf zu warten, dass die Bindings erhöht werden (ist ja seit über 14 Monaten angefragt...)

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @nvd126 last edited by Homoran

                                @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

                                es ist wirklich alles flott.

                                bei der Konfiguration istcdas auch nicht in Abrede zu stellen.
                                Aber wie sieht das auf einem Raspberrypi und einem Android 5.5 Tablet mit 1.5GB Ram aus?
                                Die Mehrzahl der User arbeitet mit Minimalausstattungen. und selbst das ist denen oft zu teuer

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  nvd126 @Homoran last edited by

                                  @homoran Das kann ich nicht sagen, wie das da aussieht. Deswegen ist es ja ok für mich, wenn ich mir das selber aktivieren muss, nachdem mir mitgeteilt worden ist, wie das geht.
                                  Ich weiß sehr wohl, dass ich mit dem Setup etwas vom Durchschnitt abweiche.

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @nvd126 last edited by Homoran

                                    @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

                                    Wahrscheinlich ist das schneller als darauf zu warten, dass die Bindings erhöht werden (ist ja seit über 14 Monaten angefragt...)

                                    dann push das!
                                    Bluefox hat es vielleicht aus den Augen verloren. ist ja nicht das einzige was er macht

                                    N 1 Reply Last reply Reply Quote 0
                                    • N
                                      nvd126 @Homoran last edited by

                                      @homoran
                                      Hab das Problem glaub gelöst. Zumindest funktioniert nun alles und bekomm keine Fehlermeldungen mehr.

                                      Ab Zeile 51. Änderung notwendig in der Zeile 55 und 58. Überall wo nun 100 steht, stand vorher 50.

                                      function extractBinding(format) {
                                          var oid = format.match(/{(.+?)}/g);
                                          var result = null;
                                          if (oid) {
                                              if (oid.length > 100) {
                                                  console.warn('Too many bindings in one widget: ' + oid.length + '[max = 100]');
                                              }
                                              for (var p = 0; p < oid.length && p < 100; p++) {
                                      
                                      

                                      Man muss die richtige Datei erwischen, damit die Änderung übernommen wird. Außerdem ist ein Upload erforderlich. Die Datei lag bei mir in

                                      /............./iobroker/node_modules/iobroker.vis/www/js/visUtils.js
                                      
                                      Homoran B 2 Replies Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @nvd126 last edited by

                                        @nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:

                                        Außerdem ist ein Upload erforderlich

                                        das ist klar!
                                        dafür ist der upload ja da.

                                        Aber zu dem Ganzen anderen kann ich nichts sagen, bin nur User

                                        1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @nvd126 last edited by OliverIO

                                          @nvd126
                                          Die Grenze ist eigentlich Unsinn.
                                          Ob ich 50 Bindings in einem widget
                                          oder 50 Bindings in 50 widgets habe ist Performance mäßig gleich.

                                          Wer ein schwaches Gerät hat, kann solche komplexe Strukturen nicht nutzen.

                                          Aktuell gibt es keine Möglichkeit das aus einer Benutzersicht auszuschalten.
                                          Nur durch direkten Eingriff in den code, welcher nach jedem Update von vis wiederholt werden muss.

                                          Die Zeile die geändert werden muss befindet sich hier:
                                          https://github.com/ioBroker/ioBroker.vis/blob/4a14b2175ef6dc334e8ccef8afbfd08887ebde64/www/js/visUtils.js#L55

                                          Eine andere Möglichkeit, wäre tatsächlich per Skript alle benötigten Daten in ein eigenen Datenpunkt (bspw als JSON-Objekt) zu schreiben, diesen Datenpunkt in vis dann per binding einbinden und den Inhalt dann mit JSON.parse wieder auszulesen um die Daten zu verwenden.
                                          Diese Methode ist wahrscheinlich auch performanter wie bindings, allerdings muss man dann ein wenig javascript programmieren. Es könnte aber sein, das das widget jedesmal von vis neu gezeichnet wird, was evtl auch zu flacker-Effekte führen könnte

                                          hups. hab gesehen der TE hat die Datei schon selbst gefunden.

                                          1 Reply Last reply Reply Quote 1
                                          • B
                                            Bernoulli @nvd126 last edited by

                                            @nvd126 der Beitrag ist ja schon etwas älter, deshalb meine Frage, falls das Thema noch von jemandem gelesen wird. Funktioniert diese Änderung auch bei vis-2? Die Datei visUtils.js gibt es bei mir zweimal, einmal im Ordner
                                            /opt/iobroker/node_modules/iobroker.js-controller/build/esm/lib/vis/ und ein weiteres mal im Ordner
                                            /opt/iobroker/node_modules/iobroker.js-controller/build/cjs/lib/vis/.
                                            Habe in beiden Dateien die 50 auf 100 geändert. Das hat aber leider nichts bewirkt.
                                            Was hat es mit dem Upload auf sich? Wie ist das zu verstehen? Ich kann doch die Dateien direkt auf dem PI mittels nano editieren.

                                            Homoran OliverIO 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            48
                                            2883
                                            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