Hallo zusammen,
ich habe vor einiger Zeit von MQTT auf MQTT2 umgestellt und bin bis auf einige kleine fehlende Features (z.B. QOS) ziemlich zufrieden.
Nur verliert gelegentlich ein MQTT2_DEVICE seine Verbindung zum Rest der Welt. Das ist inzwichen 4mal vorgekommen.(sorry für die Leienhaften Aussagen ... die Zusammenhänge innerhalb der MQTT2 Welt sind mir noch etwas unklar)
Meine Umgebung:
MQTT2_DEVICE -> MQTT2_Client -> Mosquitto-Lokal
MQTT2_DEVICE(s)
- wurden alle automatisch angelegt
- betroffen sind sowohl fast unferänderte als auch umbenannte Geräte (um bestehende MQTT-Clients zu ersetzen)
- es kommen einfach keine Daten mehr am MQTT2_DEVICE an
- andere MQTT2_DEVICEs funktionieren weiterhin
- IODev ist "meinMQTT2Client"
- Gerätelisting ist angehängt
MQTT2_Client
- ist mit dem lokal installierten Mosquitto verbunden
- wird "Show MQTT traffic" aktiviert, ist eigehender Traffic für das "tote" MQTT2_DEVICE zu sehen
- Gerätelisting ist angehängt
Was wurde unternommen:
- Forum-Suche brachte nur wenige Treffer (z.B. https://forum.fhem.de/index.php?topic=140700.msg1333158#msg1333158 "CID muss weg aus der readingList!" ... ist bei mir nicht drin würde ich sagen)
- FHEM Neustart -> kein Erfolg
- IODev = meinMQTT2Client als Attribut gesetzt & FHEM Neustart -> kein Erfolg
- mit Verbose = 5 auf beiden Geräten habe ich nichts gefunden
- RAW-Konfig Sichern -> Gerät löschen -> wird automatisch neu angelegt -> RAW-Konfig wieder einspielen -> ERFOLG
Gern würde ich das Zusammenspiel von MQTT2_Client und MQTT2_Device verstehen und eine Lösung finden, ein "verlorenes" Gerät wieder neu zu "binden" ohne es zu löschen.
Ich hoffe hier kann mir jemand helfen...
Danke Dirk
GeräteListings:
meinMQTT2Client
Internals:
BUF 0�␂!fhem/sensors/WeMos_S17/tele/STATE{"Time":"2025-08-15T09:54:49","Uptime":"50T00:48:14","UptimeSec":4322894,"Heap":20,"SleepMode":"Dynamic","Sleep":25,"LoadAvg":39,"MqttCount":11,"POWER":"OFF","Wifi":{"AP":1,"SSId":"STV","BSSId":"00:1A:8C:9F:44:45","Channel":1,"Mode":"11n","RSSI":74,"Signal":-63,"LinkCount":1,"Downtime":"0T00:00:04"}}0�␁"fhem/sensors/WeMos_S17/tele/SENSOR{"Time":"2025-08-15T09:54:49","DS18B20":{"Id":"0316A18AECFF","Temperature":27.2},"TempUnit":"C"}0\&fhem/sensors/tasmota_ORBIS/tele/SENSOR{"Time":"2025-08-15T09:54:50","SML":{"curr_w":-107}}0\&fhem/sensors/tasmota_ORBIS/tele/SENSOR{"Time":"2025-08-15T09:54:51","SML":{"curr_w":-107}}0\&fhem/sensors/tasmota_ORBIS/tele/SENSOR{"Time":"2025-08-15T09:54:53","SML":{"curr_w":-103}}
Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
ClientsKeepOrder 1
DEF 127.0.0.1:1883
DeviceName 127.0.0.1:1883
FD 195
FUUID 60a41e64-f33f-cdbc-e86c-44848fb0aacec7e9
NAME meinMQTT2Client
NR 359
PARTIAL
STATE opened
TYPE MQTT2_CLIENT
WBCallback
clientId meinMQTT2Client
eventCount 369
lastMsgTime 1755244495.24859
nextOpenDelay 10
nrConnects 91
.attraggr:
.attrminint:
.clientArray:
MQTT2_DEVICE
MatchList:
1:MQTT2_DEVICE ^.
2:MQTT_GENERIC_BRIDGE ^.
READINGS:
2025-08-15 09:53:28 lastPublish fhem/sensors/tasmota_ORBIS/tmp/watt:-106
2025-08-15 09:41:22 state opened
Attributes:
autocreate complex
new_Tasmota_Refoss_POW10
Internals:
CID new_Tasmota_Refoss_POW10
DEF new_Tasmota_Refoss_POW10
FUUID 6807f845-f33f-cdbc-10ee-d5163ce60cee5f99
IODev meinMQTT2Client
NAME MQTT2_new_Tasmota_Refoss_POW10
NR 673
STATE aktuell: 0.0 W <br/>Tag: 0.00 Kw/h<br/>Gestern: 0.000 Kw/h
TYPE MQTT2_DEVICE
.DT:
DEVICETOPIC MQTT2_new_Tasmota_Refoss_POW10
.attreocr:
ENERGY_ApparentPower:5
.*
.attreour:
Button1_Action
.attrminint:
ENERGY_ApparentPower:600
ENERGY_.*:3600
.userReadings:
HASH(0x55a25463a2a0)
HASH(0x55a254639eb0)
HASH(0x55a254639ef8)
HASH(0x55a2546991d0)
HASH(0x55a2545eb3a8)
HASH(0x55a2545eb318)
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Channel_5 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
READINGS:
2025-06-11 15:59:34 ANALOG_Temperature 17.7
2025-04-23 21:52:25 BASE 1
2025-06-10 21:10:38 BootCount 13
2025-05-30 14:07:49 Button1_Action SINGLE
2025-04-23 21:52:25 DeviceName Tasmota_Refoss_POW10
2025-06-11 15:59:34 ENERGY_ApparentPower 0
2025-06-11 15:59:34 ENERGY_Current 0.000
2025-06-11 15:59:34 ENERGY_Factor 0.00
2025-06-11 15:59:34 ENERGY_Period 0
2025-06-11 15:59:34 ENERGY_Power 0
2025-06-11 15:59:34 ENERGY_ReactivePower 0
2025-06-11 15:59:34 ENERGY_Today 0.000
2025-06-11 15:59:34 ENERGY_Total 3.488
2025-06-11 15:59:34 ENERGY_TotalStartTime 2023-08-31T20:38:10
2025-06-11 15:59:34 ENERGY_Voltage 0
2025-06-11 15:59:34 ENERGY_Yesterday 0.000
2025-04-23 21:52:25 Emulation 0
2025-04-23 21:52:25 FLAG 0
2025-06-10 21:10:38 FallbackTopic cmnd/DVES_547829_fb/
2025-04-23 21:52:25 FriendlyName1 Tasmota_Refoss_POW10
2025-04-23 21:52:25 FriendlyName2
2025-04-23 21:52:25 FriendlyName3
2025-04-23 21:52:25 FriendlyName4
2025-04-23 21:52:25 FriendlyName5
2025-04-23 21:52:25 FriendlyName6
2025-04-23 21:52:25 FriendlyName7
2025-04-23 21:52:25 FriendlyName8
2025-04-23 21:52:25 GPIO_1 0
2025-04-23 21:52:25 GPIO_10 224
2025-04-23 21:52:25 GPIO_11 0
2025-04-23 21:52:25 GPIO_12 0
2025-04-23 21:52:25 GPIO_13 0
2025-04-23 21:52:25 GPIO_14 4736
2025-04-23 21:52:25 GPIO_2 0
2025-04-23 21:52:25 GPIO_3 0
2025-04-23 21:52:25 GPIO_4 3104
2025-04-23 21:52:25 GPIO_5 1
2025-04-23 21:52:25 GPIO_6 32
2025-04-23 21:52:25 GPIO_7 0
2025-04-23 21:52:25 GPIO_8 0
2025-04-23 21:52:25 GPIO_9 1
2025-06-10 21:10:38 GroupTopic fhem/sensors/tasmotas/cmnd/
2025-06-11 15:59:34 Heap 23
2025-06-10 21:10:38 Hostname Tasmota-Refoss-POW10-6185
2025-06-10 21:10:38 INFO1_Info1_FallbackTopic cmnd/DVES_547829_fb/
2025-06-10 21:10:38 INFO1_Info1_GroupTopic fhem/sensors/tasmotas/cmnd/
2025-06-10 21:10:38 INFO1_Info1_Module Refoss-P11
2025-06-10 21:10:38 INFO1_Info1_Version 14.6.0(release-tasmota-4M)
2025-06-10 21:10:38 INFO2_Info2_Hostname Tasmota-Refoss-POW10-6185
2025-06-10 21:10:38 INFO2_Info2_IPAddress 192.168.0.152
2025-06-10 21:10:38 INFO2_Info2_WebServerMode Admin
2025-06-10 21:10:38 INFO3_Info3_BootCount 13
2025-06-10 21:10:38 INFO3_Info3_RestartReason Power On
2025-08-14 17:59:26 IODev meinMQTT2Client
2025-06-10 21:10:38 IPAddress 192.168.0.152
2025-07-13 21:21:07 LWT Offline
2025-06-11 15:59:34 LoadAvg 19
2025-06-10 21:10:38 Module Refoss-P11
2025-06-11 15:59:34 MqttCount 23
2025-04-23 21:52:25 NAME Refoss-P11
2025-06-11 14:10:52 POWER
2025-05-17 14:31:18 POWER1 0
2025-06-11 15:22:34 Power 0
2025-06-10 21:10:38 RestartReason Power On
2025-04-23 21:52:25 SetOption128 off
2025-04-23 21:52:25 SetOption3 on
2025-06-11 15:59:34 Sleep 50
2025-06-11 15:59:34 SleepMode Dynamic
2025-06-11 15:59:34 TempUnit C
2025-06-11 15:59:34 Time 2025-06-11T15:59:33
2025-04-26 22:23:07 Timer10_Action 0
...
2025-04-26 22:23:07 Timer9_Window 0
2025-04-26 22:23:07 Timers on
2025-06-11 15:22:34 Today 0.000
2025-06-11 15:22:34 Total 3.488
2025-06-11 15:59:34 Uptime 0T18:49:14
2025-06-11 15:59:34 UptimeSec ???
2025-06-10 21:10:38 Version 14.6.0(release-tasmota-4M)
2025-04-23 21:52:25 WebPassword ****
2025-06-10 21:10:38 WebServerMode Admin
2025-06-11 15:59:34 Wifi_AP 2
2025-06-11 15:59:34 Wifi_BSSId 06:1A:8C:D0:E7:61
2025-06-11 15:59:34 Wifi_Channel 1
2025-06-11 15:59:34 Wifi_Downtime 0T00:00:17
2025-06-11 15:59:34 Wifi_LinkCount 1
2025-06-11 15:59:34 Wifi_Mode 11n
2025-06-11 15:59:34 Wifi_RSSI 46
2025-06-11 15:59:34 Wifi_SSId STV
2025-06-11 15:59:34 Wifi_Signal -77
2025-06-11 15:22:34 Yesterday 0.000
2025-07-18 10:26:54 activ inactive
2025-08-15 09:53:22 associatedWith mein_MQTT2_DEVICE_2
2025-07-18 10:26:54 state inactive
2025-05-30 14:07:49 tmp SINGLE
2025-06-11 15:59:34 uptime 67754
Attributes:
DbLogInclude POWER,POWER1,Power,Yesterday,Today,uptime,Total
IODev meinMQTT2Client
alias Refoss_POW10 - PflanzenAufzucht
event-min-interval ENERGY_ApparentPower:600,ENERGY_.*:3600
event-on-change-reading ENERGY_ApparentPower:5,.*
event-on-update-reading Button1_Action
icon measure_power
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 HSBColor:0 Color:0
model tasmota_basic_state_power1
readingList fhem/sensors/Tasmota_Refoss_POW10/tele/LWT:.* LWT
fhem/sensors/Tasmota_Refoss_POW10/tele/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/tele/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/tele/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ? json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/tele/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/stat/POWER1:.* state
fhem/sensors/Tasmota_Refoss_POW10/stat/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/cmnd/POWER1:.* POWER1
fhem/sensors/Tasmota_Refoss_POW10/cmnd/POWER:.* POWER
fhem/sensors/Tasmota_Refoss_POW10/stat/POWER2:.* POWER2
fhem/sensors/Tasmota_Refoss_POW10/stat/POWER3:.* POWER3
fhem/sensors/Tasmota_Refoss_POW10/tele/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/tele/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/tele/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
fhem/sensors/Tasmota_Refoss_POW10/stat/UPGRADE:.* { json2nameValue($EVENT, 'UPGRADE_', $JSONMAP) }
readingsWatcher 3600,???,UptimeSec
room 6.2_Strom,8.2_ESP,MQTT2_DEVICE
setList off:noArg fhem/sensors/Tasmota_Refoss_POW10/cmnd/POWER1 0
on:noArg fhem/sensors/Tasmota_Refoss_POW10/cmnd/POWER1 1
toggle:noArg fhem/sensors/Tasmota_Refoss_POW10/cmnd/POWER1 2
setStateList on off toggle
stateFormat {sprintf("aktuell: %.1f W <br/>Tag: %.2f Kw/h<br/>Gestern: %.3f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef))}
userReadings tmp:Button1_Action.* {
if(ReadingsVal("$NAME","Button1_action",0) eq "xxxDOUBLE" ) { fhem("set $NAME on-for-timer 3600") ; return "DOUBLE"} ;
if(ReadingsVal("$NAME","Button1_Action",0) eq "SINGLE" ) { return "SINGLE"} ;
if(ReadingsVal("$NAME","Button1_Action",0) eq "DOUBLE" ) { return "DOUBLE"} ;
if(ReadingsVal("$NAME","Button1_Action",0) eq "TRIPLE" ) { return "TRIPLE"} ;
return "keine Aktion erkannt";
},
uptime:UptimeSec:.* {ReadingsVal($NAME,"UptimeSec",0)},
Power:ENERGY_Power:.* {ReadingsVal($NAME,"ENERGY_Power",0)},
Today:ENERGY_Today:.* {ReadingsVal($NAME,"ENERGY_Today",0)},
Yesterday:ENERGY_Yesterday:.* {ReadingsVal($NAME,"ENERGY_Yesterday",0)},
Total:ENERGY_Total:.* {ReadingsVal($NAME,"ENERGY_Total",0)},
list TYPE=autocreate
Internals:
FUUID 5c44d122-f33f-ed2c-aadb-6087bfce32d48acd
NAME autocreate
NOTIFYDEV global
NR 40
NTFY_ORDER 50-autocreate
STATE active
TYPE autocreate
received:
SD_UT:
TC6861 97F_2:
1755244131.03334 1
1755244167.54018 1
Attributes:
disable 0
filelog ./log/%NAME-%Y.log
room 9.4_System -> Settings
BUF am IO sieht seltsam aus.
cmnd-Topics sollte man m.E. nicht abonnieren (Schleifengefahr!).
Ansonsten sollte das eigentlich klappen, wenn tatsächlich passende Topics kommen. Da das template anscheinend andere Topics (mit new_) gesehen hat, kann es sein, dass da mal was geändert wurde.
Unklar ist auch, ob mosquitto irgendwelche Alt-Daten gepuffert hatte (retain). Die kommen dann einmalig bei jeder neuen Verbindung....
ZitatBUF am IO sieht seltsam aus.
Finde ich auch.
Wenn bei Copy&Paste nichts schiefgegangen ist, dann kamen laut BUF Zeile zwei MQTT Publish Nachrichten, mit jeweils unerlaubter Nachrichtenlaenge (bei den Bytes 2-5 ist das oberste Bit jeweils gesetzt).
Eine kaputte Laenge sollte laut Programmcode zu einem Abbruch der Verbindung zu mosquitto fuehren, wobei BUF entfernt wird.
Damit haette man BUF aber uns nicht zeigen koennen. Doch ein Kopierfehler?
Ich wuerde testweise statt (mosquitto+MQTT2_CLIENT) den MQTT2_Server aktivieren.
Eine Fehlerquelle weniger.
Hallo,
Danke für eure Aufmerksamkeit.
Ich halte eine Copy&paste Fehler für unwahrscheinlich aber nicht ausgeschlossen, da der ganze Block incl. "Internals" als ganzes kopiert wurde.
Ich zwischenzeitlich war das Internal "BUF" mal ganz weg, jetzt ist es wieder da, aber leer.
Aktuell ist/bleibt es leer. Trotzdem funktioniert das Device noch immer nicht.
im Event-log erhalte ich Einträge, wie für andere (funktionierende) Geräte auch:
2025.08.16 10:24:22 4: meinMQTT2Client received PUBLISH
2025.08.16 10:24:22 5: meinMQTT2Client: received PUBLISH (0),fhem/sensors/Tasmota_Refoss_POW10/tele/STATE{"Time":"2025-08-16T10:24:22","Uptime":"6T01:32:11","UptimeSec":523931,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"off","Wifi":{"AP":2,"SSId":"STV","BSSId":"06:1A:8C:D0:E7:61","Channel":1,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:04"}}
2025.08.16 10:24:22 5: meinMQTT2Client: dispatch autocreate=complex\000meinMQTT2Client\000fhem/sensors/Tasmota_Refoss_POW10/tele/STATE\000{"Time":"2025-08-16T10:24:22","Uptime":"6T01:32:11","UptimeSec":523931,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"off","Wifi":{"AP":2,"SSId":"STV","BSSId":"06:1A:8C:D0:E7:61","Channel":1,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:04"}}
2025.08.16 10:24:22 4: meinMQTT2Client received PUBLISH
2025.08.16 10:24:22 5: meinMQTT2Client: received PUBLISH (0)-fhem/sensors/Tasmota_Refoss_POW10/tele/SENSOR{"Time":"2025-08-16T10:24:22","ANALOG":{"Temperature":21.7},"ENERGY":{"TotalStartTime":"2023-08-31T20:38:10","Total":3.488,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000},"TempUnit":"C"}
2025.08.16 10:24:22 5: meinMQTT2Client: dispatch autocreate=complex\000meinMQTT2Client\000fhem/sensors/Tasmota_Refoss_POW10/tele/SENSOR\000{"Time":"2025-08-16T10:24:22","ANALOG":{"Temperature":21.7},"ENERGY":{"TotalStartTime":"2023-08-31T20:38:10","Total":3.488,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000},"TempUnit":"C"}
2025.08.16 10:24:22 4: meinMQTT2Client received PUBLISH
2025.08.16 10:24:22 5: meinMQTT2Client: received PUBLISH (0)&fhem/sensors/tasmota_ORBIS/tele/SENSOR{"Time":"2025-08-16T10:24:22","SML":{"curr_w":335}}
2025.08.16 10:24:22 5: meinMQTT2Client: dispatch autocreate=complex\000meinMQTT2Client\000fhem/sensors/tasmota_ORBIS/tele/SENSOR\000{"Time":"2025-08-16T10:24:22","SML":{"curr_w":335}}
2025.08.16 10:24:24 5: meinMQTT2Client: sending PINGREQ (192)(0)
2025.08.16 10:24:24 4: meinMQTT2Client received PINGRESP
2025.08.16 10:24:24 5: meinMQTT2Client: received PINGRESP
Hallo,
ZitatIch wuerde testweise statt (mosquitto+MQTT2_CLIENT) den MQTT2_Server aktivieren.
Eine Fehlerquelle weniger.
- sudo systemctl stop mosquitto
- define <name> MQTT2_SERVER 1883
- ggf. Anmeldedaten anpassen (im Pow) oder am Server (https://fhem.de/commandref_modular.html#allowed) konfigurieren.
Verhält sich mit Verwendung des MQTT2_SERVER gleich?
Gruß Thomas
Zitatim Event-log erhalte ich Einträge, wie für andere (funktionierende) Geräte auch:
Werden in diesem Fall die Readings fuer new_Tasmota_Refoss_POW10 aktualisiert?
Wenn nein, dann funktioniert die Verbindung zwischen FHEM und mosquitto, und das Problem ist irgendwo zwischen MQTT2_CLIENT und MQTT2_DEVICE zu suchen.
Zitatsudo systemctl stop mosquitto
define <name> MQTT2_SERVER 1883
ggf. Anmeldedaten anpassen (im Pow) oder am Server konfigurieren.
Damit das Senden (von FHEM Richtung Tasmota) funktioniert, sollte man zusaetzlich
- entweder delete meinMQTT2Client
- oder attr meinMQTT2Client disable 1; attr new_Tasmota_Refoss_POW10 IODev <MQTT2_SERVER Instanz>
Zitat von: rudolfkoenig am 16 August 2025, 13:51:59Wenn nein, dann funktioniert die Verbindung zwischen FHEM und mosquitto, und das Problem ist irgendwo zwischen MQTT2_CLIENT und MQTT2_DEVICE zu suchen.
Genau so verhält es sich. POW10 wird nicht aktualisiert.
Wie "übergibt" der MQTT2_CLIENT an das MQTT2_DEVICE denn die Daten? Wo könnte ich da nachsehen?
Was würde beim "Neuanlegen" erstellt oder miteinander verbunden werden? Denn das MQTT2_DEVICE zu löschen und automatisch wieder neu anlegen zu lassen, behob das Problem ja bisher. Und die Verbindung ging ohne jegliches Zutun mitten am Tag verloren. Ich war zu der Zeit beim Kunden und sonst kommt da keiner dran.
Inzwischen bin ich etwas skeptisch, was MQTT2 betrifft, würde also ungern einfach so eine MQTT2 Komponente gegen eine andere tauschen, ohne die Ursache zu kennen.
Auch kommunizieren andere Komponenten direkt über mosquitto-MQTT miteinander. Den abzuschalten, ist also keine einfache Option.
Zitat von: dirk_69 am 16 August 2025, 19:01:51Den abzuschalten, ist also keine einfache Option.
Du kannst das problematische Gerät auch temporär umziehen und mosquitto und MQTT2_SERVER parallel laufen lassen. Musst den MQTT2_SERVER nur auf einen anderen Port legen und das problematische Device darauf konfigurieren.
Ansonsten benutze ich zum mitlesen des Traffics immer gerne MQTT Explorer (https://mqtt-explorer.com/). Vielleicht entdeckst du, wenn du damit mal dem Traffic lauscht, auch das Problem.
Ansonsten #2: Vielleicht lohnt es sich auch, in Tasmota unter Configuration -> Logging mal das Weblog-Level auf 4 More debug zu stellen oder das More debug-Log über Syslog zu übermitteln. Vielleicht ist da auch etwas hilfreiches drin, weshalb die Daten irgendwie falsch codiert (?) ankommen.
Ansonsten #3: Hast du mal ausprobiert:
- Das Tasmota-Gerät über Reset 5 (https://tasmota.github.io/docs/Commands/#management) zurückzusetzen,
- dann NICHT ein Backup wiederherzustellen, sondern nur die MQTT-Einstellungen einzugeben und
- schauen, ob sich was ändert?
Vielleicht ist da nämlich irgendwo im Flash etwas falsch abgespeichert.
Fürs Backup vor dem Reset und für das Wiederherstellen nach Ende des Tests eignet sich decode-config (https://github.com/tasmota/decode-config) ganz gut.
Die Server parallel laufen zu lassen, wäre eine Möglichkeit für einen Test.
Im MQTT Explorer sehe ich den Traffic des Gerätes.
Im MQTT2-Client übrigens auch ... also dort kommen die MQTT Daten schon mal an.
Ich habe die Probleme nicht nur mit Tasmota Geräten. (nur jetzt gerade mal)
Lösche ich das MQTT2-DEVICE, wird es bisher immer automatisch neu angelegt und alles ist wieder gut. Dass also vom Tasmota-Gerät etwas Fehlerhaftes kommt ... unwahrscheinlich.
Zitat von: dirk_69 am 16 August 2025, 20:45:21Im MQTT Explorer sehe ich den Traffic des Gerätes.
Im MQTT2-Client übrigens auch ... also dort kommen die MQTT Daten schon mal an.
Ok, und da ist auch nichts komisch kodiert à la
0�␂?
Zitat von: dirk_69 am 16 August 2025, 20:45:21Ich habe die Probleme nicht nur mit Tasmota Geräten. (nur jetzt gerade mal)
Ich verstehe noch nicht so ganz, du hattest ja geschrieben:
Zitat von: dirk_69 am 15 August 2025, 15:07:24Nur verliert gelegentlich ein MQTT2_DEVICE seine Verbindung zum Rest der Welt.
und
Zitat von: dirk_69 am 15 August 2025, 15:07:24andere MQTT2_DEVICEs funktionieren weiterhin
Dachte, dass es deshalb nur um das Tasmota_Refoss_POW10-Gerät geht. Oder senden zwischendurch alle Geräte nichts? Oder immer verschiedene?
Vielleicht gibt es unter den ganzen Geräten auch eines, das "korrupte" Daten an mosquitto sendet und damit alles kaputt macht. Insofern wäre der Test mit einem parallelen MQTT2_SERVER, ggfs. auch erstmal nur für einzelne Devices, vermutlich der beste nächste Problemlösungsschritt.
Weitere Fragen:
Reagieren die Geräte im Fehlerfall, d.h., wenn sie nichts mehr senden, trotzdem noch auf Kommandos, die du übermittelst? Wenn nein, mal versucht, das Kommando nicht aus FHEM heraus, sondern z.B. über den MQTT Explorer zu senden?
Hallo passibe,
ich habe verschiedene Geräte mit MQTT angebunden.
Tasmota, ESP-Easy, selbst mit Arduino-IDE gebautes und was aus HA geschriebenes. Die ersten beiden sind am meisten vertreten und diese sind auch bereits "ausgefallen".
Im ESP-EASY habe ich ein MQTT-Ping-Pong an FHEM vorbei laufen. Die ESP's rebooten, wenn die Verbindung verloren geht. Der Ping-Pong ging noch, als die Verbindung in FHEM verloren gegangen war. Mit dem MQTT-Explorer kann ich auch weiterhin das aktuell in MQTT2 verlorene Gerät schalten.
In MQTT-Explorer sehen die Daten gut aus (und es funktioniert ja auch nach Neuanlegen des Gerätes).
Das MQTT-Log des MQTT2-Client kann ich aktuell nicht lesen. Das bleibt über VPN komplett leer.
Die 4 "Verbindungsstörungen" verteilen sich etwa über die letzten 3 Monate.
Bei den ersten 3 habe ich mit Gerät löschen und neu anlegen lassen das Problem gelöst.
new_Tasmota_Refoss_POW10
2025-07-18 10:26:54 activ inactive
2025-08-15 09:53:22 associatedWith mein_MQTT2_DEVICE_2
2025-07-18 10:26:54 state inactive
state darf niemals inactive sein -> da das Device dann wirklich inactive ist quasi wie tot, hatte ich vor Jahren bereits bemängelt!
da hilft nur noch das Reading mit deletereading <device> state zu löschen