Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Shelly Adapter startet nicht mit COAP und IP-Aliasen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED Shelly Adapter startet nicht mit COAP und IP-Aliasen

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

      Systemdata Bitte Ausfüllen
      Hardwaresystem: Docker buanet/iobroker:latest, hostmode
      Node-Version: v10.19.0
      NPM-Version: 6.13.4
      Shelly Adapter: 3.1.6
      Betriebssystem: Debian 10

      Hallo,

      der Shelly-Adapter startet nicht in der COAP-Version, wenn auf einem Interface mindestens ein IP-Alias gesetzt ist. Per Default wird versucht auf allen IP-Interfacen ein Multicast-Listener aufzumachen. Ist ein IP-Alias gesetzt, wird versucht ein zusätzlicher Listener aufzumachen. Allerdings ist auf dem physikalischen Interface bereits ein Listener offen, was zu einer Exception führt und der Adapter nicht startet.

      lo: 127.0.0.1 => OK
      eth0: 10.0.0.1 => OK
      eth0.1: 10.0.0.2 => Exception EADDRINUSE
      

      Konsolen-Ausgabe manueller start:

      2020-03-15 22:45:38.031  - info: shelly.0 (1428) starting. Version 3.1.6 in /opt/iobroker/node_modules/iobroker.shelly, node: v10.19.0
      2020-03-15 22:45:38.083  - info: shelly.0 (1428) Starting Shelly adapter in CoAP modus.
      Exception: Error: addMembership EADDRINUSE/Error: addMembership EADDRINUSE
      addMembership EADDRINUSE
      Error: addMembership EADDRINUSE
          at Socket.addMembership (dgram.js:581:11)
          at /opt/iobroker/node_modules/coap/lib/server.js:234:26
          at Array.forEach (<anonymous>)
          at Socket.<anonymous> (/opt/iobroker/node_modules/coap/lib/server.js:233:44)
          at Object.onceWrapper (events.js:286:20)
          at Socket.emit (events.js:198:13)
          at startListening (dgram.js:128:10)
          at state.handle.lookup (dgram.js:249:7)
          at process._tickCallback (internal/process/next_tick.js:63:19)
      2020-03-15 22:45:38.110  - error: shelly.0 (1428) Exception: Error: addMembership EADDRINUSE
      2
      

      Dazu habe ich folgendes im Source-Code gefunden:

      In Datei "node_modules/coap/lib/server.js", Zeile 80 ist bereits vorgesehen, anstatt auf allen Interface einen Multicast-Listener aufzumachen, dies nur auf einem Interface zu tun. Hierzu müsste der Funktion CoAPServer zusätzlich ein Wert für options.multicastInterface übergeben werden.

      Soweit ich sehen kann erfolgt der Aufruf dieser Funktion in "node_modules/shelly-iot/index.js", Zeile 170:

             this.coapServer = coap.createServer({
                  multicastAddress: '224.0.1.187'
              });
      

      Hier gibt es momentan keine Möglichleit, eine Variable mit zu setzen oder zu übergeben. Könnte das nicht als Option in die COAP-Einstellungen des Adapters mit aufgenommen werden?

      Oder habe ich etwas übersehen?

      Grüße,
      Magnus

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

      Support us

      ioBroker
      Community Adapters
      Donate

      906
      Online

      31.9k
      Users

      80.1k
      Topics

      1.3m
      Posts

      coap eaddrinuse ip alias shelly
      1
      1
      391
      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