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. Json in DP - als Dropdown in VIS

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Json in DP - als Dropdown in VIS

Scheduled Pinned Locked Moved Visualisierung
vis
44 Posts 5 Posters 4.6k Views 7 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.
  • OliverIOO OliverIO

    @bahnuhr

    oben noch den datenpunktnamen eintragen wohin geschrieben werden soll

    <script>
        var dp_write="0_userdata.0.test2";
        function writeDP(el) {
            if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
        }
    </script>
    <style>
    #mydropdown {
        color:green;
    }
    </style>
    <select id="mydropdown" name="mydropdown" size="1" onchange="javascript:writeDP(this)" >
    <% for (var i = 0; i<data.length;i++) { %>
      <option><%- data[i] %></option>
    <% } %>
    </select>
    

    zur Erläuterung.
    Wir definieren eine eigene Funktion writeDP, die für uns das schreiben des Datenpunkts übernimmt.

    Zusätzlich definieren wir für das Select-Element den trigger onChange, der immer dann aufgerufen wird, wenn sich die Auswahl in der Liste ändert.

    Sobald das Ereignis eintritt wird die Funktion writeDP aufgerufen und als Parameter wird eine Referenz auf das HTMLElement (Hier select) übergeben.

    Im Selectelement ist im Property selectedOptions eine Liste aller ausgewählter Elemente gespeichert. Wir nehmen hier immer das erste und entnehmen dort den angezeigten Text über das Property text

    el.selectedOptions[0].text
    

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedOptions
    https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement

    bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    wrote on last edited by bahnuhr
    #11

    @oliverio
    Danke klappt super.

    Jetzt hab ich noch ne Besonderheit.
    Durch dein script "writeDP(el)" wird ja der andere DP geändert.

    Jetzt wird der andere DP aber durch andere JS auch geändert.
    Soll heißen: Der Wert des anderen DP ändert sich nicht nur durch dein Widget sondern durch andere Scripte

    Frage:
    Kann man einbauen:
    Wenn sich der Wert des "anderen DP" durch ein anderes Script ändert, dass dann der Focus bei dem Widget ebenfalls wieder auf den gleichen Wert zeigt.
    Oder ist das zu viel des Guten.

    War das verständlich ?


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    OliverIOO 1 Reply Last reply
    0
    • bahnuhrB bahnuhr

      @oliverio
      Danke klappt super.

      Jetzt hab ich noch ne Besonderheit.
      Durch dein script "writeDP(el)" wird ja der andere DP geändert.

      Jetzt wird der andere DP aber durch andere JS auch geändert.
      Soll heißen: Der Wert des anderen DP ändert sich nicht nur durch dein Widget sondern durch andere Scripte

      Frage:
      Kann man einbauen:
      Wenn sich der Wert des "anderen DP" durch ein anderes Script ändert, dass dann der Focus bei dem Widget ebenfalls wieder auf den gleichen Wert zeigt.
      Oder ist das zu viel des Guten.

      War das verständlich ?

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

      @bahnuhr

      ja hab ich verstanden. muss da etwas überlegen.
      hab gerade was ausprobiert was leider nicht so funktioniert.
      problem ist, das das abonnieren (also der vorgang, das man über die änderungen informiert wird) von datenpunkten unter der haube von vis nicht ganz so simple ist, daher wollte ich über ein hilfswidget dort die änderung mit browser mitteln abfangen. leider löst die änderung aber nicht das richtige event aus.
      muss mal nochmal in ruhe schauen. kann aber noch ein paar tage dauern, da ich nächste woche nicht da bin um was auszuprobieren

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

      bahnuhrB 2 Replies Last reply
      1
      • OliverIOO OliverIO

        @bahnuhr

        ja hab ich verstanden. muss da etwas überlegen.
        hab gerade was ausprobiert was leider nicht so funktioniert.
        problem ist, das das abonnieren (also der vorgang, das man über die änderungen informiert wird) von datenpunkten unter der haube von vis nicht ganz so simple ist, daher wollte ich über ein hilfswidget dort die änderung mit browser mitteln abfangen. leider löst die änderung aber nicht das richtige event aus.
        muss mal nochmal in ruhe schauen. kann aber noch ein paar tage dauern, da ich nächste woche nicht da bin um was auszuprobieren

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #13

        @oliverio

        Danke trotzdem schon einmal, dass du dir Gedanken machst.
        Nur keine Eile.


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Reply Last reply
        0
        • OliverIOO OliverIO

          @bahnuhr

          ja hab ich verstanden. muss da etwas überlegen.
          hab gerade was ausprobiert was leider nicht so funktioniert.
          problem ist, das das abonnieren (also der vorgang, das man über die änderungen informiert wird) von datenpunkten unter der haube von vis nicht ganz so simple ist, daher wollte ich über ein hilfswidget dort die änderung mit browser mitteln abfangen. leider löst die änderung aber nicht das richtige event aus.
          muss mal nochmal in ruhe schauen. kann aber noch ein paar tage dauern, da ich nächste woche nicht da bin um was auszuprobieren

          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          wrote on last edited by bahnuhr
          #14

          @oliverio

          Ne andere Idee.
          Könnte man per JS den aktivierten Wert des Widget ändern.

          </style>
          <select id="mydropdown" name="mydropdown" size="1" onchange="javascript:writeDP(this)" >
          <% for (var i = 0; i<data.length;i++) { %>
            <option><%- data[i] %></option>
          <% } %>
          </select>
          

          Also in diesem Abschnitt den Wert "data[i]" per JS setzen.

          Dann müsste ich nur die Scripte ändern.


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Reply Last reply
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            wrote on last edited by
            #15

            @OliverIO

            Konntest du schon Überlegungen anstellen ?


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            OliverIOO 1 Reply Last reply
            0
            • bahnuhrB bahnuhr

              @OliverIO

              Konntest du schon Überlegungen anstellen ?

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

              @bahnuhr
              Erst nächste Woche, sind übers lange Wochenende weg gefahren

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

              bahnuhrB 1 Reply Last reply
              0
              • OliverIOO OliverIO

                @bahnuhr
                Erst nächste Woche, sind übers lange Wochenende weg gefahren

                bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                wrote on last edited by
                #17

                @oliverio sagte in Json in DP - als Dropdown in VIS:

                @bahnuhr
                Erst nächste Woche, sind übers lange Wochenende weg gefahren

                Danke für die Info.
                Schönes Wo.ende.


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                OliverIOO 1 Reply Last reply
                0
                • bahnuhrB bahnuhr

                  Hallo,

                  ich habe folgendes json in einem DP:

                  [
                    "07.06.2022 um 20:43:06.jpg",
                    "07.06.2022 um 20:42:50.jpg",
                    "07.06.2022 um 20:41:05.jpg",
                    "07.06.2022 um 18:06:32.jpg",
                    "06.06.2022 um 19:23:25.jpg",
                    "06.06.2022 um 19:14:28.jpg",
                    "06.06.2022 um 15:52:54.jpg",
                    "06.06.2022 um 15:38:36.jpg",
                    "06.06.2022 um 14:58:27.jpg",
                    "test4.jpg",
                    "test3.jpg",
                    "test2.jpg"
                  ]
                  

                  Nun möchte die einzelnen Werte per dropdown in einem widget auswählen können.
                  Und dann idealerweise die Auswahl in einem anderen DP schreiben (das würde ich aber auch per script machen)

                  Gibt es so ein widget ?

                  mfg
                  Dieter

                  F Offline
                  F Offline
                  fabian.krauss
                  wrote on last edited by
                  #18

                  @bahnuhr

                  Hi ich bin mir nicht sicher ob diese Widgets genau das können was du suchst, aber ich weiß das man bei dem Material design widgets viel mit JSON machen kann. Schau es dir mal an :) https://github.com/Scrounger/ioBroker.vis-materialdesign

                  Ich hatte z.B. mal per Skript eine JSON automatisch bauen lassen und in die State List geworfen:
                  c5996103-0be9-401d-a9e5-ca385c127a77-image.png

                  Vielleicht ist ja Input, Autoselect oder Select was für dich.

                  bahnuhrB 1 Reply Last reply
                  1
                  • F fabian.krauss

                    @bahnuhr

                    Hi ich bin mir nicht sicher ob diese Widgets genau das können was du suchst, aber ich weiß das man bei dem Material design widgets viel mit JSON machen kann. Schau es dir mal an :) https://github.com/Scrounger/ioBroker.vis-materialdesign

                    Ich hatte z.B. mal per Skript eine JSON automatisch bauen lassen und in die State List geworfen:
                    c5996103-0be9-401d-a9e5-ca385c127a77-image.png

                    Vielleicht ist ja Input, Autoselect oder Select was für dich.

                    bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    wrote on last edited by
                    #19

                    @fabian-krauss

                    Danke für die Info.
                    Schau ich mir an.


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    1 Reply Last reply
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      wrote on last edited by
                      #20

                      @fabian-krauss

                      Kannst du mir da helfen. habe die mal installiert.
                      Aber im Moment weiß ich nicht wie ich da vorgehen soll.


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Reply Last reply
                      0
                      • bahnuhrB bahnuhr

                        @oliverio sagte in Json in DP - als Dropdown in VIS:

                        @bahnuhr
                        Erst nächste Woche, sind übers lange Wochenende weg gefahren

                        Danke für die Info.
                        Schönes Wo.ende.

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

                        @bahnuhr
                        muss mir hier eine entwickler umgebung für vis bauen.
                        dann kann ich ein drop down widget für vis bauen.

                        im json-template das zu bauen macht kein sinn.
                        wie gesagt das abonnieren von datenpunkten ist etwas aufwändig
                        und die automatismen von vis kann ich von dort aus nicht nutzen.

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

                        bahnuhrB 1 Reply Last reply
                        2
                        • OliverIOO OliverIO

                          @bahnuhr
                          muss mir hier eine entwickler umgebung für vis bauen.
                          dann kann ich ein drop down widget für vis bauen.

                          im json-template das zu bauen macht kein sinn.
                          wie gesagt das abonnieren von datenpunkten ist etwas aufwändig
                          und die automatismen von vis kann ich von dort aus nicht nutzen.

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          wrote on last edited by
                          #22

                          @oliverio

                          Danke für deinen Einsatz.


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          OliverIOO 1 Reply Last reply
                          0
                          • bahnuhrB bahnuhr

                            @oliverio

                            Danke für deinen Einsatz.

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

                            @bahnuhr

                            so, manchmal hat man tomaten auf den augen und weiß selber nicht mehr alle funktionen, die man mal implementiert hat.
                            es geht doch mit json_template und sogar sehr einfach.

                            1. das folgende template in json_template eintragen
                              und die werte in zeile 3 und ggfs auch zeile 2 anpassen.
                              zeile 2 nur dann wenn man mehrere dropdowns in einer view einsetzen möchte
                            <% 
                                var selectid="mydropdown"; 
                                var dp_write = "0_userdata.0.test2";
                            %>
                            <script>
                            debugger;
                                var selectid="<%- selectid %>";
                                var dp_write="<%- dp_write %>";
                                
                                function writeDP(el) {
                                    debugger;
                                    if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                }
                            
                            </script>
                            <style>
                            #mydropdown {
                                color:green;
                            }
                            </style>
                            </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                            <% debugger; %>
                            <% for (var i = 0; i<data.length;i++) { %>
                              <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                            <% } %>
                            </select>
                            

                            in json_oid den datenpunkt mit der liste an auswahlmöglichkeiten eintragen
                            3)
                            rss_dp[1] den detenpunkt eintragen, in der geschrieben werden soll. es muss der gleiche name sein, wie im template in zeile 3 eingetragen wurde.

                            fertig.

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

                            bahnuhrB 2 Replies Last reply
                            0
                            • OliverIOO OliverIO

                              @bahnuhr

                              so, manchmal hat man tomaten auf den augen und weiß selber nicht mehr alle funktionen, die man mal implementiert hat.
                              es geht doch mit json_template und sogar sehr einfach.

                              1. das folgende template in json_template eintragen
                                und die werte in zeile 3 und ggfs auch zeile 2 anpassen.
                                zeile 2 nur dann wenn man mehrere dropdowns in einer view einsetzen möchte
                              <% 
                                  var selectid="mydropdown"; 
                                  var dp_write = "0_userdata.0.test2";
                              %>
                              <script>
                              debugger;
                                  var selectid="<%- selectid %>";
                                  var dp_write="<%- dp_write %>";
                                  
                                  function writeDP(el) {
                                      debugger;
                                      if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                  }
                              
                              </script>
                              <style>
                              #mydropdown {
                                  color:green;
                              }
                              </style>
                              </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                              <% debugger; %>
                              <% for (var i = 0; i<data.length;i++) { %>
                                <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                              <% } %>
                              </select>
                              

                              in json_oid den datenpunkt mit der liste an auswahlmöglichkeiten eintragen
                              3)
                              rss_dp[1] den detenpunkt eintragen, in der geschrieben werden soll. es muss der gleiche name sein, wie im template in zeile 3 eingetragen wurde.

                              fertig.

                              bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              wrote on last edited by
                              #24

                              @oliverio
                              Danke für die schnelle Info.

                              Habe folgendes eingefügt:

                              <% 
                                  var selectid="mydropdown"; 
                                  var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                              %>
                              <script>
                              debugger;
                                  var selectid="<%- selectid %>";
                                  var dp_write="<%- dp_write %>";
                                  
                                  function writeDP(el) {
                                      debugger;
                                      if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                  }
                              
                              </script>
                              <style>
                              #mydropdown {
                                  color:rgb(255,255,255);
                                  background:black;
                                  font-size:22px;
                              }
                              </style>
                              </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                              <% debugger; %>
                              <% for (var i = 0; i<data.length;i++) { %>
                                <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                              <% } %>
                              </select>
                              

                              Das dropdown öffnet sich in run nicht.


                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              OliverIOO 1 Reply Last reply
                              0
                              • OliverIOO OliverIO

                                @bahnuhr

                                so, manchmal hat man tomaten auf den augen und weiß selber nicht mehr alle funktionen, die man mal implementiert hat.
                                es geht doch mit json_template und sogar sehr einfach.

                                1. das folgende template in json_template eintragen
                                  und die werte in zeile 3 und ggfs auch zeile 2 anpassen.
                                  zeile 2 nur dann wenn man mehrere dropdowns in einer view einsetzen möchte
                                <% 
                                    var selectid="mydropdown"; 
                                    var dp_write = "0_userdata.0.test2";
                                %>
                                <script>
                                debugger;
                                    var selectid="<%- selectid %>";
                                    var dp_write="<%- dp_write %>";
                                    
                                    function writeDP(el) {
                                        debugger;
                                        if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                    }
                                
                                </script>
                                <style>
                                #mydropdown {
                                    color:green;
                                }
                                </style>
                                </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                <% debugger; %>
                                <% for (var i = 0; i<data.length;i++) { %>
                                  <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                <% } %>
                                </select>
                                

                                in json_oid den datenpunkt mit der liste an auswahlmöglichkeiten eintragen
                                3)
                                rss_dp[1] den detenpunkt eintragen, in der geschrieben werden soll. es muss der gleiche name sein, wie im template in zeile 3 eingetragen wurde.

                                fertig.

                                bahnuhrB Online
                                bahnuhrB Online
                                bahnuhr
                                Forum Testing Most Active
                                wrote on last edited by
                                #25

                                @oliverio sagte in Json in DP - als Dropdown in VIS:

                                rss_dp[1]

                                Nachtrag.
                                Was bedeutet dieser DP.
                                Habe gesehen, dass man davon ja mehrere anlegen kann, mit: ...count


                                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                Danke.
                                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                ScreenToGif :https://www.screentogif.com/downloads.html

                                OliverIOO 1 Reply Last reply
                                0
                                • bahnuhrB bahnuhr

                                  @oliverio sagte in Json in DP - als Dropdown in VIS:

                                  rss_dp[1]

                                  Nachtrag.
                                  Was bedeutet dieser DP.
                                  Habe gesehen, dass man davon ja mehrere anlegen kann, mit: ...count

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

                                  @bahnuhr

                                  dadurch kannst noch weitere datenpunkte abonnieren.
                                  wenn sich einer der eingetragene datenpunkte ändert, werden die anweisungen im template erneut ausgeführt.

                                  innerhalb des templates kann der inhalt des datenpunkts über die variable dp[nameDesDatenpunkts] abgerufen werden.

                                  in der widget hilfe ist das beschrieben. widget markieren und in vis oben links neben der auswahlliste den I-Knopf drücken

                                  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 Reply Last reply
                                  1
                                  • bahnuhrB bahnuhr

                                    @oliverio
                                    Danke für die schnelle Info.

                                    Habe folgendes eingefügt:

                                    <% 
                                        var selectid="mydropdown"; 
                                        var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                                    %>
                                    <script>
                                    debugger;
                                        var selectid="<%- selectid %>";
                                        var dp_write="<%- dp_write %>";
                                        
                                        function writeDP(el) {
                                            debugger;
                                            if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                        }
                                    
                                    </script>
                                    <style>
                                    #mydropdown {
                                        color:rgb(255,255,255);
                                        background:black;
                                        font-size:22px;
                                    }
                                    </style>
                                    </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                    <% debugger; %>
                                    <% for (var i = 0; i<data.length;i++) { %>
                                      <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                    <% } %>
                                    </select>
                                    

                                    Das dropdown öffnet sich in run nicht.

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

                                    @bahnuhr
                                    ich habe es getestet. bei mir funktionierts.
                                    allerdings habe ich vergessen die debugger-anweisungen zu entfernen.
                                    wenn du gleichzeitig die developer console geöffnet hattest, dann stopt das skript an der stelle wo diese anweisung steht.
                                    hier habe ich es nun entfernt

                                    <% 
                                        var selectid="mydropdown"; 
                                        var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                                    %>
                                    <script>
                                    debugger;
                                        var selectid="<%- selectid %>";
                                        var dp_write="<%- dp_write %>";
                                        
                                        function writeDP(el) {
                                            if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                        }
                                    
                                    </script>
                                    <style>
                                    #mydropdown {
                                        color:rgb(255,255,255);
                                        background:black;
                                        font-size:22px;
                                    }
                                    </style>
                                    </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                    <% for (var i = 0; i<data.length;i++) { %>
                                      <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                    <% } %>
                                    </select>
                                    

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

                                    bahnuhrB T 3 Replies Last reply
                                    1
                                    • OliverIOO OliverIO

                                      @bahnuhr
                                      ich habe es getestet. bei mir funktionierts.
                                      allerdings habe ich vergessen die debugger-anweisungen zu entfernen.
                                      wenn du gleichzeitig die developer console geöffnet hattest, dann stopt das skript an der stelle wo diese anweisung steht.
                                      hier habe ich es nun entfernt

                                      <% 
                                          var selectid="mydropdown"; 
                                          var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                                      %>
                                      <script>
                                      debugger;
                                          var selectid="<%- selectid %>";
                                          var dp_write="<%- dp_write %>";
                                          
                                          function writeDP(el) {
                                              if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                          }
                                      
                                      </script>
                                      <style>
                                      #mydropdown {
                                          color:rgb(255,255,255);
                                          background:black;
                                          font-size:22px;
                                      }
                                      </style>
                                      </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                      <% for (var i = 0; i<data.length;i++) { %>
                                        <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                      <% } %>
                                      </select>
                                      
                                      bahnuhrB Online
                                      bahnuhrB Online
                                      bahnuhr
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #28

                                      @oliverio

                                      Oh mann,

                                      Problem war der z-index
                                      Jetzt geht dropdown auf.

                                      Ich teste es nun mal und geb Rückinfo.

                                      Danke vorab.


                                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                      Danke.
                                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                      ScreenToGif :https://www.screentogif.com/downloads.html

                                      1 Reply Last reply
                                      0
                                      • OliverIOO OliverIO

                                        @bahnuhr
                                        ich habe es getestet. bei mir funktionierts.
                                        allerdings habe ich vergessen die debugger-anweisungen zu entfernen.
                                        wenn du gleichzeitig die developer console geöffnet hattest, dann stopt das skript an der stelle wo diese anweisung steht.
                                        hier habe ich es nun entfernt

                                        <% 
                                            var selectid="mydropdown"; 
                                            var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                                        %>
                                        <script>
                                        debugger;
                                            var selectid="<%- selectid %>";
                                            var dp_write="<%- dp_write %>";
                                            
                                            function writeDP(el) {
                                                if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                            }
                                        
                                        </script>
                                        <style>
                                        #mydropdown {
                                            color:rgb(255,255,255);
                                            background:black;
                                            font-size:22px;
                                        }
                                        </style>
                                        </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                        <% for (var i = 0; i<data.length;i++) { %>
                                          <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                        <% } %>
                                        </select>
                                        
                                        bahnuhrB Online
                                        bahnuhrB Online
                                        bahnuhr
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #29

                                        @oliverio

                                        Super, funktioniert einwandfrei.
                                        Haste ein super widget entwickelt.

                                        mfg
                                        Dieter


                                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                        Danke.
                                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                        ScreenToGif :https://www.screentogif.com/downloads.html

                                        1 Reply Last reply
                                        1
                                        • OliverIOO OliverIO

                                          @bahnuhr
                                          ich habe es getestet. bei mir funktionierts.
                                          allerdings habe ich vergessen die debugger-anweisungen zu entfernen.
                                          wenn du gleichzeitig die developer console geöffnet hattest, dann stopt das skript an der stelle wo diese anweisung steht.
                                          hier habe ich es nun entfernt

                                          <% 
                                              var selectid="mydropdown"; 
                                              var dp_write = "javascript.0.Sonstige.Haustuer.Bild_vom";
                                          %>
                                          <script>
                                          debugger;
                                              var selectid="<%- selectid %>";
                                              var dp_write="<%- dp_write %>";
                                              
                                              function writeDP(el) {
                                                  if (el.selectedOptions[0].text) vis.setValue(dp_write,el.selectedOptions[0].text);
                                              }
                                          
                                          </script>
                                          <style>
                                          #mydropdown {
                                              color:rgb(255,255,255);
                                              background:black;
                                              font-size:22px;
                                          }
                                          </style>
                                          </style><select id="<%- selectid %>" name="<%- selectid %>" size="1" onchange="javascript:writeDP(this)" >
                                          <% for (var i = 0; i<data.length;i++) { %>
                                            <option <%- ((dp[dp_write]==data[i]) ? "selected":"") %>><%- data[i] %></option>
                                          <% } %>
                                          </select>
                                          
                                          T Offline
                                          T Offline
                                          trojanhector
                                          wrote on last edited by
                                          #30

                                          @oliverio
                                          Hallo,
                                          erstmal vielen Dank für das Widget. So etwas habe ich gesucht.
                                          Grundsätzlich funktioniert es bei mir. Jedoch nur als einzelnes Dropdown. Wenn ich mehrere DDs in einem VIS verwende wird immer ein anderes Widget mit verändert und auch der Wert im DP. Ich verwende 7 Dropdowns.
                                          Die Variablen selectid und dp_write sind überall unterschiedlich und auch rss_dp[1].

                                          Ein weiterer Punkt ist der <Style>. Den bei allen Dropdowns nachzuhalten ist ein bisschen müßig. Läßt sich das über den CSS-Tab regeln?

                                          Und zuletzt noch eine Frage der Datenherkunft und Speicherung.
                                          Ich habe eine Jsonliste mit id und name. Also klassisches Key-Value Paar. Angezeigt bekommen möchte ich den Value (das klappt auch), aber gespeichert werden soll der Key. Kann man das einstellen? Ich habe in der Hilfe zu den SelectedOptions den Punkt zu den SelectedIndex gelesen, aber das trifft es nicht. Ich möcht immer die Kontrolle über den Key haben.

                                          Beste Grüße
                                          Hector

                                          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

                                          737

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          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