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?
Vielleicht die falsche MQTT Version? Wobei Symcon wohl 3.1 können sollte:
http://www.symcon.de/service/dokumentation/modulreferenz/mqtt/geraeteliste/
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.
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)
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?
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?
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.
Vielen Dank, werde ich testen und berichten ob MQTT2_Client Besserung bringt :)
Thats it ;D
delete fhem_symcon;
define fhem_symcon MQTT2_CLIENT symcon.domain.net:1024;
attr fhem_symcon room System;
und alles ist gut