FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Simon74 am 02 November 2020, 22:46:08

Titel: MQTT - Header is invalid
Beitrag von: Simon74 am 02 November 2020, 22:46:08
Hallo, ich nutze FHEM mit MQTT Verbindung zu Symcon.
Alle einkommenden MQTT Meldungen von fhem werden dort nur mehr mit "Header is invalid" beantwortet.
Kann der Header überhaupt beeinflusst werden?

Titel: Antw:MQTT - Header is invalid
Beitrag von: xenos1984 am 02 November 2020, 22:59:35
Vielleicht die falsche MQTT Version? Wobei Symcon wohl 3.1 können sollte:

http://www.symcon.de/service/dokumentation/modulreferenz/mqtt/geraeteliste/
Titel: Antw:MQTT - Header is invalid
Beitrag von: rudolfkoenig am 03 November 2020, 09:03:39
MQTT2_CLIENT (und SERVER) unterstuetzt MQTT Version 3.1 und 3.1.1, version 3.1 ist die Voreinstellung, 3.1.1 kann man per Attribut aktivieren.
Das im Anhang abgebildete Header suggeriert, dass der MQTT Header statisch ist.
Das ist bei weiterm nicht der Fall, neben Version (s.o.) enthaelt er Benutzername, Passwort, LWT und diverse Flags, die theoretisch alle zum Ablehnen des Headers (bzw. der Verbindung) fuehren koennen.
Titel: Antw:MQTT - Header is invalid
Beitrag von: Simon74 am 03 November 2020, 19:04:02
Danke für Antworten

der Screenshot stammt von https://mqtt.org/mqtt-specification/
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Toc442180877

Ich selbst kann es nicht beurteilen, habe nur das Problem das die Kommunikation zwitschgen den Systemen nicht mehr funktioniert,
bzw. alles was von fhem kommt mit "Header is invalid" beantwortet wird. (Andere MQTT Clients (Shellys) funktionieren weiterhin am Symcon-MQTT-Server)


Titel: Antw:MQTT - Header is invalid
Beitrag von: rudolfkoenig am 03 November 2020, 19:10:13
Zitatder Screenshot stammt von https://mqtt.org/mqtt-specification/
Das will ich gar nicht in Rede stellen, aber die Spezifikation hoert damit nicht auf.

Schon mal mit version 3.1.1 versucht?
Titel: Antw:MQTT - Header is invalid
Beitrag von: Simon74 am 03 November 2020, 19:31:56
Nach durchlesen der Commandref sehe ich das die Version bei MQTT_Client eingestellt werden kann, jedoch sieht meine Konfiguration so aus (MQTT und Bridge?):
defmod mqttbridge MQTT_GENERIC_BRIDGE mqtt room=MQTT
attr mqttbridge IODev fhem_symcon
attr mqttbridge globalDefaults sub:qos=1 pub:qos=0 retain=1
attr mqttbridge globalPublish *:topic={"fhem/$device/$reading"}
attr mqttbridge room System

defmod fhem_symcon MQTT symcon.domain.net:1024
attr fhem_symcon last-will retain:1 FHEM/connection/status disconnected
attr fhem_symcon on-connect retain:1 {Log3("mqtt",3,"connected to MQTT server");;1} FHEM/connection/status connected
attr fhem_symcon on-disconnect retain:1 {Log3("mqtt",3,"disconnected from MQTT server");;1} FHEM/connection/status disconnected
attr fhem_symcon room System
attr fhem_symcon verbose 4


Vielleicht sind die Informationen wie ich das konfiguriert habe veraltet?
Titel: Antw:MQTT - Header is invalid
Beitrag von: rudolfkoenig am 03 November 2020, 19:48:05
Sorry, bei dem alten MQTT Modul kann ich nicht helfen, ich bin der MQTT2* Maintainer.
Ich empfehle auf MQTT2_CLIENT umzusteigen :), MQTT_GENERIC_BRIDGE versteht auch MQTT2.
Titel: Antw:MQTT - Header is invalid
Beitrag von: Simon74 am 03 November 2020, 21:21:33
Vielen Dank, werde ich testen und berichten ob MQTT2_Client Besserung bringt  :)
Titel: Antw:MQTT - Header is invalid
Beitrag von: Simon74 am 03 November 2020, 21:52:02
Thats it ;D

delete fhem_symcon;
define fhem_symcon MQTT2_CLIENT symcon.domain.net:1024;
attr fhem_symcon room System;


und alles ist gut