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. Skripten / Logik
  4. JavaScript
  5. "select" aus "defaultSendTo" befüllen - jsonConfig.json

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    703

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

"select" aus "defaultSendTo" befüllen - jsonConfig.json

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
5 Beiträge 2 Kommentatoren 428 Aufrufe 1 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.
  • jrbwhJ Online
    jrbwhJ Online
    jrbwh
    schrieb am zuletzt editiert von
    #1

    Ich habe ein Problem bei der Adapterentwicklung mit select-Feldern in jsonConfig.json und komme nicht weiter.

    Beim Start des Adapters wird eine Liste von Geräten mit zugehörigen Adressen per "defaultSendTo" an jsonConfig.json gesendet. Das funktioniert. Nun möchte ich die Geräte in einem "select" Feld zur Auswahl anbieten. Die jsonConfig.json sieht im Moment so aus:

                            {
                                "type": "select",
                                "attr": "select_dev",
                                "width": "10% ",
                                "title": "Select device",
                                "options": [{"label": "Device 1", "value": "0x680" },
                                            {"label": "Device 2", "value": "0x6A1" },
                                            {"label": "Device 3", "value": "0x6C0" }],
                                "default": "",
                                "newLine": false
                            },
                            {
                                "type": "staticText",
                                "attr": "dev_addr",
                                "width": "5% ",
                                "title": "Address",
                                "tooltip": "Device Address to send requests to.",
                                "text": "${data.select_dev}",
                                "newLine": false
                            },
    

    Das wird so dargestellt:
    00a40e16-9a8c-4488-8b15-45b8a543a185-image.png

    Jetzt sollen statt "Device 1" usw. die Geräte aus den "defaultSendTo" Daten erscheinen. Auch die Anzahl der Geräte kann sich natürlich ändern. Trotz viel Probierens ist es mir nicht gelungen, dynamische Daten irgendeiner Art in die select-Auswahl zu bekommen. Und die strukturierten Daten aus "defaultSendTo" schon gar nicht.

    Weiß jemand, wie das geht?

    T 1 Antwort Letzte Antwort
    0
    • jrbwhJ jrbwh

      Ich habe ein Problem bei der Adapterentwicklung mit select-Feldern in jsonConfig.json und komme nicht weiter.

      Beim Start des Adapters wird eine Liste von Geräten mit zugehörigen Adressen per "defaultSendTo" an jsonConfig.json gesendet. Das funktioniert. Nun möchte ich die Geräte in einem "select" Feld zur Auswahl anbieten. Die jsonConfig.json sieht im Moment so aus:

                              {
                                  "type": "select",
                                  "attr": "select_dev",
                                  "width": "10% ",
                                  "title": "Select device",
                                  "options": [{"label": "Device 1", "value": "0x680" },
                                              {"label": "Device 2", "value": "0x6A1" },
                                              {"label": "Device 3", "value": "0x6C0" }],
                                  "default": "",
                                  "newLine": false
                              },
                              {
                                  "type": "staticText",
                                  "attr": "dev_addr",
                                  "width": "5% ",
                                  "title": "Address",
                                  "tooltip": "Device Address to send requests to.",
                                  "text": "${data.select_dev}",
                                  "newLine": false
                              },
      

      Das wird so dargestellt:
      00a40e16-9a8c-4488-8b15-45b8a543a185-image.png

      Jetzt sollen statt "Device 1" usw. die Geräte aus den "defaultSendTo" Daten erscheinen. Auch die Anzahl der Geräte kann sich natürlich ändern. Trotz viel Probierens ist es mir nicht gelungen, dynamische Daten irgendeiner Art in die select-Auswahl zu bekommen. Und die strukturierten Daten aus "defaultSendTo" schon gar nicht.

      Weiß jemand, wie das geht?

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @jrbwh

      benutze selectSendTo

                          "type": "selectSendTo",
                          "command": "filterType",
                          "jsonData": "{ \"service\": \"dwdService\" }",
                          "manual": false,
                          "multiple": true,
                          "xs": 12,
                          "sm": 12,
                          "md": 8,
                          "lg": 4,
                          "label": "TypeFilter",
                          "tooltip": "TypeFilter",
                          "newLine": true
      

      wenn du im starter developer channel telegram bist, kannste auch einfach da fragen.

      https://www.iobroker.dev

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • jrbwhJ Online
        jrbwhJ Online
        jrbwh
        schrieb am zuletzt editiert von
        #3

        @ticaki Danke für die schnelle Rückmeldung. selectSendTo habe ich mir auch schon angeschaut, bin aber nicht klar gekommen. Ok, ich schaue es mir nochmal an, vielleicht platzt dann der Knoten.

        Bei telegram bin ich (noch) nicht. Die Anzahl der Informationskanäle ist echt ein bisschen unübersichtlich ;-)

        Schöne Grüße
        Jürgen

        T 1 Antwort Letzte Antwort
        0
        • jrbwhJ jrbwh

          @ticaki Danke für die schnelle Rückmeldung. selectSendTo habe ich mir auch schon angeschaut, bin aber nicht klar gekommen. Ok, ich schaue es mir nochmal an, vielleicht platzt dann der Knoten.

          Bei telegram bin ich (noch) nicht. Die Anzahl der Informationskanäle ist echt ein bisschen unübersichtlich ;-)

          Schöne Grüße
          Jürgen

          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von ticaki
          #4

          @jrbwh

          Jo, da bekommt am schnellsten die Richtung gezeigt ;) und dann darf man sich quer durch github lesen. Btw du kannst dir diesen demoadapter ansehen, der zeigt sehr viel:
          https://github.com/mcm1957/ioBroker.jsonconfig-demo

          Ich kenne mich recht gut mit der jsonconfig aus scheu dich nicht zu fragen.

          EDIT: zu dem obrigen jsonconfig.json teil stück gehört dieser Code in main. Na der ist zu kompliziert das hier passt:

                      case 'filterType': 
                              if (obj.callback) {
                                  const reply = [];
                                  const text = ['kein', 'leicht', 'mittel', 'schwer', 'extrem', 'gibts nicht'];
                                  for (const a in text) {
                                      if (Number(a) == 5) break;
                                      reply.push({
                                          label:  text[a as keyof typeof text],
                                          value: Number(a),
                                      });
                                  }
                                  //this.log.debug(obj.command + ': ' + JSON.stringify(reply));
                                  this.sendTo(obj.from, obj.command, reply, obj.callback);
                              }
                              break;
          

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          jrbwhJ 1 Antwort Letzte Antwort
          0
          • T ticaki

            @jrbwh

            Jo, da bekommt am schnellsten die Richtung gezeigt ;) und dann darf man sich quer durch github lesen. Btw du kannst dir diesen demoadapter ansehen, der zeigt sehr viel:
            https://github.com/mcm1957/ioBroker.jsonconfig-demo

            Ich kenne mich recht gut mit der jsonconfig aus scheu dich nicht zu fragen.

            EDIT: zu dem obrigen jsonconfig.json teil stück gehört dieser Code in main. Na der ist zu kompliziert das hier passt:

                        case 'filterType': 
                                if (obj.callback) {
                                    const reply = [];
                                    const text = ['kein', 'leicht', 'mittel', 'schwer', 'extrem', 'gibts nicht'];
                                    for (const a in text) {
                                        if (Number(a) == 5) break;
                                        reply.push({
                                            label:  text[a as keyof typeof text],
                                            value: Number(a),
                                        });
                                    }
                                    //this.log.debug(obj.command + ': ' + JSON.stringify(reply));
                                    this.sendTo(obj.from, obj.command, reply, obj.callback);
                                }
                                break;
            
            jrbwhJ Online
            jrbwhJ Online
            jrbwh
            schrieb am zuletzt editiert von
            #5

            @ticaki Klasse! Hab's jetzt geschafft, das Beispiel aus der Adapter-Doku (Serielle Ports abfragen und senden) nachzuvollziehen. Läuft nun in meiner Config.
            Jetzt muss ich es "nur noch" auf meine Device-Adresse umbauen.

            Herzlichen Dank für Deine Hilfe und Deine Infos. Brauche noch eine Weile, um alles zu verdauen. Dein Code-Beispiel habe ich noch nicht ganz verstanden, aber es ist auch schon spät ;-)

            Schöne Grüße
            Jürgen

            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

            648

            Online

            32.6k

            Benutzer

            82.0k

            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