Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. VIS - dynamische Object ID / Feldreferenz

NEWS

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

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

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

VIS - dynamische Object ID / Feldreferenz

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
37 Beiträge 13 Kommentatoren 6.1k Aufrufe 13 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.
  • Frederik BussF Frederik Buss

    @oliverio Naja, bei den Bildern bin ich bei Dir. Die Inventwo Widget funktionieren aber per Binding so wie ich mir das vorstelle. Hast Du eine Idee warum dasselbe beim "String img src" Widget nicht funktioniert?

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #22

    @frederik-buss

    du kannst mal mit den developer tools des browsers schauen, wie die werte dann im browser tatsächlich ankommen.
    also einfach auf die stelle rechtsklicken und dann "untersuchen" auswählen.
    dann müsstest du dir den link anschauen können.

    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
    0
    • jogibear9988J Offline
      jogibear9988J Offline
      jogibear9988
      schrieb am zuletzt editiert von
      #23

      Ist diese "indirekte" adressierung nun in vis möglich oder nicht? Ich hatte mir überlegt das in meine webui einzubauen, wenn es in vis möglich ist, würde ich es gerne gleich machen.

      Finde {} als platzhalter eig. gut, glaube aber das { und } keine verbotenen werte in iobroker signalen sind (wobei die nutzt warscheinlich so gut wie keiner).

      Check my ioBroker webui - a vis alternative
      see: https://github.com/iobroker-community-adapters/ioBroker.webui

      OliverIOO 1 Antwort Letzte Antwort
      0
      • jogibear9988J jogibear9988

        Ist diese "indirekte" adressierung nun in vis möglich oder nicht? Ich hatte mir überlegt das in meine webui einzubauen, wenn es in vis möglich ist, würde ich es gerne gleich machen.

        Finde {} als platzhalter eig. gut, glaube aber das { und } keine verbotenen werte in iobroker signalen sind (wobei die nutzt warscheinlich so gut wie keiner).

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #24

        @jogibear9988

        Dynamische objectIDs gehen nicht.
        Also das berechnen des id zur Laufzeit.
        Vis sammelt zum Start im runtime Mode erst allle ids ein und abonniert die vom Server.
        Erst dann wird vis über alle Änderungen informiert und stellt diese dann dar.

        Im edit Mode werden alle datenpunkte abonniert
        Ich nehme an das macht die sofortige Darstellung von Daten einfacher sobald ein Widget hinzugefügt und der id eingetragen wurde

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

        Frederik BussF 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @jogibear9988

          Dynamische objectIDs gehen nicht.
          Also das berechnen des id zur Laufzeit.
          Vis sammelt zum Start im runtime Mode erst allle ids ein und abonniert die vom Server.
          Erst dann wird vis über alle Änderungen informiert und stellt diese dann dar.

          Im edit Mode werden alle datenpunkte abonniert
          Ich nehme an das macht die sofortige Darstellung von Daten einfacher sobald ein Widget hinzugefügt und der id eingetragen wurde

          Frederik BussF Offline
          Frederik BussF Offline
          Frederik Buss
          schrieb am zuletzt editiert von
          #25

          @oliverio Ich bin mir nicht ganz sicher was Du damit meinst, vielleicht verstehe ich den Ausdruck "dynamische Objekt ID's" auch falsch. Folgendes Beispiel geht aber recht zuverlässig:
          Inventwo Widget Laustärke erhöhen oder senken, je nachdem welches Objekt ausgewählt wurde.
          Objekt ID: {0_userdata.0.SonosAuswahl}.VOLUME
          Inhalt von 0_userdata.0.SonosAuswahl: alias.0.WohnEsszimmer.SONOS-Gruppe oder alias.0.WohnEsszimmer.SonosTerrasse usw.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • Frederik BussF Frederik Buss

            @oliverio Ich bin mir nicht ganz sicher was Du damit meinst, vielleicht verstehe ich den Ausdruck "dynamische Objekt ID's" auch falsch. Folgendes Beispiel geht aber recht zuverlässig:
            Inventwo Widget Laustärke erhöhen oder senken, je nachdem welches Objekt ausgewählt wurde.
            Objekt ID: {0_userdata.0.SonosAuswahl}.VOLUME
            Inhalt von 0_userdata.0.SonosAuswahl: alias.0.WohnEsszimmer.SONOS-Gruppe oder alias.0.WohnEsszimmer.SonosTerrasse usw.

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #26

            @frederik-buss

            ja genau das. vis kennt am anfang den eigentlichen datenpunkt nicht, da er ja gemäß der Auswahl erst zusammengebaut wird.
            Sofern ich mich erinnere müsste vis dann das auch verschachtelt erkennen, was so nicht eingebaut ist

            Ausgangssituation
            {javascript.0.datenpunk.{javascript.0.auswahl}}
            1.Schritt den Inhalt des datenpunkts auswahl ermitteln und im ausdruck ersetzen
            2.Schritt den Inhalt des so dynamisch zusammengesetzten datenpunktID ermitteln.
            

            wie schon geschrieben. wenn vis runtime startet, müssen alle datenpunkte bekannt sein. vis scannt alle widgets und anderen inhalte nach dem Inhalt von {}, erkennt die datenpunkte und abonniert sie dann beim server, so das die aktualisierungen dann dem client mitgeteilt werden.
            nach dem start findet dieser prozess nicht mehr statt.

            Zur Lösung deines Problems:
            Lege für jede einzelne Möglichkeit ein widget an und lege sie direkt übereinander (beim erstellen evtl noch nicht gleich, sondern erst wenn es funktioniert). Die Sichtbarkeit des widgets kannst du dann über den Datenpunkt Auswahl steuern, in dem du den Datenpunkt Auswahl im Abschnitt visibility des jeweiligen widgets einträgst und eine entsprechende Vergleichsoperation einträgst

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

            Frederik BussF 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @frederik-buss

              ja genau das. vis kennt am anfang den eigentlichen datenpunkt nicht, da er ja gemäß der Auswahl erst zusammengebaut wird.
              Sofern ich mich erinnere müsste vis dann das auch verschachtelt erkennen, was so nicht eingebaut ist

              Ausgangssituation
              {javascript.0.datenpunk.{javascript.0.auswahl}}
              1.Schritt den Inhalt des datenpunkts auswahl ermitteln und im ausdruck ersetzen
              2.Schritt den Inhalt des so dynamisch zusammengesetzten datenpunktID ermitteln.
              

              wie schon geschrieben. wenn vis runtime startet, müssen alle datenpunkte bekannt sein. vis scannt alle widgets und anderen inhalte nach dem Inhalt von {}, erkennt die datenpunkte und abonniert sie dann beim server, so das die aktualisierungen dann dem client mitgeteilt werden.
              nach dem start findet dieser prozess nicht mehr statt.

              Zur Lösung deines Problems:
              Lege für jede einzelne Möglichkeit ein widget an und lege sie direkt übereinander (beim erstellen evtl noch nicht gleich, sondern erst wenn es funktioniert). Die Sichtbarkeit des widgets kannst du dann über den Datenpunkt Auswahl steuern, in dem du den Datenpunkt Auswahl im Abschnitt visibility des jeweiligen widgets einträgst und eine entsprechende Vergleichsoperation einträgst

              Frederik BussF Offline
              Frederik BussF Offline
              Frederik Buss
              schrieb am zuletzt editiert von Frederik Buss
              #27

              @oliverio Ich glaube wir reden aneinander vorbei 🙂 Mein Beispiel mit einem Binding funktioniert. Es ist aber richtig, dass verschachtelte Bindings nicht gehen. Genauso wenig img-src widgets. Aber Drop-Down Listen, Button usw. gehen mit {Binding zum Pfad}.IrgendeinDatenpunkt.
              Was ich nicht ganz verstehe ist Dein Punkt, dass alle Datenpunkte bekannt sein müssen. In meinem Beispiel wechsele ich zwischen 4 Datenpunkten bei verschiedenen Widgets. Welche Bindings da welchen Inhalt bekommen, kann der Runtime beim Start ja nicht bekannt sein, da diese eben doch dynamisch erzeugt werden. Auch wenn ich die Auswahl händisch im Admin eintrage funktioniert das.
              So sieht mein Beispiel im Editor aus:
              Screenshot 2023-09-16 160735.png

              Edit:
              Hier wird die Auswahl getroffen:
              Screenshot 2023-09-16 160921.png

              OliverIOO 1 Antwort Letzte Antwort
              0
              • Frederik BussF Frederik Buss

                @oliverio Ich glaube wir reden aneinander vorbei 🙂 Mein Beispiel mit einem Binding funktioniert. Es ist aber richtig, dass verschachtelte Bindings nicht gehen. Genauso wenig img-src widgets. Aber Drop-Down Listen, Button usw. gehen mit {Binding zum Pfad}.IrgendeinDatenpunkt.
                Was ich nicht ganz verstehe ist Dein Punkt, dass alle Datenpunkte bekannt sein müssen. In meinem Beispiel wechsele ich zwischen 4 Datenpunkten bei verschiedenen Widgets. Welche Bindings da welchen Inhalt bekommen, kann der Runtime beim Start ja nicht bekannt sein, da diese eben doch dynamisch erzeugt werden. Auch wenn ich die Auswahl händisch im Admin eintrage funktioniert das.
                So sieht mein Beispiel im Editor aus:
                Screenshot 2023-09-16 160735.png

                Edit:
                Hier wird die Auswahl getroffen:
                Screenshot 2023-09-16 160921.png

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #28

                @frederik-buss

                muss ich mal ausprobieren. das wäre mir neu das das geht
                und das funktioniert auch in der runtime?
                und du hast den berechneten datenpunkt auch nicht noch in einem anderen widget so stehen?

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

                Frederik BussF 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @frederik-buss

                  muss ich mal ausprobieren. das wäre mir neu das das geht
                  und das funktioniert auch in der runtime?
                  und du hast den berechneten datenpunkt auch nicht noch in einem anderen widget so stehen?

                  Frederik BussF Offline
                  Frederik BussF Offline
                  Frederik Buss
                  schrieb am zuletzt editiert von Frederik Buss
                  #29

                  @oliverio Ja, das funktioniert. Ich steuere damit dynamisch wie gesagt die SONOS Ansteuerung. Funktioniert am Tablet und am PC. Dauert einen kleinen Moment (<1 Sek), bis sich die neue Objekt-ID im Widget aktualisiert und natürlich müssen die Datenpunkte nach dem Binding identisch benannt sein - auf Gross-/Kleinschreibung achten! Und nein, die berechneten Datenpunkte stehen in keinem anderen Widget.

                  Edit:
                  So sieht das Ganze dann in der Runtime aus:
                  Screenshot 2023-09-16 162157.png
                  Mit den Buttons unten rechts wird die Auswahl beschrieben, die Buttons oben links fügen nur Sonos Geräte zur Gruppe hinzu, oder entfernen diese. Je ausgewähltem Gerät werden die Datenpunkte "favorites-set" mit den Radiosener Widgets oder der Auswahlliste geschrieben, die unteren Widgets steuern je nach Auswahl die Lautstärke oder Play/Stop/Nächstes.

                  jogibear9988J 1 Antwort Letzte Antwort
                  0
                  • Frederik BussF Frederik Buss

                    @oliverio Ja, das funktioniert. Ich steuere damit dynamisch wie gesagt die SONOS Ansteuerung. Funktioniert am Tablet und am PC. Dauert einen kleinen Moment (<1 Sek), bis sich die neue Objekt-ID im Widget aktualisiert und natürlich müssen die Datenpunkte nach dem Binding identisch benannt sein - auf Gross-/Kleinschreibung achten! Und nein, die berechneten Datenpunkte stehen in keinem anderen Widget.

                    Edit:
                    So sieht das Ganze dann in der Runtime aus:
                    Screenshot 2023-09-16 162157.png
                    Mit den Buttons unten rechts wird die Auswahl beschrieben, die Buttons oben links fügen nur Sonos Geräte zur Gruppe hinzu, oder entfernen diese. Je ausgewähltem Gerät werden die Datenpunkte "favorites-set" mit den Radiosener Widgets oder der Auswahlliste geschrieben, die unteren Widgets steuern je nach Auswahl die Lautstärke oder Play/Stop/Nächstes.

                    jogibear9988J Offline
                    jogibear9988J Offline
                    jogibear9988
                    schrieb am zuletzt editiert von jogibear9988
                    #30

                    @frederik-buss
                    ja geht es nur beim steuern (dazu muss man den datenpunkt ja nicht abonieren), oder auch beim lesen?

                    Ich werds bei mir mal mit der {...} syntax einbauen.
                    ich aboniere im Moment sowieso alles einzeln, falls das irgendwann (bei jemand) zu perf problemen führt, baue ich es um,...
                    In der Visu welche ich in .NET implemebteirt hatte, mache ich das abbonieren, alle 10ms wenn es neue abbos gib.

                    Check my ioBroker webui - a vis alternative
                    see: https://github.com/iobroker-community-adapters/ioBroker.webui

                    Frederik BussF 1 Antwort Letzte Antwort
                    0
                    • jogibear9988J jogibear9988

                      @frederik-buss
                      ja geht es nur beim steuern (dazu muss man den datenpunkt ja nicht abonieren), oder auch beim lesen?

                      Ich werds bei mir mal mit der {...} syntax einbauen.
                      ich aboniere im Moment sowieso alles einzeln, falls das irgendwann (bei jemand) zu perf problemen führt, baue ich es um,...
                      In der Visu welche ich in .NET implemebteirt hatte, mache ich das abbonieren, alle 10ms wenn es neue abbos gib.

                      Frederik BussF Offline
                      Frederik BussF Offline
                      Frederik Buss
                      schrieb am zuletzt editiert von
                      #31

                      @jogibear9988 Ich verstehe die Frage ehrlich gesagt nicht so ganz... Sobald der Auswahl Datenpunkt neu beschrieben wurde, aktualisieren sich die Widgets, welche darauf das Binding enthalten. Meinst Du das mit Lesen...?

                      jogibear9988J OliverIOO 2 Antworten Letzte Antwort
                      0
                      • Frederik BussF Frederik Buss

                        @jogibear9988 Ich verstehe die Frage ehrlich gesagt nicht so ganz... Sobald der Auswahl Datenpunkt neu beschrieben wurde, aktualisieren sich die Widgets, welche darauf das Binding enthalten. Meinst Du das mit Lesen...?

                        jogibear9988J Offline
                        jogibear9988J Offline
                        jogibear9988
                        schrieb am zuletzt editiert von
                        #32

                        @frederik-buss
                        hast du auch in einem anzeigewidget diesen pfad stehen
                        {....}.Volume ?
                        und ist der vollständige pfad also ohne {} in keinem anderen anzeigewiget?

                        Weil zu zeigt ja alle volumes direkt an, also wahrscheinlich nicht.

                        Check my ioBroker webui - a vis alternative
                        see: https://github.com/iobroker-community-adapters/ioBroker.webui

                        Frederik BussF 1 Antwort Letzte Antwort
                        0
                        • Frederik BussF Frederik Buss

                          @jogibear9988 Ich verstehe die Frage ehrlich gesagt nicht so ganz... Sobald der Auswahl Datenpunkt neu beschrieben wurde, aktualisieren sich die Widgets, welche darauf das Binding enthalten. Meinst Du das mit Lesen...?

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #33

                          @frederik-buss

                          das abonnieren kommt von der von iobroker verwendeten bibliothek socket.io.
                          da sagt der empfänger, dem sender, über was er bei änderung informiert werden will. das nennt sich abonnieren
                          ist aber für die endanwender eigentlich irrelevant

                          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
                          0
                          • jogibear9988J jogibear9988

                            @frederik-buss
                            hast du auch in einem anzeigewidget diesen pfad stehen
                            {....}.Volume ?
                            und ist der vollständige pfad also ohne {} in keinem anderen anzeigewiget?

                            Weil zu zeigt ja alle volumes direkt an, also wahrscheinlich nicht.

                            Frederik BussF Offline
                            Frederik BussF Offline
                            Frederik Buss
                            schrieb am zuletzt editiert von
                            #34

                            @jogibear9988 Wenn Du mit Anzeigewidget das img-src Widget meinst, dann geht das dort tatsächlich nicht. in den Inventwo Widgets geht es. Und nein, der vollständige Pfad ohne {} ist in keinem anderen Widget verwendet, zumindest teilweise. Die Lautstärken werden direkt angezeigt, da ist der Pfad jeweils bekannt. Aber bei den Play/Stop/Nächste Widgets sowie den favorites-set Widgets ist der nicht bekannt.

                            OliverIOO jogibear9988J 2 Antworten Letzte Antwort
                            0
                            • Frederik BussF Frederik Buss

                              @jogibear9988 Wenn Du mit Anzeigewidget das img-src Widget meinst, dann geht das dort tatsächlich nicht. in den Inventwo Widgets geht es. Und nein, der vollständige Pfad ohne {} ist in keinem anderen Widget verwendet, zumindest teilweise. Die Lautstärken werden direkt angezeigt, da ist der Pfad jeweils bekannt. Aber bei den Play/Stop/Nächste Widgets sowie den favorites-set Widgets ist der nicht bekannt.

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #35

                              @frederik-buss

                              hast du den mal mit den web developer tools nun nachgeschaut, was da tatsächlich im Ergebnis ankommt?

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

                              Frederik BussF 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @frederik-buss

                                hast du den mal mit den web developer tools nun nachgeschaut, was da tatsächlich im Ergebnis ankommt?

                                Frederik BussF Offline
                                Frederik BussF Offline
                                Frederik Buss
                                schrieb am zuletzt editiert von
                                #36

                                @oliverio Ne, das Widget ist wieder gelöscht. Ich hatte aber über "Bild anzeigen" die Source angezeigt und gemerkt, dass dort manchmal NULL ankommt, manchmal das Richtige. War irgendwie nicht konsistent und komplett unterschiedlich zu den Inventwo Widgets, da kommt immer das Richtige an.

                                1 Antwort Letzte Antwort
                                0
                                • Frederik BussF Frederik Buss

                                  @jogibear9988 Wenn Du mit Anzeigewidget das img-src Widget meinst, dann geht das dort tatsächlich nicht. in den Inventwo Widgets geht es. Und nein, der vollständige Pfad ohne {} ist in keinem anderen Widget verwendet, zumindest teilweise. Die Lautstärken werden direkt angezeigt, da ist der Pfad jeweils bekannt. Aber bei den Play/Stop/Nächste Widgets sowie den favorites-set Widgets ist der nicht bekannt.

                                  jogibear9988J Offline
                                  jogibear9988J Offline
                                  jogibear9988
                                  schrieb am zuletzt editiert von
                                  #37

                                  Falls es jemand interessiert und es mal mit meiner "webui" testen möchte.
                                  Ich hab support dafür nun auch eingebaut, sieht in der bindings konfiguration dann so aus:

                                  dc3405bd-7221-4213-b8b6-6230bd3a8a70-image.png

                                  Check my ioBroker webui - a vis alternative
                                  see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  450

                                  Online

                                  32.4k

                                  Benutzer

                                  81.4k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe