NEWS
VIS: Bindingbegrenzung deaktivieren
-
Hallo,
wie kann ich diese Begrenzung von 50 pro Widget ändern bzw. deaktivieren?
Es läuft mit 50 alles super flott und flüssig, brauche jedoch mehr.Danke.
-
@nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:
wie kann ich diese Begrenzung von 50 pro Widget ändern
wovon redest du?
-
@homoran Hiervon, aus der Browserkonsole.
Too many bindings in one widget: 55[max = 50] extractBinding @ visUtils.js:56 extractBinding @ vis.js:2517 formatBinding @ vis.js:2548 createIds @ vis.js:3560 (anonym) @ vis.js:3711 (anonym) @ conn.js:801 SocketClient.findAnswer @ socket.io.js:298 socket.onmessage @ socket.io.js:206
-
@nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:
Too many bindings in one widget: 55[max = 50]
Is ja cool; hab ich noch nie gesehen (oder gebraucht).
Wie sieht denn so ein Binding aus.
Kann man diese dann noch überblicken ?Alternative:
Schreibe doch ein Script und benutze Datenpunkte. -
@nvd126 sagte in VIS: Bindingbegrenzung deaktivieren:
Too many bindings in one widget: 55[max = 50]
wow, das kannte ich noch nicht!
wie bekommt man 50 (in Worten fünfzig) komplette Bindings in ein einzelnes Widget?ich vermute diese Begrenzung (ich kannte bisher nur Zeichenanzahl pro Projekt) ist die sichere Obergrenze.
Bindings können ja sehr unterschiedlich ausgeprägt sein -
@bahnuhr So wie es aussieht ist scheinbar alles in einer {} ein Binding.
Und ich habe unzählige Scripte nebenbei schon am laufen, inkl. meiner ganzen selbst eingefügten HTML-Buttons usw.
Das alles auf dem Bild ist in einem Widget bei mir:
Ich experimentiere gerne auf eigene Faust was bei meinem Setup stabil ist und was nicht, deswegen würde ich mich freuen, wenn ich mitgeteilt bekommen würde, wo ich diese Begrenzung ausschalten kann.
-
@nvd126
Und wenn du 2 Widgets nimmst.Setze eins oben hin; und das andere darunter.
Müsste doch optisch nicht das Problem sein.
P.S.
Wäre mir viel zu umfangreich in einem Widget (und dann doch auch fehleranfällig; oder nicht ?) -
@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. -
@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
-
@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 -
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.
-
@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...
-
@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 -
-
@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.
-
@ice987
Hatte ich vor ein paar Tagen auch mal gesehen.. ist aber scheinbar nichts draus geworden ... -
@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? -
@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!
-
@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. -
@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...)