Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  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.8k

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

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

VIS - dynamische Object ID / Feldreferenz

Scheduled Pinned Locked Moved Visualisierung
vis
37 Posts 13 Posters 6.2k Views 13 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    Communicator
    wrote on last edited by
    #2

    @BBTown würde mich auch interessieren...

    1 Reply Last reply
    0
    • BBTownB BBTown

      Ich hätte da mal eine Frage zu den Feldern von Widgets.
      Ist es ggf. möglich den Eintrag - bspw. bei der "Object ID" - mit "Platzhaltern" oder "Variablen" zusammenzusetzen?

      Ein Beispiel:
      Sagen wir der "Name" eines Widgetelements lautet "admin"
      Der Eintrag in "Object ID" würde hierzu "system.adapter.admin.0.alive" lauten.

      Nun habe ich sehr viele dieser Elemente anzulegen und müßte ja überall sowohl den Namen als auch die Object ID ändern.

      Ich würde also gerne in der Object ID so etwas in der Art Eintragen können:

      • "system.adapter.%Name%.0.alive"
        oder
      • "system.adapter.%WidgetNr.Name%.0.alive"

      Somit soll also die "Object ID" den Wert eines Feldes (hier "Name") übernehmen.

      Ist so eine Referenz auf ein Widget-Feld denkbar/möglich?

      7dab1b26-a416-4272-ace4-4b09a5bf250e-grafik.png

      B Offline
      B Offline
      bungee71
      wrote on last edited by
      #3

      @BBTown
      Hallo, hast du schon eine Lösung gefunden ?

      ice987I BBTownB 2 Replies Last reply
      0
      • B bungee71

        @BBTown
        Hallo, hast du schon eine Lösung gefunden ?

        ice987I Offline
        ice987I Offline
        ice987
        wrote on last edited by ice987
        #4

        @bungee71
        @BBTown
        @Communicator

        geht das in die gewünschte Richtung?


        84BC0C73-442C-43A5-80CA-A123C13E632F.jpeg

        husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

        B BBTownB 2 Replies Last reply
        1
        • ice987I ice987

          @bungee71
          @BBTown
          @Communicator

          geht das in die gewünschte Richtung?


          84BC0C73-442C-43A5-80CA-A123C13E632F.jpeg

          B Offline
          B Offline
          bungee71
          wrote on last edited by
          #5

          @ice987
          Es geht darum Faceplate-technologie anzuwenden.
          z.B. habe ich mehrere dieser Instanzen welche immer die gleiche Struktur haben und möchte ein Grafikelement welches fest mit bestimmten Members (Datenpunkten) von z.B. "Current" verbunden ist. Somit kann ich das Grafikelement mehrfach einsetzen ohne jedesmal alle Objekt-ID zu bearbeiten, ich ändere nur den Pfad bzw. den Strukturnamen.
          Beispiel: "wetherunderground.0.forecast.current" wird an das Grafikelement übergeben. Alle Parameter innerhalb "current" sind bereits fest im Grafikelement verschaltet.

          Screenshot_20201224_115704.png

          1 Reply Last reply
          0
          • B bungee71

            @BBTown
            Hallo, hast du schon eine Lösung gefunden ?

            BBTownB Offline
            BBTownB Offline
            BBTown
            wrote on last edited by BBTown
            #6

            @bungee71 Moin und schöne Weihnachten.
            Nein, ich habe leider keine Lösung, da ich seinerzeit keine Antwort auf meine Anfrage bekam, ich selbst habe kein ausreichend tiefes Verständnis um anders als per Anfrage zu einer Lösung zu kommen :sunglasses:

            ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

            ice987I 1 Reply Last reply
            0
            • BBTownB BBTown

              @bungee71 Moin und schöne Weihnachten.
              Nein, ich habe leider keine Lösung, da ich seinerzeit keine Antwort auf meine Anfrage bekam, ich selbst habe kein ausreichend tiefes Verständnis um anders als per Anfrage zu einer Lösung zu kommen :sunglasses:

              ice987I Offline
              ice987I Offline
              ice987
              wrote on last edited by ice987
              #7

              @BBTown
              In welchem/n Widget/s möchtest du die Werte aus dem Ordner wetherunderground.0.forecast.current ausgeben?

              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

              1 Reply Last reply
              0
              • ice987I ice987

                @bungee71
                @BBTown
                @Communicator

                geht das in die gewünschte Richtung?


                84BC0C73-442C-43A5-80CA-A123C13E632F.jpeg

                BBTownB Offline
                BBTownB Offline
                BBTown
                wrote on last edited by
                #8

                @ice987 sagte in VIS - dynamische Object ID / Feldreferenz:

                @bungee71
                @BBTown
                @Communicator

                geht das in die gewünschte Richtung?


                84BC0C73-442C-43A5-80CA-A123C13E632F.jpeg

                Moin ice987,

                ja, so war mein seinerzeitiger Ansatz. Ich muss nur zugeben, dass dies ja bereits mehr als ein Jahr her ist, musste ich mich selbst erst einmal wieder reindenken.

                Und .... ich selbst habe mir seinerzeit manuell anders beholfen und die Anforderung selbst nicht mehr.
                Womöglich ist es ja dennoch ein interessanter Ansatz die eingegebenen Informationen ansprechen zu können.

                ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                ScroungerS 1 Reply Last reply
                0
                • BBTownB BBTown

                  @ice987 sagte in VIS - dynamische Object ID / Feldreferenz:

                  @bungee71
                  @BBTown
                  @Communicator

                  geht das in die gewünschte Richtung?


                  84BC0C73-442C-43A5-80CA-A123C13E632F.jpeg

                  Moin ice987,

                  ja, so war mein seinerzeitiger Ansatz. Ich muss nur zugeben, dass dies ja bereits mehr als ein Jahr her ist, musste ich mich selbst erst einmal wieder reindenken.

                  Und .... ich selbst habe mir seinerzeit manuell anders beholfen und die Anforderung selbst nicht mehr.
                  Womöglich ist es ja dennoch ein interessanter Ansatz die eingegebenen Informationen ansprechen zu können.

                  ScroungerS Offline
                  ScroungerS Offline
                  Scrounger
                  Developer
                  wrote on last edited by
                  #9

                  @BBTown

                  Das kannst du mithilfe von Bindings realisieren.

                  anbei ein kleines Beispiel:
                  12c478c6-dd4d-4381-a8a9-864c85d1b2cb-grafik.png

                  Das Binding in der Objekt Id musst dann so gestaltet sein 0_userdata.0.binding.{0_userdata.0.binding.variable}

                  Ergebnis:
                  variable.gif

                  <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                  <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                  1 Reply Last reply
                  0
                  • MeinzIsAsM Offline
                    MeinzIsAsM Offline
                    MeinzIsAs
                    wrote on last edited by MeinzIsAs
                    #10

                    @Scrounger
                    Ich würde das Thema gerne noch einmal aufgreifen.
                    Ich möchte eine Objekt ID dynamisch realisieren.
                    Das Ganze sieht zur Zeit so aus:
                    javascript.0.Allgemeine_Programme.Stromverbrauch.Waschmaschine.{javascript.0.Allgemeine_Programme.Stromverbrauch.Aktuelles_Jahr}.Jahresverbrauch

                    In der Variable javascript.0.Allgemeine_Programme.Stromverbrauch.Aktuelles_Jahr steht das aktuelle Jahr in diesem Fall 2021.
                    Es wird mir aber kein Wert angezeigt (Material Design - Bar Chart von Scrounger).

                    Rufe ich die Variable javascript.0.Allgemeine_Programme.Stromverbrauch.Waschmaschine.2021.Jahresverbrauch in einem anderen Feld des Charts (z.B.: im Layout des Datensatzes als Beschriftung) direkt auf, wird auch der Wert im Chart richtig angezeigt.

                    Es sieht so aus, als ob die zusammengestellte Variable nur richtig gelesen wird, wenn das "Original" einmal direkt aufgerufen wird.

                    Vielleicht hat jemand von Euch eine Lösung für mich.

                    Besten Dank schon mal.

                    mrFenyxM 1 Reply Last reply
                    0
                    • C Offline
                      C Offline
                      cromit
                      wrote on last edited by
                      #11

                      @meinzisas
                      Hallo,
                      ich bin auch auf der Suche, dynamische Objekt IDs zu erzeugen.
                      z.T. hatte das schon funktioniert, z.B. um Icons abhängig von einer Variable auszuwählen:
                      siehe hier, so funktioniert es z.B. für die variablen WetterIcons mit Sonne und Wolken:
                      /vis.0/Wetter/Wolken/{daswetter.0.NextDays.Location_1.Day_2.Wetter_Symbol_id}.png
                      In {} steht im Prinzip einfach nur eine Zahl/Text und die entsprechenden Icons liegen im Ordner /vis.0/Wetter/Wolken/...

                      Nun möchte ich dies für diese statische Object ID ebenfalls anwenden und daswetter.0 durch daswetter.1 ersetzen:
                      daswetter.0.NextDays.Location_1.Day_1.Maximale_Temperatur_value

                      Versuche ich das aber hiermit, funktioniert es nicht (in "0_userdata.0.Variablen.WetterOrt" steht eine Zahl oder Zeichenkette)!?
                      daswetter.{0_userdata.0.Variablen.WetterOrt}.NextDays.Location_1.Day_1.Maximale_Temperatur_value
                      Also ich ersetze die 0 in diesem String durch eine Variable (Zahl oder Zeichenkette).

                      Ich habe von daswetter mehrere Instanzen
                      und möchte nun einfach zwischen verschiedenen Orten umschalten.

                      Aber leider leider funktioniert das nicht.
                      Nur, wenn ich manuell im Editor in der Object ID von .0. auf .1. wechsle, dann funktioniert es natürlich.

                      2309d0dd-008c-4247-ae76-4d5149f7a3b5-grafik.png
                      In diesem Fall steht "Grötzingen" für "daswetter.0.NextDays..."
                      Unter "daswetter.1.NextDays..." würden die Daten für einen anderen Ort angezeigt werden.
                      Aber ich will das im Editor ja nicht ständig für alle Objekte ändern.

                      1 Reply Last reply
                      0
                      • MeinzIsAsM MeinzIsAs

                        @Scrounger
                        Ich würde das Thema gerne noch einmal aufgreifen.
                        Ich möchte eine Objekt ID dynamisch realisieren.
                        Das Ganze sieht zur Zeit so aus:
                        javascript.0.Allgemeine_Programme.Stromverbrauch.Waschmaschine.{javascript.0.Allgemeine_Programme.Stromverbrauch.Aktuelles_Jahr}.Jahresverbrauch

                        In der Variable javascript.0.Allgemeine_Programme.Stromverbrauch.Aktuelles_Jahr steht das aktuelle Jahr in diesem Fall 2021.
                        Es wird mir aber kein Wert angezeigt (Material Design - Bar Chart von Scrounger).

                        Rufe ich die Variable javascript.0.Allgemeine_Programme.Stromverbrauch.Waschmaschine.2021.Jahresverbrauch in einem anderen Feld des Charts (z.B.: im Layout des Datensatzes als Beschriftung) direkt auf, wird auch der Wert im Chart richtig angezeigt.

                        Es sieht so aus, als ob die zusammengestellte Variable nur richtig gelesen wird, wenn das "Original" einmal direkt aufgerufen wird.

                        Vielleicht hat jemand von Euch eine Lösung für mich.

                        Besten Dank schon mal.

                        mrFenyxM Offline
                        mrFenyxM Offline
                        mrFenyx
                        wrote on last edited by
                        #12

                        Ich kann das bestätigen, was @MeinzIsAs sagt. Gibt es hierfür vielleicht eine Lösung?

                        OliverIOO 1 Reply Last reply
                        0
                        • mrFenyxM mrFenyx

                          Ich kann das bestätigen, was @MeinzIsAs sagt. Gibt es hierfür vielleicht eine Lösung?

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by
                          #13

                          @mrfenyx
                          nein gibt es leider nicht.
                          das hängt damit zusammen wie vis mit den bindings umgeht.
                          vis sammelt bei start einmal alle objectIDs ein und abonniert diese beim server.
                          alles was da nicht bekannt ist, kennt vis nicht.

                          man kann allerdings selber einen datenpunkt abrufen. allerdings muss man sich dann um das regelmäßige abholen und aktualisieren dann selber kümmern.

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

                          mrFenyxM 1 Reply Last reply
                          0
                          • OliverIOO OliverIO

                            @mrfenyx
                            nein gibt es leider nicht.
                            das hängt damit zusammen wie vis mit den bindings umgeht.
                            vis sammelt bei start einmal alle objectIDs ein und abonniert diese beim server.
                            alles was da nicht bekannt ist, kennt vis nicht.

                            man kann allerdings selber einen datenpunkt abrufen. allerdings muss man sich dann um das regelmäßige abholen und aktualisieren dann selber kümmern.

                            mrFenyxM Offline
                            mrFenyxM Offline
                            mrFenyx
                            wrote on last edited by
                            #14

                            @oliverio ok, dann weiß ich bescheid und kann ein Workaround implementieren. Danke!

                            R 1 Reply Last reply
                            0
                            • mrFenyxM mrFenyx

                              @oliverio ok, dann weiß ich bescheid und kann ein Workaround implementieren. Danke!

                              R Offline
                              R Offline
                              RomN
                              wrote on last edited by
                              #15

                              @mrfenyx kannst du den Workaround erläutern? Ich bin da nicht so fit habe aber das selbe Problem.

                              mrFenyxM 1 Reply Last reply
                              0
                              • R RomN

                                @mrfenyx kannst du den Workaround erläutern? Ich bin da nicht so fit habe aber das selbe Problem.

                                mrFenyxM Offline
                                mrFenyxM Offline
                                mrFenyx
                                wrote on last edited by
                                #16

                                @romn sorry, ich weiß nicht mehr wofür ich das benutzen wollte aber ich denke, ich habe es letztendlich leider nicht geschafft und es gelassen :(

                                Frederik BussF 1 Reply Last reply
                                0
                                • mrFenyxM mrFenyx

                                  @romn sorry, ich weiß nicht mehr wofür ich das benutzen wollte aber ich denke, ich habe es letztendlich leider nicht geschafft und es gelassen :(

                                  Frederik BussF Offline
                                  Frederik BussF Offline
                                  Frederik Buss
                                  wrote on last edited by
                                  #17

                                  @mrfenyx @OliverIO Die Lösung ist von @Scrounger beschrieben: Bindings über erstellte Objekten realisieren. Ich habe das für meine Sonos Steuerung so umgesetzt:

                                  Ins Objekt 0_userdata.0.SonosAuswahl schreibt ein Auswahlbutton den Pfad (z.B. "alias.0.WohnEsszimmer.SonosWozi") als Wert (Zeichenkette) rein.
                                  Somit kann dann über einen Inventwo Switch z.B. die Lautstärke nur für den ausgewählten Speaker geändert werden. Die Objekt-ID sieht dann so aus: {0_userdata.0.SonosAuswahl}.VOLUME
                                  Das funktioniert sehr stabil mit den Inventwo Buttons, allerdings nicht mit dem img-src Element, warum auch immer. Das kann nicht damit zusammenhängen, wie vis mit bindings umgeht, da die Objekt-IDs beim Start bekannt sind - mit den Inventwo Buttons geht es auch wie gewünscht.
                                  Da ich auch das aktuelle Album Cover anzeigen möchte ist mein Workaround für jedes Gerät ein Element anzulegen und die Sichtbarkeit in Abhängigkeit vom Auswahl-Objekt zu steuern:
                                  Sichtbarkeit bei 0_userdata.0.SonosAuswahl == alias.0.WohnEsszimmer.SonosWozi

                                  HomoranH 1 Reply Last reply
                                  0
                                  • Frederik BussF Frederik Buss

                                    @mrfenyx @OliverIO Die Lösung ist von @Scrounger beschrieben: Bindings über erstellte Objekten realisieren. Ich habe das für meine Sonos Steuerung so umgesetzt:

                                    Ins Objekt 0_userdata.0.SonosAuswahl schreibt ein Auswahlbutton den Pfad (z.B. "alias.0.WohnEsszimmer.SonosWozi") als Wert (Zeichenkette) rein.
                                    Somit kann dann über einen Inventwo Switch z.B. die Lautstärke nur für den ausgewählten Speaker geändert werden. Die Objekt-ID sieht dann so aus: {0_userdata.0.SonosAuswahl}.VOLUME
                                    Das funktioniert sehr stabil mit den Inventwo Buttons, allerdings nicht mit dem img-src Element, warum auch immer. Das kann nicht damit zusammenhängen, wie vis mit bindings umgeht, da die Objekt-IDs beim Start bekannt sind - mit den Inventwo Buttons geht es auch wie gewünscht.
                                    Da ich auch das aktuelle Album Cover anzeigen möchte ist mein Workaround für jedes Gerät ein Element anzulegen und die Sichtbarkeit in Abhängigkeit vom Auswahl-Objekt zu steuern:
                                    Sichtbarkeit bei 0_userdata.0.SonosAuswahl == alias.0.WohnEsszimmer.SonosWozi

                                    HomoranH Do not disturb
                                    HomoranH Do not disturb
                                    Homoran
                                    Global Moderator Administrators
                                    wrote on last edited by Homoran
                                    #18

                                    @frederik-buss ääähm?
                                    die referenzierten user haben vor einem, bzw. vor einem halben Jahr gepostet.
                                    Die zitierte Lösung ist schon fast 3 Jahre alt.

                                    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 -

                                    Frederik BussF 1 Reply Last reply
                                    0
                                    • HomoranH Homoran

                                      @frederik-buss ääähm?
                                      die referenzierten user haben vor einem, bzw. vor einem halben Jahr gepostet.
                                      Die zitierte Lösung ist schon fast 3 Jahre alt.

                                      Frederik BussF Offline
                                      Frederik BussF Offline
                                      Frederik Buss
                                      wrote on last edited by
                                      #19

                                      @homoran Ist mir bewusst, ich habe nur genau für diesen Fall eine Lösung gesucht und nur diesen Thread gefunden. Ich dachte dass meine Lösung vielleicht jemandem hilft. War vielleicht mit den Zitaten etwas ungeschickt geschrieben.

                                      OliverIOO 1 Reply Last reply
                                      0
                                      • Frederik BussF Frederik Buss

                                        @homoran Ist mir bewusst, ich habe nur genau für diesen Fall eine Lösung gesucht und nur diesen Thread gefunden. Ich dachte dass meine Lösung vielleicht jemandem hilft. War vielleicht mit den Zitaten etwas ungeschickt geschrieben.

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        wrote on last edited by
                                        #20

                                        @frederik-buss

                                        Alternativ legt man die widgets für alle Player an, legt sie übereinander und regelt die Sichtbarkeit des richtigen widgets dann über einen anderen Regler.

                                        Wie man es macht, ist es immer ein wenig umständlich und führt, bei Änderung zu mehrfachpflegeaufwand.

                                        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 Reply Last reply
                                        0
                                        • OliverIOO OliverIO

                                          @frederik-buss

                                          Alternativ legt man die widgets für alle Player an, legt sie übereinander und regelt die Sichtbarkeit des richtigen widgets dann über einen anderen Regler.

                                          Wie man es macht, ist es immer ein wenig umständlich und führt, bei Änderung zu mehrfachpflegeaufwand.

                                          Frederik BussF Offline
                                          Frederik BussF Offline
                                          Frederik Buss
                                          wrote on last edited by
                                          #21

                                          @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 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          637

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe