Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. "select" aus "defaultSendTo" befüllen - jsonConfig.json

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • jrbwh
      jrbwh last edited by

      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 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @jrbwh last edited by ticaki

        @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

        1 Reply Last reply Reply Quote 0
        • jrbwh
          jrbwh last edited by

          @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 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @jrbwh last edited by 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;
            
            jrbwh 1 Reply Last reply Reply Quote 0
            • jrbwh
              jrbwh @ticaki last edited by

              @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 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              874
              Online

              31.6k
              Users

              79.5k
              Topics

              1.3m
              Posts

              javascript
              2
              5
              217
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo