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.
  • M micklafisch

    @oliverio
    Hallo, ich habe auf der Suche nach der Möglichkeit für vis2 ein JSON in ein Dropdown zu verwandeln diese Möglichkeit hier gefunden (ich hoffe sie funktioniert trotz des Alters des Threads noch)

    Leider bekomme ich es mit 2 oder mehr Dropdowns nicht zum laufen obwohl ich die obige Version genommen habe welche mehrere Dropdowns unterstützen soll. Die noch neuere Version bezieht sich ja dann wieder auf die IDs und nicht auf den Text.

    Hier mein Aufbau. Aktuell reagiert in vis2 der Monat, aber nicht das Jahr:

    14f94f8b-3113-4c4e-b13d-0bfa47b8c2ca-image.png

    Hier die beiden Vorlagen:

    <% 
        var selectid="mydropdown10"; 
        var dp_write = "0_userdata.0.pv-dachansicht.auswahl_monat";
    %>
    <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>
    #mydropdown10 {
        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>
    
    <% 
        var selectid="mydropdown11"; 
        var dp_write = "0_userdata.0.pv-dachansicht.auswahl_jahr";
    %>
    <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>
    #mydropdown11 {
        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>
    

    Was übersehe ich hier? Ich hatte sogar schonmal komplett neue Select-IDs verwendet und bin in den 10er Bereich hoch.

    T Offline
    T Offline
    trojanhector
    schrieb am zuletzt editiert von
    #41

    @micklafisch said in Json in DP - als Dropdown in VIS:

    name

    Servus,
    soweit wie ich das an Deiner JSON Datenquelle erkennen kann, verwendest Du die reinen Werte. Geht grundsätzlich auch, dafür muss das hier aber umgeschrieben werden.
    Ich denke am schnellsten ist es, Du baust Dein JSON um. Du brauchst 2 Keys: id und name.
    id ist was gespeichert wird und name was angezeigt wird.
    Ungefähr so:

    [
      {
        "id": 0,
        "name": "Test_1"
      },
      {
        "id": 1,
        "name": "Test_2"
      },
      {
        "id": 2,
        "name": "Test_3"
      }
    ]
    

    Ich verwende beide Versionen und kann bestätigen, dass es in VIS-2 funktioniert.

    1 Antwort Letzte Antwort
    1
    • M micklafisch

      @oliverio
      Hallo, ich habe auf der Suche nach der Möglichkeit für vis2 ein JSON in ein Dropdown zu verwandeln diese Möglichkeit hier gefunden (ich hoffe sie funktioniert trotz des Alters des Threads noch)

      Leider bekomme ich es mit 2 oder mehr Dropdowns nicht zum laufen obwohl ich die obige Version genommen habe welche mehrere Dropdowns unterstützen soll. Die noch neuere Version bezieht sich ja dann wieder auf die IDs und nicht auf den Text.

      Hier mein Aufbau. Aktuell reagiert in vis2 der Monat, aber nicht das Jahr:

      14f94f8b-3113-4c4e-b13d-0bfa47b8c2ca-image.png

      Hier die beiden Vorlagen:

      <% 
          var selectid="mydropdown10"; 
          var dp_write = "0_userdata.0.pv-dachansicht.auswahl_monat";
      %>
      <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>
      #mydropdown10 {
          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>
      
      <% 
          var selectid="mydropdown11"; 
          var dp_write = "0_userdata.0.pv-dachansicht.auswahl_jahr";
      %>
      <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>
      #mydropdown11 {
          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>
      

      Was übersehe ich hier? Ich hatte sogar schonmal komplett neue Select-IDs verwendet und bin in den 10er Bereich hoch.

      T Offline
      T Offline
      trojanhector
      schrieb am zuletzt editiert von
      #42

      @micklafisch
      Eins noch...
      Du bist hier in einem alten Thread unterwegs.
      Es gibt eine neue Version für VIS-2 hier:
      Neue Version dropdown

      OliverIOO 1 Antwort Letzte Antwort
      0
      • T trojanhector

        @micklafisch
        Eins noch...
        Du bist hier in einem alten Thread unterwegs.
        Es gibt eine neue Version für VIS-2 hier:
        Neue Version dropdown

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

        @trojanhector @micklafisch

        ja genau, die neue version funktioniert in vis2
        wie das json aufgebaut ist ist egal, man muss halt dann das entsprechende template anpassen

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

        M 1 Antwort Letzte Antwort
        1
        • OliverIOO OliverIO

          @trojanhector @micklafisch

          ja genau, die neue version funktioniert in vis2
          wie das json aufgebaut ist ist egal, man muss halt dann das entsprechende template anpassen

          M Online
          M Online
          micklafisch
          schrieb am zuletzt editiert von
          #44

          @oliverio @trojanhector
          Danke euch beiden. Ich hatte den Thread über Google gefunden, mir war bewusst dass er älter ist, nur nicht dass es das Thema auch in "neuer" gibt.

          Da ich nicht mit IDs im JSON arbeiten will sondern nur die platten Werte habe, versuche ich jetzt mit dem neuen ein passendes Template zu basteln.

          Danke für den Schubs in die richtige Richtung.

          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

          811

          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