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.5k

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

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

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

    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 Offline
    bahnuhrB Offline
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      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 Offline
        bahnuhrB Offline
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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 Offline
          bahnuhrB Offline
          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 Offline
            bahnuhrB Offline
            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 Offline
                bahnuhrB Offline
                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 Offline
                    bahnuhrB Offline
                    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 Offline
                      bahnuhrB Offline
                      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 Offline
                          bahnuhrB Offline
                          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 Offline
                              bahnuhrB Offline
                              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 Offline
                                bahnuhrB Offline
                                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 Offline
                                      bahnuhrB Offline
                                      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 Offline
                                        bahnuhrB Offline
                                        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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          325

                                          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