MQTT über TLS macht probleme

Hallo zusammen,

ich benötige für mein OVMS Modul eine MQTT von außerhalb, da ich ungern meine Daten unverschlüsselt übertragen möchte, nutze ich TLS.

Im Prinzip funktioniert es auch, aber der Symcon Broker hängt sich hin und wieder auf. Es hilft manchmal ein de/aktivieren der Serverinstanz, aber manchmal muss ich auch symcon neustarten.

Ich vermute das der Broker Symconseitig abstürzt, da es nicht hilft die MQTT Verbindung OVMS-Seitig neu zu starten.

Das OVMS Gerät hat sowohl Wifi als auch ein LTE Modul. Bin ich zuhause, bucht es sich im Wifi ein, bin ich unterwegs, dann wird LTE genutzt (daher auch TLS).

Ich habe dabei beobachtet, das der Absturz meistens dann auftritt, wenn OVMS von LTE auf Wifi umstellt. Dummerweise kann ich weder im OVMS noch bei Symcon eine Fehlermeldung erkennen. Auch der Debugauszug sieht unauffällig aus.

Ich erkenne den Fehler praktisch nur, weil keine Daten mehr ankommen, schaue ich bei OVMS dann nach, sehe ich, das versucht wird, eine Verbindng aufzubauen und durch einen Timeout verhindert wird. Sobald ich die Instanz in Symcon neustarten (oder Symcon neustarte) läuft es anstandslos.

Schalte ich TLS aus, funktioniert alles sauber. Hat jemand eine Idee, wie ich dem Fehler auf die Spur kommen kann?

Viele Grüße

Wir hatten dieses Problem schon einmal und zwar immer beim TLS Handshake. Gibt es im Log irgendwelche Fehlermeldungen? Kannst du mir, wenn das Problem auftritt, per gdb einen Stacktrace für alle Threads erstellen? (Siehe: Debugging für Experten (Raspberry Pi, Linux, SymBox), Option B)

Gibt es im Log bei dir dann „Fehler beim Handshake“ Fehlermeldungen?

paresy

Hi,

danke, sehr guter tipp. Hab ich tatsächlich.

24.04.2023 12:44:20 | 29772 | WARNING | Server Socket        | Fehler beim Handshake: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt

ist auch gerade wieder aufgetreten. War aber bevor gdb gestartet war. Ich versuche es nachher mal zu forcieren.
gdb.txt (498,1 KB)

Viele Grüße

Hi,

so, da isses.
gdb.txt (649,6 KB)

Viele Grüße

Hi,

hier ist noch eins. Das passiert wenn ich die Serverinstanz vom MQTT öffnen möchte. Die Seite der Lokalen Konsole bleibt grau, das Haussymbol dreht und ab diesem Punkt muss ich symcon neustarten.

gdb.txt (800,9 KB)

Hi,

@paresy
Ich wollte mal vorsichtig nachfragen ob du mit den daten etwas anfangen konntest?

Viele grüsse

Hi,

@paresy
guckguck, ich muss da nochmal nachhaken, da derzeit meine Autos weiterhin ungeschützt Daten an Symcon schicken.

Viele Grüße

Potenzieller Fix kommt zum nächsten 7.0er Update. Freue mich auf dein Feedback!

paresy

Hi,

Klasse. Vielen dank

Viele Grüße

also bisher sieht das ganze recht gut aus. Es gab keine Hänger mehr. Perfekt.

Vielen Dank nochmal

1 „Gefällt mir“

Hi,
ich habe jetzt wieder vermehrt Probleme mit dem OVMS über MQTT. Daten kommen plötzlich einfach nicht mehr an, bis ich den MQTT Server neu starte.

Interessanterweise scheinen anderen MQTT Geräte weiterhin zu funktionieren. (nicht immer und noch nicht genau beobachtet, mir ist nur aufgefallen, das die MQTT Steckdosen dann manchmal rot blinken und manchmal nicht. )

Ich habe folgende Meldung im Statusprotokoll gefunden.

29.08.2024, 09:47:46 | MQTT Server          | Unsupported packet type 0, Buffer: 0300002F2AE00000000000436F6F6B69653A206D737473686173683D41646D696E697374720D0A0100080003000000

Gibts ne möglichkeit dieses unsupportet Packet irgendwie rauszufiltern, falls das die Ursache sein kann?

Gruss
Smudo

Welche version von ovms nutzt du? Nutzt du mein ovms modul? Im welchen intervallen sendest du und hast du ggf etwas beim senden eingeschränkt?

Ich habe seit monaten keinerlei probleme mehr damit. Ovms ist bei meinen beiden fahrzeugen jeweils die letzte edge.

Hallo Kris,
ich habe die Original Hardware aus England. Aktuelle Version ist:
3.3.004-14-gab50584a-dirty/ota_1/main (build idf v3.3.4-849-g6e214dc33 Mar 31 2024 11:12:58)
von Dimitrie.
Grund für diese Version war es, die Fernsteuerung der Standheizung zu testen. Diese hat tatsächlich sogar ein einziges mal reagiert, nämlich beim ersten Versuch. Da ist die Standheizung angesprungen, seit dem hat sie nie wieder reagiert.
Update Interval:

Ich hatte auch schon zum testen die Parameter auf ein Minimum eingeschränkt, was den Fehler seltener auftreten ließ (gefühlt) aber nicht den Fehler vermieden hat. Aktuell sende ich alle Parameter weil dort auch Daten dabei sind von denen ich gar nicht wusste das mein Smart diese Daten überhaupt hat, wie z.B. den Luftdruck auf den Reifen und auch andere Dinge die vorher noch nie funktionierten.

Ich hatte bis jetzt ca. 4 verschiedene Versionen installiert und immer Probleme mit dem MQTT gehabt. Mal mehr, mal weniger. Letzte Zeit hatte ich eigentlich sehr wenig bis keine Probleme mehr. Gefühlt fingen die Probleme kurz vor dem Update auf Symcon 7.2 wieder an, welches ich letzte Woche gemacht habe. Wie gesagt hatte ich den ersten Aussetzer wieder kurz vor dem Update, daher vermute ich, dass es nicht direkt mit dem Update auf 7.2 zu tun hat.
Gerade vorhin wieder keinerlei Daten. Im Protokoll sehe ich jetzt:


Instanz 17689 ist der MQTT-Server.
Habe nichts gemacht, jetzt funktioniert es wieder.
Also irgendwie ein blöder Fehler.

Ach so, ja ich benutze dein OVMS Modul ich habe beide installiert OVMS und OVMS nativ. Ich glaube ich hatte aufgrund der Probleme schon vor langer Zeit auch das OVMS nativ installiert. Stören die sich vielleicht gegenseitig. Ich weiss gar nicht warum ich das nicht schon wieder gelöscht habe.

Gruß
Smudo