Ich habe jetzt noch etwas herumprobiert und habe folgende "Lösung" zu dem Problem gefunden.
Der Sonoff-Adapter war bei mir so eingestellt, dass er nur auf die fest eingestellte IPv4-Adresse hört.
D. h. in den Einstellungen war bei dem Feld "IP-Adresse" Folgendes ausgewählt:
[IPv4] 192.168.1.161 - eth0
Testweise habe ich das umgestellt auf Folgendes:
[IPv4] 0.0.0.0 - Liste on all IPs
Als ich nun nach Änderung der Einstellung den RPI heruntergefahren, das Netzwerkkabel abgesteckt, den RPI wieder gestartet habe und dann nach ca. 15 Minuten das Netzwerkkabel wieder gesteckt habe, hat sich mein Sonoff-Gerät (Tasmota) nach wenigen Sekunden wieder via MQTT mit dem Adapter verbunden. Des Weiteren war auch die folgende Meldung im Log nicht mehr da:
Can not start Server Error: listen EADDRNOTAVAIL: address not available 192.168.1.161:1883
Meine Vermutung bzw. Theorie ist Folgende:
Beim Start des Adapters ist zwar die richtige Netzwerkverbindung nicht da, der Adapter kann sich aber auf der Schnittstelle 127.0.0.1 "aktivieren", da er ja nun auf allen IPv4-Schnittstellen hört bzw. aktiv ist. Zuerst war meine Vermutung zwar, dass auch nach Stecken des richtigen Netzwerkkabels die Verbindung über die richtige IPv4-Schnittstelle (192.168.1.161) nicht funktioniert, da er ja nur auf die Schnittstelle 127.0.0.1 hört, das hat jedoch sofort funktioniert. Also sieht es so aus, dass er beim Start des Adapters nur eine Schnittstelle benötigt (um sich zu aktivieren). Sobald die anderen Schnittstellen dann aktiv werden, hört er automatisch auch auf diese.
Jedoch ist die Frage, ob in den Adapter vielleicht nicht ein Mechanismus eingebaut werden sollte, dass wenn er direkt auf eine Schnittstelle eingestellt ist und diese beim Start des Adapters nicht zur Verfügung steht, dass er dann zyklisch (einstellbarer Wert in den Einstellungen des Adapters, Default-Wert könnte 300 Sekunden sein) versucht sich auf der gewählten Schnittstelle zu aktivieren.
@Wal Was hältst du davon?
@Wal Bzgl. deiner Antwort: Ich glaube du meinst mit deinem Kommentar die Einstellung "Client-Zeitüberschreitung", oder? Das hat mit meinem Thema ja meines Erachtens nichts zu tun. Bei mir geht es ja darum, dass der Adapter sich auf einer Netzwerkschnittstelle gar nicht aktiviert, wenn diese zum Zeitpunkt des Adapterstarts nicht zur Verfügung steht. Oder verstehe ich das falsch?