Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [gelöst] Adapter Instanzen auslesen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Adapter Instanzen auslesen

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

      Hi,

      gibt es eine Möglichkeit die vorhandenen Adapter Instanzen aus zu lesen?

      Bsp. Telegram.0….

      Telegram.1....

      Differenziert auf eben einen speziellen Adapter?

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Eh kannst du mehr Hintergrund geben für welches Ziel ?

        • welche installiert sind

        • welche ein Script getriggert hat

        Oder ?

        Sent from my iPhone using Tapatalk

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

          Also ich möchte in der Konfigoberfläche des Adapters (auf Userwunsch /Inspiration) hin, die Möglichkeit schaffen die Telegram - Nachrichten über eine bestimmte Instanz zu verschicken, die man dann dort eben in einem Dropdown oder Ähnlichem wählen kann. Sollte dies nicht gehen würde ich hier einfach ein weiteres Feld einpflegen in welchem man dann halt die Wunschinstanz eintragen muss.

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

            So als Inspiration, geht bestimmt auch eleganter/besser:

            //Adapter-Name zur Suche
            var suche = "telegram";
            
            function logger (v) {
                   if (getObject(v).type == 'instance') log(v.replace("system.adapter.",""));
            }
            
            var xid = getIdByName(suche);
            try {
                   xid.forEach(logger);
            } catch (err)  { log('nix da'); }
            
            1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 last edited by

              Äähhhmm … "Konfigurationsoberfläche eines Adapters"? Dann solltes es ins Forum "Entwickler" und nicht Skripten weil du willst es ja nicht in JavaScript-Adapter haben sondern im Adapter!! Das geht da gaaanz anders.

              Adapter-Style kannst Du mal in anderen Adaptern schauen die sowas haben: Beispiel: https://github.com/ioBroker/ioBroker.hm ... .html#L145

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

                Ups, my fault.

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

                  kein Problem 🙂

                  Wie Du im Beispiel soehst hat das "Admin-JavaScript" schon methoden für die Abfrage von Instanzen von Adaptern die man nutzen kann.

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

                    @apollon77:

                    Beispiel: https://github.com/ioBroker/ioBroker.hm … .html#L145 `

                    Erstmal danke für den Link, nur irgendwie will das bei mir nicht ganz so funktionieren.

                    Ich verwende:````
                    getAdapterInstances('telegram', function (arr) {
                    instances = arr;
                    fillInstances('Telegram_instanz', arr, settings['Telegram_instanz']);
                    });

                    Um die Instanzen aus zu lesen (Das sollte passten da ich im erstellten Select zwei Auswahl Optionen bekomme)
                    
                    Dann mache ich so weiter:
                    ```
                    `function fillInstances(id, arr, val) {
                    		var $sel = $('#' + id);
                    		$sel.html('<option value="">' + _('none') + '</option>');
                    		var _id;
                    		for (var i = 0; i < arr.length; i++) {
                    //			if (!arr[i].native) continue;
                    			_id = arr[i] //.native; 
                    			$sel.append('<option value="' + _id + '" '/+/((_id="==" val)/?/selected'/:/'')="">' + _id + '</option>');
                    		}
                    		$sel.select();
                         }`
                    
                    Das Select wird erstellt mit (keins/[Object Object]/[Object Object]), mir fehlt es wahrscheinlich schlicht und ergreiffend an Wissen um zu verstehen warum er hier Objekte ausgiebt bzw. wie ich diese "auflösen" kann, um eben dann die Instanzennummer zu bekommen.
                    
                    Es wäre toll wenn mir hier jemand helfen kann und noch besser mir versucht zu erklären wo der Verständnisfehler liegt. Denn das Problem sitzt vor dem Gerät :lol:[/i][/i]
                    ```
                    1 Reply Last reply Reply Quote 0
                    • Peoples
                      Peoples last edited by

                      Habs gefunden, hatte folgende Zeile vergessen:

                       `var _id = arr[i]._id.replace('system.adapter.', '');` [/i]
                      
                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        ;-))

                        Bitte auf gelöst setzen. Danke.

                        Gesendet vom Handy …

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        633
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        931
                        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