Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Json in DP - als Dropdown in VIS

NEWS

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

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

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

Json in DP - als Dropdown in VIS

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
44 Beiträge 5 Kommentatoren 4.5k Aufrufe 7 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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        @OliverIO

        Konntest du schon Überlegungen anstellen ?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

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

          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @oliverio

                      Danke für deinen Einsatz.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #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 Antworten Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • T trojanhector

                                      @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 Offline
                                      OliverIOO Offline
                                      OliverIO
                                      schrieb am zuletzt editiert von OliverIO
                                      #31

                                      @trojanhector
                                      Für jedes dropdown muss eine andere selectid definiert werden
                                      Es reicht mydropdown einfach durch zu nummerieren

                                      Nachtrag, ah mehrere habebja alle den gleichen scope.
                                      Da müsste ich was umstellen. Aber Wahrscheinlichkeit nicht nicht vor Montag

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

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • OliverIOO OliverIO

                                        @trojanhector
                                        Für jedes dropdown muss eine andere selectid definiert werden
                                        Es reicht mydropdown einfach durch zu nummerieren

                                        Nachtrag, ah mehrere habebja alle den gleichen scope.
                                        Da müsste ich was umstellen. Aber Wahrscheinlichkeit nicht nicht vor Montag

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

                                        @oliverio

                                        das folgende template müsste nun bei beliebig vielen dropdowns funktionieren.
                                        jedes dropdown benötigt sein eigenes selectid. bitte nur buchstaben und zahlen dafür verwenden, da daraus ein individueller funktionsname gebildet wird

                                        <% 
                                            var selectid="mydropdown1"; 
                                            var dp_write = "0_userdata.0.test.test1";
                                        %>
                                        <script>
                                            let selectid="<%- selectid %>";
                                            let dp_write="<%- dp_write %>";
                                            
                                            function writeDP<%- selectid %>(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<%- selectid %>(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

                                        T M 2 Antworten Letzte Antwort
                                        0
                                        • OliverIOO OliverIO

                                          @oliverio

                                          das folgende template müsste nun bei beliebig vielen dropdowns funktionieren.
                                          jedes dropdown benötigt sein eigenes selectid. bitte nur buchstaben und zahlen dafür verwenden, da daraus ein individueller funktionsname gebildet wird

                                          <% 
                                              var selectid="mydropdown1"; 
                                              var dp_write = "0_userdata.0.test.test1";
                                          %>
                                          <script>
                                              let selectid="<%- selectid %>";
                                              let dp_write="<%- dp_write %>";
                                              
                                              function writeDP<%- selectid %>(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<%- selectid %>(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
                                          schrieb am zuletzt editiert von
                                          #33

                                          @oliverio
                                          Ich habe das neue Template getestet und es funktioniert wie gewünscht. Die verschiedenen Werte werden in den verschiedenen Datenpunkte richtig eingetragen. Vielen Dank dafür.
                                          Einen Punkt im Template verstehe ich nicht. Es gibt 2 x </style> hintereinander. Ich erkenne aber nur 1 x <style>. Ist das Absicht?
                                          Konntest Du auch schon was wegen dem css Style und der JsonListe mit id und Name herausfinden? Zum einen würde ich den Style gerne in den CSS-Tab packen und zum anderen nur die id speichern. Ich habe meine Datenpunkt im Commonteil die states entsprechen vorbelegt.
                                          "states": "0:Tag;1:Nacht;2:Schatten;3:TropenNacht;4:Party",

                                          OliverIOO 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

                                          515

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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