MQTT2_CLIENT funktioniert mit SSL nicht mehr

Begonnen von betateilchen, 05 Februar 2022, 13:29:22

Vorheriges Thema - Nächstes Thema

betateilchen

Seit ein paar Tagen funktioniert die Verbindung von MQTT2_CLIENT zu einem externen mosquitto-Server per SSL nicht mehr.
Konfiguriere ich die Verbindung seitens FHEM auf "ohne SSL" klappt alles wieder problemlos.

Im Log findet sich:


2022.02.05 13:20:44 5: mqtt2_Test: discarding DISCONNECT (224)(0)
2022.02.05 13:20:44 5: mqtt2_Test: discarding DISCONNECT (224)(0)
2022.02.05 13:20:44 5: mqtt2_Test: discarding DISCONNECT (224)(0)
2022.02.05 13:20:45 5: mqtt2_Test: sending CONNECT (16)(27)(0)(6)MQIsdp(3)(130)(0)(30)(0)(8)fhemTest(0)(3)<UserName>
2022.02.05 13:20:45 5: DevIo_SimpleWrite mqtt2_Test: 101b00064d51497364700382001e00086668656d546573740003uuuuuu
2022.02.05 13:20:45 1: <ServerName>:8883 reappeared (mqtt2_Test)
2022.02.05 13:20:45 5: mqtt2_Test: discarding DISCONNECT (224)(0)
2022.02.05 13:20:45 1: <ServerName>:8883 disconnected, waiting to reappear (mqtt2_Test)
2022.02.05 13:20:45 5: HttpUtils url=https://<ServerName>:8883/ NonBlocking via https
2022.02.05 13:20:45 4: IP: <ServerName> -> <IP-addresse des Servers>
2022.02.05 13:20:45 5: mqtt2_Test: sending CONNECT (16)&(0)(6)MQIsdp(3)(194)(0)(30)(0)(8)fhemTest(0)(3)<UserName>(0)(9)<Password>
2022.02.05 13:20:45 5: DevIo_SimpleWrite mqtt2_Test: 102600064d514973647003c2001e00086668656d546573740003uuuuuu0009pppppppppppppppppp
2022.02.05 13:20:45 1: <ServerName>:8883 reappeared (mqtt2_Test)
2022.02.05 13:20:45 1: <ServerName>:8883 disconnected, waiting to reappear (mqtt2_Test)
2022.02.05 13:20:45 5: HttpUtils url=https://<ServerName>:8883/ NonBlocking via https
2022.02.05 13:20:45 4: IP: <ServerName> -> <IP-addresse des Servers>
2022.02.05 13:20:46 5: mqtt2_Test: sending CONNECT (16)&(0)(6)MQIsdp(3)(194)(0)(30)(0)(8)fhemTest(0)(3)<UserName>(0)(9)<Password>
2022.02.05 13:20:46 5: DevIo_SimpleWrite mqtt2_Test: 102600064d514973647003c2001e00086668656d546573740003uuuuuu0009pppppppppppppppppp
2022.02.05 13:20:46 1: <ServerName>:8883 reappeared (mqtt2_Test)
2022.02.05 13:20:46 1: <ServerName>:8883 disconnected, waiting to reappear (mqtt2_Test)
2022.02.05 13:20:46 5: HttpUtils url=https://<ServerName>:8883/ NonBlocking via https
2022.02.05 13:20:46 4: IP: <ServerName> -> <IP-addresse des Servers>
2022.02.05 13:20:46 5: mqtt2_Test: sending CONNECT (16)&(0)(6)MQIsdp(3)(194)(0)(30)(0)(8)fhemTest(0)(3)<UserName>(0)(9)<Password>
2022.02.05 13:20:46 5: DevIo_SimpleWrite mqtt2_Test: 102600064d514973647003c2001e00086668656d546573740003uuuuuu0009pppppppppppppppppp
2022.02.05 13:20:46 1: <ServerName>:8883 reappeared (mqtt2_Test)
2022.02.05 13:20:46 1: <ServerName>:8883 disconnected, waiting to reappear (mqtt2_Test)



defmod mqtt2_Test MQTT2_CLIENT <ServerName>:8883
attr mqtt2_Test verbose 5
attr mqtt2_Test SSL 1
attr mqtt2_Test clientId fhemTest
attr mqtt2_Test username <UserName>
set mqtt2_Home password <Password>
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig


betateilchen

Die aktuellste Version.

Mit der HttpUtils.pm Version #25487 funktioniert alles super.

Den verlinkten Thread hatte ich mir vor dem Schreiben schon angeschaut.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Bei der verlinkten Umstellung wurde der Filedeskriptor auf Nonblocking gestellt, das hat DevIo_SimpleRead aber nicht richtig behandelt: wegen Protokoll-Overhead werden manchmal bei einer verschluesselten Verbindung keine Daten zurueckgeliefert, auch wenn select was zum Lesen gemeldet hat. Das hat DevIo_SimpleRead dann als Ende der Verbindung interpretiert.

Ich habe das gefixt, die Test-Verbindung zu mosquitto scheint zu funktionieren.

betateilchen

Danke für die Unterstützung.

Dann werde ich mal testen und berichten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Funktioniert seit zwei Stunden stabil.

Problem scheint gelöst zu sein. Danke.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!