NEWS
UNSOLVED Shelly Adapter Exception: Error: addMembership EADDRINUSE
-
Hallo,
die shelly Instance auf meinem iobroker startet nicht mehr und bringt die Fehlermeldung "addMembership EADDRINUSE" sowohl über das log als auch beim manuellen Starten über die Commandozeile.
Habe das gerade gemerkt, weil sich die Lampe am shelly1 nicht mehr über einen KNX-Taster steuern lässt, was ich über ein script realisiert hatte.
Beim Recherchieren im Netz bin ich darauf gestoßen, dass es Probleme bei einer Netzwerk-Bridge geben soll. Da ich hier vor kurzem eine "br0" angelegt habe, und in diese eth0 und wlan0 integriere, um am Server unter raspbian gleich einen WLAN Accesspoint zu haben, könnte da ein Zusammenhang bestehen.
Kann das jemand bestätigen, dass der shelly an einer bridge nicht läuft? Andere Adapter funktionieren ja auch mit Bridge, so dass mir das unverständlich ist, warum gerade der shelly da ein Problem mit der Bridge hat.
Danke für Eure Hilfe, viele Grüße
Axel -
@axel-rathey , Da müsste ich das Shelly Logfile im Debug Modus sehen. Aber es kann gut sein, dass es mit dem Bridge Modus zusammenhängt, da
die Shelly Geräte die Statusänderungen per CoAP Nachrichten erhalten . CoAP nutzt Multicast (https://www.net.in.tum.de/fileadmin/TUM/NET/NET-2013-08-1/NET-2013-08-1_16.pdf). Wenn Deine Bridge mit Multicast nicht zurechtkommt, kann der Shelly Adapter nicht funktionieren.
Würde der Shelly Adapter auf CoAP verzichten, müsste man ständig den neuen Status aller Geräte per http pollen, da ja ioBroker nicht weiß wann sich ein Status eines der Shelly Geräte geändert hat. Das würde zu einer enormen Zeitverzögerung führen. Bsp. Du schaltest den Shelly 1/2 über Deinen Lichtschalter ein/aus. In ioBroker würdest Du die Änderungen aber erst 1 Sekunde später sehen. Häufigeres pollen geht nicht, da der kleine Shelly abschmiert.
Bei den Shelly HT und Shelly Smoke funtktioniert http überhaupt nicht, da diese sich im Sleep Modus befinden und einmal alle x Minuten/Stunden melden und per CoAP den Status senden und sich wieder schlafen legen.
Auch müsste man ohne CoAP jedes Shelly Geräte manuell in ioBroker integrieren.Schaue einmal ins Logfile ob der Shelly CoAP Nachrichten empfängt. Vielleicht ist es auch ein anderer Fehler.
-
@Stuebi
Hallo @Stuebi
hier das debug log der shelly-instance. Die shelly Instance ist danach rot, hat also keine Verbindung.shelly.0 2019-04-13 17:58:18.469 warn Exception: Error: addMembership EADDRINUSE shelly.0 2019-04-13 17:58:18.236 info Starting shelly.0 in version 2.1.9 shelly.0 2019-04-13 17:58:18.213 info starting. Version 2.1.9 in /opt/iobroker/node_modules/iobroker.shelly, node: v8.15.1
ip addr auf diesem raspi bring dann folgendes:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000 link/ether 1a:30:81:a9:93:37 brd ff:ff:ff:ff:ff:ff 3: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN group default link/ipip 0.0.0.0 brd 0.0.0.0 4: sit0: <NOARP> mtu 1480 qdisc noop state DOWN group default link/sit 0.0.0.0 brd 0.0.0.0 5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000 link/ether e0:76:d0:2c:84:ff brd ff:ff:ff:ff:ff:ff 6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 1a:30:81:a9:93:37 brd ff:ff:ff:ff:ff:ff inet 192.168.0.6/24 brd 192.168.0.255 scope global br0 inet 169.254.138.51/16 brd 169.254.255.255 scope global br0 inet6 fe80::1830:81ff:fea9:9337/64 scope link valid_lft forever preferred_lft forever
Was mich stuzig macht ist die IP 169.254.138.51 auf der bridge br0. Die habe ich nirgends angelegt. Wenn ich das richtig lese ist Multicast auch an.
Seit dem Anlegen der br0 brauchen winscp und putty aber auch deutlich länger, um sich zu verbinden.
Gruß Axel
-
@axel-rathey , ich bin überfragt, aber ich denke es liegt am Bridge Modus. Die Multicast Nachrichten kommen nicht durch.
-
@axel-rathey 169er IP Adressen deuten üblicherweise darauf hin, dass ein DHCP-Server nicht erreichbar ist und keine IP-Adresse zugeteilt werden konnte