Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Objekt-Binding und Gruppierung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Objekt-Binding und Gruppierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      k.e last edited by

      Hallo Forum,

      die Funktion des Objekt-Bindings im Vis-Editor ist wirklich sehr hilfreich. Ich ändere beispielsweise damit die Opacity eines Widgets mit einem Skript, damit bekommt man wirkliche ansehnliche Effekte hin (Bsp.: opacity: {javascript.0.opacity;/(100)};).

      Ich bin noch recht neu in Sachen CSS, HTML und JS, verstehe ich es daher richtig: Wenn über Objekt-Binding eine Eigenschaft eines Widgets aktualisiert wird, wird das Widget dann ganz zerstört und mit den neuen Eigenschaften neu gebaut?

      So wirkt es zumindest in meinem Fall: Wenn ich Widgets mit Objekt-Binding gruppiere, so werden alle Eigenschaften des betroffenen Widgets aktualisiert und das außerhalb der Gruppierung. Daraus folgt bspw., dass das Sichtbarkeitsobjekt der Gruppe nicht mehr die Sichtbarkeit des aktualisierten Widgets steuert, obwohl es eigentlich Bestandteil der Gruppe sein sollte, oder dass bei der Aktualisierung der Höhe und Breite des Widgets die Werte mit Bezug auf die Gruppe nun auf die Gesamtansicht bezogen werden (-> falsche Position und Größe des Widgets, v.a. bei prozentualen Angaben).

      Gibt es eine Möglichkeit bei der Aktualisierung eines Widgets durch Binding

      (a) nur die entsprechende Eigenschaft zu aktualisieren und alles andere beizubehalten, oder

      (b) bei der Aktualisierung eines Widgets eine mögliche Gruppierung zu berücksichtigen und nötige Eigenschaften entsprechend anzupassen, oder

      © die Aktualisierung der gesamten Gruppe zu triggern, damit die gesamte Gruppe mit den neuen Eigenschaften neu gebaut wird?

      Ich bin für jede Hilfe dankbar.

      Viele Grüße,

      KE

      Object-Binding: https://github.com/ioBroker/ioBroker.vi ... of-objects

      S T 2 Replies Last reply Reply Quote 0
      • S
        survivor @k.e last edited by

        @kilian-egmx-de Ich habe dasselbe Problem. Wenn ich die Textfarbe innerhalb einer Gruppe mit einer Bindung...

        {h:sonoff.0.DVES_9F102D.POWER; h == 'true' ? '#33CC33' : '#FF0000'}

        ... setze und sich der Wert ändert, dann ändert sich auch die Textfarbe, aber anstelle des Textes steht "groupAttr3" (enthält den Text) und das auch noch horizontal verschoben.

        Gibt es dafür eine Lösung?

        Vielen Dank!

        1 Reply Last reply Reply Quote 0
        • T
          Tobito @k.e last edited by

          @kilian-egmx-de
          Ich habe genau das gleiche Problem. Bin aber auch noch recht neu im Thema vis.
          Da das Thema unbeantwortet schon etwas steht, habt ihr eine Lösung (außer die Gruppierung aufheben) gefunden?
          Bin für alle Hilfestellungen dankbar.

          Viele Grüße
          Tobi

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

            @tobito
            @kilian-egmx-de
            @survivor

            Könnt ihr bitte ein möglichst einfaches Beispiel erstellen, bei dem es nicht funktioniert und die Gruppe/Widgets exportierend hier posten.
            Ein bisschen Beschreibung was in welchem datenpunkt des Beispiels drin steht wäre auch nicht schlecht.
            Dann kann man das einmal nachstellen um zu schauen wo das Problem liegt.

            T OliverIO 2 Replies Last reply Reply Quote 0
            • T
              Tobito @OliverIO last edited by

              @oliverio

              Hallo Oliverio,

              vielen Dank für die schnelle Reaktion 🙂 Ich habe mit mehreren basic-HTML Widgets je ein binding eines Homematic Datenpunktes für eine Heizung eingebunden und die Widgets gruppiert.
              Klappt super. Aber nach kurzer Zeit "springen" die Werte bzw. vermutlich die Widgets an eine andere Stelle des Bildschirms. Ein Neuladen der Website behebt das Problem nur kurzzeitig.
              Ich habe Dir mal eine Gruppierung exportiert, es tritt aber zeitversetzt an allen gruppierten Widgets mit bindings auf.
              Es ist übrigens nicht auf Homematic Datenpunkte einzugrenzen, Es tritt generell auf, sobald ich die bindings gruppiert habe. Auch mit Position "relativ" (bei CSS Allgemein) habe ich keinen Erfolg gehabt.

              Gruß
              Tobi

              widgetExport.txt

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

                @tobito

                puh, kannst du das vereinfachen. da sind ja widgets aus anderen adaptern drin.
                ich habe den materialdesign-adapter nicht.

                wenn du das nachstellen kannst mit so wenig standard widgets (also die bei iobroker mitgeliefert werden) wie möglich. dann kann ich mal schauen.
                auch habe ich kein homematic, mit dem ich die widgets mal schnell verbinden kann.
                daher bitte eigene datenpunkte erstellen und mir die benennen das ich die hier nachstellen kann. als name, typ inhalt

                sonst wird das zu schwierig nachzustellen, ob der fehler in vis liegt.
                oder evtl am materialdesign

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

                  @oliverio

                  ich habe jetzt einfach 3 basic-HTML Widgets mit Datenpunkten bindings ausgestattet und gruppiert.
                  Wenn ich einen Datenpunkt mit einem neuen Wert setze (Wert egal) wird er in der Visualisierung ganz oben links angezeigt, er "springt" also aus der gruppierten Position.

                  groupExport.txt

                  Grüße Tobi

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

                    @oliverio sagte in Objekt-Binding und Gruppierung:

                    Ein bisschen Beschreibung was in welchem datenpunkt des Beispiels drin steht wäre auch nicht schlecht.
                    Dann kann man das einmal nachstellen um zu schauen wo das Problem liegt.

                    ok der erste Teil hast du geliefert.
                    Bitte noch den 2.Teil
                    Bin leider kein Hellseher
                    Am besten Copy/Paste fähig, so das ich nicht so lange brauche das Beispiel aufzubereiten

                    T 1 Reply Last reply Reply Quote 0
                    • F
                      fritzke316 last edited by

                      Hallo

                      nur zur Info, für das zerreissen der Gruppierungen gibt es bereits ein Issue!
                      Könnte vielleicht interressant sein 🙂


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

                      Bodengriller created this issue in ioBroker/ioBroker.vis

                      closed Gruppierte Elemente bei Aktualisierung des Datenpunktes zerrissen #432

                      T 1 Reply Last reply Reply Quote 1
                      • T
                        Tobito @OliverIO last edited by

                        @oliverio

                        Ich hatte in meinem 2.Beispiel unterschiedliche Inhalte des Datenpunkts ausprobiert (string, number, boolean). Das scheint keinen Einfluss auf das beschriebene Verhalten zu haben.

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

                          @tobito du sollst mir eine liste der verwendeten datenpunkte und den inhalt benennen, damit ich das schnell und einfach nachstellen kann.

                          aber mittlerweile wird es aufgrund der ganzen rumschreiberei auch schon wieder sehr aufwändig.
                          wahr scheinlich ist es der issue, der gerade bénannt wurde

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

                            @oliverio
                            Sorry, hier die Datenpunkte:
                            0_userdata.0.Visualisierung.Farben.Thema_1_dunkel.Backgrnd_main
                            0_userdata.0.Visualisierung.Farben.Thema_1_dunkel.Backgrnd_sub
                            0_userdata.0.Visualisierung.Farben.Thema_1_dunkel.Text_main

                            (Wert der Datenpunkte egal, ich hatte z.B. string, „Test“ eingegeben, Problem tritt bei Änderung des Wertes auf)

                            Grüße
                            Tobi

                            1 Reply Last reply Reply Quote 0
                            • T
                              Tobito @fritzke316 last edited by

                              @fritzke316
                              Ja, scheint das gleiche Thema zu sein. Danke für den Hinweis:)

                              Grüße
                              Tobi

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

                                @tobito
                                @kilian-egmx-de
                                @survivor

                                habe das Problem in vis identifizieren können.
                                Habe allerdings noch keine wirkliche Lösung.
                                Bei Änderung weiß das Widget nicht das es zu einer Gruppe gehört.
                                Daher wird das falsche HTML-Element (die View) gewählt, an dem das HTML-Element mit dem neuen Inhalt hinzugefügt wird. Wenn der Funktion

                                renderWidget, aufgerufen von der Funktion reRenderWidget die richtige GroupID mitgegeben würde, dann funktioniert es.
                                Leider ist der Teil, der eigentlich die GroupID ermitteln soll für mich so nicht verständlich und wahrscheinlich komplett falsch (fett markiert)

                                this.renderWidget(viewDiv, view, widget, !this.views[viewDiv] && viewDiv !== widget ? viewDiv : null);

                                Zur Ermittlung der GroupID gibt es nun 2 Möglichkeiten:

                                1. Man fügt die groupID den jeweiligen Widget-Daten hinzu
                                2. Man durchsucht alle Widgetdaten, bei denen die IDs mit "g" anfangen und schaut ob die aktuelle widgetID darin enthalten ist.

                                Mal schauen, wann das gefixed wird

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

                                  @oliverio
                                  Vielen Dank für deine Analyse und Unterstützung.
                                  Ich hoffe es wird bald gefixt.

                                  Viele Grüße
                                  Tobi

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    fritzke316 last edited by

                                    Vielleicht wäre es gut wenn ihr noch einen Kommentar im Issue hinterlässt, ich warte schon länger darauf, dass es gefixt wird!!

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

                                      ich habe hier mal einen fix als pull request gestellt mit dem es bei mir behoben ist.
                                      https://github.com/ioBroker/ioBroker.vis/pull/456

                                      oweitman created this issue in ioBroker/ioBroker.vis

                                      closed fix jumping widgets on state-update if grouped #456

                                      1 Reply Last reply Reply Quote 1
                                      • OliverIO
                                        OliverIO last edited by

                                        Ab Adapter Version vis 1.4.11
                                        Scheint mein fix enthalten zu sein.
                                        Bitte prüft mal bitte gründlich ob das so passt.
                                        Leider sind bei vis irgendwelchen Seiteneffekte nicht
                                        Auszuschließen.

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

                                          @oliverio
                                          Erst mal ein herzliches Dankeschön! Tolle Arbeit.
                                          Mir ist folgendes aufgefallen:

                                          1. Bereits erstelle Gruppierungen bleiben von dem Fix unverändert. Auch das Bearbeiten oder Kopieren/Neueinfügen der Gruppierung hilft dabei nichts.
                                          2. Bei neu erstellten Gruppierungen löst der Fix bei mir das Problem.

                                          Testsystem:
                                          Raspi4B 4GB
                                          vis v1.4.12
                                          web v4.1.1
                                          iobroker wurde nach update neu gestartet, Webbrowser Cache geleert, neu gestartet

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

                                            @tobito
                                            das ist korrekt.
                                            die Lösung war, das sich jedes widget merkt, zu welcher gruppe es gehört.
                                            das passiert beim gruppieren.

                                            für vor 1.4.11. gruppierte widgets fehlt die information immer noch,
                                            aber durch entfernen der gruppierung und gleich wieder gruppieren wird das behoben.

                                            danke fürs testen

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            204
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            47
                                            5023
                                            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