Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Aufruf] Bitte discovery adapter testen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Aufruf] Bitte discovery adapter testen

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

      Habe mal geschaut, wie man das IKEA Gateway erkennen kann. Die App versucht anscheinend per Broadcast das Gateway zu finden, aber das funktioniert bei mir nicht.

      Eine Möglichkeit besteht darin, ein DTLS-Handshake-Paket per an das Gateway zu senden und die Antwort zu prüfen. Die Prüfung könnte ähnlich erfolgen wie beim KNX-Adapter.

      Ob das jetzt wirklich ein IKEA Gateway ist, erkennt man so leider nicht. Nur ob auf Port 5684 ein DTLS-fähiges Gerät lauscht.

      `// DTLSv1.2 client hello package:
      var request = [
        0x16, 0xfe, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00,
        0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x2c, 0xfe, 0xfd, 0xd3, 0xcb, 0xf8, 0x81, 0x1f,
        0x3b, 0x73, 0xfd, 0xc0, 0xce, 0xad, 0x87, 0xa7,
        0x7c, 0x09, 0x70, 0xde, 0xf2, 0xff, 0xa1, 0xe1,
        0x74, 0x97, 0x17, 0xd7, 0xd8, 0x50, 0xc6, 0x47,
        0xbb, 0x55, 0x2c, 0x00, 0x00, 0x00, 0x04, 0xc0,
        0xa8, 0x00, 0xae, 0x01, 0x00
      ];
      
      // Server answers with this package + some more stuff
      var expected = [
          0x16, 0xfe, 0xfd
      ];
      
      var server = dgram.createSocket('udp4');
      server.on('listening', function () {
          // send DTLS Client hello
          server.send(new Buffer(request), 0, request.length, 5684, ip, function(err, bytes) {
              if (err) throw err;
          });
      });
      
      server.on('message', function (message, remote) {
          let result = false;
          if (message.length >= expected.length) {
              result = true;
              for (let i = 0; i < expected.length; i++)
                  result = result && (message[i] === expected[i]);
          }
      
          // TODO: Rückmeldung an Discovery-Adapter
      });
      
      server.bind();` 
      
      ---
      
      EDIT: Zusammen mit der MAC-Adresse könnte man sich relativ sicher sein, dass es ein IKEA-Gateway ist.
      
      Vorausgesetzt, libpcap-dev ist installiert, sowie das npm-Paket arpjs:
      `~~[code]~~var arp = require('arpjs');
      arp.send({
      	'op': 'request',
      	'dst_ip': '192.168.0.185'
      });
      arp.table(function(err, table){
      	log(JSON.stringify(table));
      	// TODO: Eintrag finden, in dem ip === dst_ip, mac auslesen
      });      
      [/code]`
      
      Wenn die MAC-Adresse beginnt mit b0:72:bf und die obige DTLS-Anfrage beantwortet wird, sollte es ein IKEA-Gateway sein.[/i][/i]
      
      1 Reply Last reply Reply Quote 0
      • M
        Marcolotti last edited by

        Hallo,

        man könnte z.B. Wechselrichter von SMA erkennen, die ersten 6 Stellen der MAC-Adresse sind 0040ad für z.B. SMA Regelsysteme GmbH. Prüfung auf Port 502 und ModBus-Abfrage auf 30053 (DeviceType).
        721_devicetype.jpg

        Wenn das funktionieren kann, dann würde ich mich bereit erklären die komplette lange Liste an möglichen Abfragen für jeden einzelnen Wechselrichter von SMA einzugeben.

        (Siehe Anhang)

        Oder eben 00:04:20 für Logitech (SlimDevices).

        Ist der Ansatz richtig?

        Gruß Marco

        1 Reply Last reply Reply Quote 0
        • K
          krissi last edited by

          Hi, könnte man da eventuell auch eine Sunny Webbox einbauen?

          @Marcolotti:

          Hallo, man könnte z.B. Wechselrichter von SMA erkennen… `

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

            Discovery soll das erkennen wo es Adapter gibt.

            Gibt es einen Adapter für SMA? Ode rbei SMA wäre es erkennung von Modbus und dann darüber ?!

            1 Reply Last reply Reply Quote 0
            • K
              krissi last edited by

              Ich lese die Webbox im Moment über Node-Red aus, über Modbus hat es nicht funktioniert. Ich habe jetzt aber auch nicht die Ahnung von Modbus. Ich habe versucht mir das über Beispiele zusammenzuklicken.

              1 Reply Last reply Reply Quote 0
              • M
                Marcolotti last edited by

                Hallo Apollon,

                in der Regel wenn man diese MAC Adresse der Firma SMA Regelsysteme GmbH vorfindet ist das Webbox Modul (ModBus-Modul) verbaut. Wenn dem so ist, kann der ModBus-Adapter ja installiert werden. Dieser könnte dann anhand der Gerätenummer gleich die passenden Werte voreinstellen. Diese ModBus-Templates (Voreinstellungen) würde ich sowieso für gut heißen. Ein kleiner "meine Einstellungen" an ioBroker senden würde die Datenbank mit Voreinstellungen recht zügig befüllen.

                Ist nur so eine Schnapsidee…bei mir läuft ModBus, ich brauch den Discovery-Adapter nicht. 😉

                Gruß Marco

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

                  Die iDee ist cool, packs mal ins Trello, das wäre Discobvery-v2 🙂

                  1 Reply Last reply Reply Quote 0
                  • K
                    krissi last edited by

                    Meinst Du das es auch über Modbus mit der Webbox gehen könnte?
                    @Marcolotti:

                    …bei mir läuft ModBus, ich brauch den Discovery-Adapter nicht. `

                    1 Reply Last reply Reply Quote 0
                    • M
                      Marcolotti last edited by

                      Schau mal im Anhang 😉

                      721_webbox-modbus-tb-de-19.pdf

                      1 Reply Last reply Reply Quote 0
                      • K
                        krissi last edited by

                        Das PDF kenn ich, damit kann ich aber mal so überhaupt nichts anfangen. Das war mein Eigenversuch. :roll: Hat aber wie gesagt nicht funktioniert.

                        @Marcolotti:

                        Schau mal im Anhang 😉

                        WEBBOX-MODBUS-TB-de-19.pdf `

                        Nur mal so, kann das sein das die Forumszeit eine Stunde hinterherhinkt? 😉

                        1 Reply Last reply Reply Quote 0
                        • M
                          Marcolotti last edited by

                          Am besten wir gehen in einen anderen Thread, damit der Discovery-Thread nicht so unübersichtlich wird.

                          1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer last edited by

                            @krissi:

                            Nur mal so, kann das sein das die Forumszeit eine Stunde hinterherhinkt? 😉 `
                            Hast du in den Benutzereinstellungen die richtige Zeitzone?

                            1 Reply Last reply Reply Quote 0
                            • K
                              krissi last edited by

                              @AlCalzone:

                              Hast du in den Benutzereinstellungen die richtige Zeitzone? `
                              Guten morgen :roll: da hätte ich auch mal selber drauf kommen können!!! Das war es. Danke.

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

                                @apollon77:

                                Die iDee ist cool, packs mal ins Trello, das wäre Discobvery-v2 🙂 `
                                Dafür braucht man kein DiscoV2. Man kann das schon jetzt lösen. Man muss nur wissen die MACs

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

                                  Mit "v2" wollte ich darauf hinaus das wir erstmal die Abdeckung der Adapter-Erkennung und Basis-Konfig haben sollten.

                                  Dann für einige Adapter (wie hier ModBus) eine "angeschlossene Device-Sonderkonfig" zu machen ist für mich gerade eher ein zweiter Schritt …

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

                                    @AlCalzone:

                                    Habe mal geschaut, wie man das IKEA Gateway erkennen kann. Die App versucht anscheinend per Broadcast das Gateway zu finden, aber das funktioniert bei mir nicht.

                                    Eine Möglichkeit besteht darin, ein DTLS-Handshake-Paket per an das Gateway zu senden und die Antwort zu prüfen. Die Prüfung könnte ähnlich erfolgen wie beim KNX-Adapter.

                                    Ob das jetzt wirklich ein IKEA Gateway ist, erkennt man so leider nicht. Nur ob auf Port 5684 ein DTLS-fähiges Gerät lauscht.

                                    `// DTLSv1.2 client hello package:
                                    var request = [
                                      0x16, 0xfe, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00,
                                      0x00, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00,
                                      0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                      0x2c, 0xfe, 0xfd, 0xd3, 0xcb, 0xf8, 0x81, 0x1f,
                                      0x3b, 0x73, 0xfd, 0xc0, 0xce, 0xad, 0x87, 0xa7,
                                      0x7c, 0x09, 0x70, 0xde, 0xf2, 0xff, 0xa1, 0xe1,
                                      0x74, 0x97, 0x17, 0xd7, 0xd8, 0x50, 0xc6, 0x47,
                                      0xbb, 0x55, 0x2c, 0x00, 0x00, 0x00, 0x04, 0xc0,
                                      0xa8, 0x00, 0xae, 0x01, 0x00
                                    ];
                                    
                                    // Server answers with this package + some more stuff
                                    var expected = [
                                        0x16, 0xfe, 0xfd
                                    ];
                                    
                                    var server = dgram.createSocket('udp4');
                                    server.on('listening', function () {
                                        // send DTLS Client hello
                                        server.send(new Buffer(request), 0, request.length, 5684, ip, function(err, bytes) {
                                            if (err) throw err;
                                        });
                                    });
                                    
                                    server.on('message', function (message, remote) {
                                        let result = false;
                                        if (message.length >= expected.length) {
                                            result = true;
                                            for (let i = 0; i < expected.length; i++)
                                                result = result && (message[i] === expected[i]);
                                        }
                                        
                                        // TODO: Rückmeldung an Discovery-Adapter
                                    });
                                    
                                    server.bind();` 
                                    
                                    ---
                                    
                                    EDIT: Zusammen mit der MAC-Adresse könnte man sich relativ sicher sein, dass es ein IKEA-Gateway ist.
                                    
                                    Vorausgesetzt, libpcap-dev ist installiert, sowie das npm-Paket arpjs:
                                    `~~[code]~~var arp = require('arpjs');
                                    arp.send({
                                    	'op': 'request',
                                    	'dst_ip': '192.168.0.185'
                                    });
                                    arp.table(function(err, table){
                                    	log(JSON.stringify(table));
                                    	// TODO: Eintrag finden, in dem ip === dst_ip, mac auslesen
                                    });      
                                    [/code]`
                                    
                                    Wenn die MAC-Adresse beginnt mit b0:72:bf und die obige DTLS-Anfrage beantwortet wird, sollte es ein IKEA-Gateway sein.
                                    Ich denke, dass MAC Prüfung ist überflüssig, weil dann alle Windows Installationen nicht dabei sind.[/i][/i]
                                    ``` ` 
                                    1 Reply Last reply Reply Quote 0
                                    • AlCalzone
                                      AlCalzone Developer last edited by

                                      Ja, ich denke auch nicht, dass es notwendig ist. Wäre dann aber die sicherere Option zur Identifikation.

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        badplay last edited by

                                        der Adapter bleibt bei meinem RPI3 stehen. Habe Jessie Pixel neuste Updates installiert. Dann ioBroker wie in den Dokumenten beschrieben installiert. Der Discovery Adapter bleibt leider stecken nachdem er mehrere Geräte gefunden , er zeigt noch 1 Service an doch da steht er nun mehrere Stunden

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

                                          Siehe anderer Thread: was sagt das log?

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          841
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          10
                                          48
                                          6816
                                          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