Hallo zusammen,
ich gebe es zu: MQTT ist etwas, bei dem ich wirklich große Verständnisprobleme habe. Das Prinzip mit internem und Externen Broker ist mir noch klar. Und irgendwie hat bisher auch immer die Einrichtung eines (FHEM internen) Brokers funktioniert. Doch wenn es um die Unterschiede MQTT und MQTT2 geht, hört es schon auf...
Kurzum: Problem lokalisiert, es befindet sich vor dem Bildschirm. Nun muss ich nur verstehen, was ich vergeigt habe.
Derzeit legt mein FHEM für jede Tasmota-Steckdose (z.B. Gosund SP111 mit Tasmota 8.1.0.2) die sich bei FHEM anmeldet einen neuen MQTT Server mit der jeweiligen IP des Tasmota-Devices im Namen (z.B. xxx.xxx.xxx.238) an. (siehe angehängte png)
Bisher kannte ich das nicht so, sondern hatte eben nur einen MQTT Server und mehrere Clienten. Habe ich etwas falsch eingestellt? Oder hätte das bevor ich mein FHEM diese Woche neu aufgesetzt habe auch so sein müssen?
Dazu kommt immer mal wieder eine Fehlermeldung in meinem Logfile:
2021.02.19 16:41:44 3: MQTT2_FHEM_Server: MQTT2_FHEM_Server_192.168.178.238_55402/DVES_53A57A left us (keepalive check)
2021.02.19 16:41:44 3: MQTT2_FHEM_Server: MQTT2_FHEM_Server_192.168.178.239_56382/DVES_419CC7 left us (keepalive check)
Schalten lassen sich die Dosen vor als auch nach dem Keepalive check. Doch wüsste ich gerne, was hier im argen liegt und würde gerne eine halbwegs fehlerfreie Instanz mein eigen nennen. Daher bin ich auf Eure Hilfe angewiesen.
Hier die Readings meines (eigentlichen) MQTT Servers
Internals:
CONNECTS 9
Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
ClientsKeepOrder 1
DEF 1883 global
FD 7
FUUID 6027cdf8-f33f-dc36-7a2d-6da3296d0e9aa6e7
NAME MQTT2_FHEM_Server
NR 15
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
MatchList:
1:MQTT2_DEVICE ^.
2:MQTT_GENERIC_BRIDGE ^.
READINGS:
2021-02-19 16:57:13 RETAIN {"Keller/Werkstatt/tele/AnetE10/LWT":"Online","tele/DVES_01C291/LWT":"Online","tele/DVES_53A57A/LWT":"Online"}
2021-02-18 14:32:18 lastPublish Keller/Werkstatt/cmnd/AnetE10/Backlog:StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1
2021-02-19 16:57:13 nrclients 3
2021-02-19 13:51:57 state Initialized
clients:
MQTT2_FHEM_Server_192.168.178.236_55866 1
MQTT2_FHEM_Server_192.168.178.238_64303 1
MQTT2_FHEM_Server_192.168.178.239_50469 1
retain:
Keller/Werkstatt/tele/AnetE10/LWT:
ts 1613749305.23151
val Online
tele/DVES_01C291/LWT:
ts 1613739154.4597
val Online
tele/DVES_53A57A/LWT:
ts 1613750233.01857
val Online
Attributes:
autocreate simple
und die Readings eines der neu automatisch angelegten Server:
Internals:
BUF
FD 27
NAME MQTT2_FHEM_Server_192.168.178.236_55866
NR 109
PEER 192.168.178.236
PORT 55866
SNAME MQTT2_FHEM_Server
SSL
STATE Connected
TEMPORARY 1
TYPE MQTT2_SERVER
WBCallback
cflags 238
cid DVES_01C291
keepalive 30
lastMsgTime 1613751467.03152
lwt tele/DVES_01C291/LWT:Offline
protoNum 4
protoTxt MQTT
usr Dynalon
READINGS:
2021-02-19 13:52:34 state Connected
subscriptions:
cmnd/DVES_01C291/# 1613739154.47515
cmnd/DVES_01C291_fb/# 1613739154.47905
cmnd/tasmotas/# 1613739154.47867
Attributes:
room hidden
und die eines Clients (bekomme die Worte "hue_filled_outlet" vor dem alias auch nicht weg):
Internals:
CID DVES_01C291
DEF DVES_01C291
DEVICETOPIC MQTT2_DVES_01C291
FUUID 602d97dd-f33f-dc36-45e7-c5eea27f3a3a774c
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 36
MQTT2_FHEM_Server_TIME 2021-02-19 17:51:52
MSGCNT 36
NAME MQTT2_DVES_01C291
NR 65
STATE off
TYPE MQTT2_DEVICE
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
OLDREADINGS:
READINGS:
2021-02-19 17:51:52 SaveData on
2021-02-19 17:51:52 SetOption26 on
2021-02-19 17:51:51 StateText1 off
2021-02-19 17:51:51 StateText2 on
2021-02-19 17:51:51 StateText3 toggle
2021-02-19 17:51:51 StateText4 hold
2021-02-19 17:51:50 attrTemplateVersion 20200522 or prior
Attributes:
IODev MQTT2_FHEM_Server
alias Schalter_Stehlampe_Essz.
autocreate 0
comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/DVES_01C291/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
icon hue_filled_outlet
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 HSBColor:0 Color:0
model tasmota_basic_state_power1
readingList tele/DVES_01C291/LWT:.* LWT
tele/DVES_01C291/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/DVES_01C291/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/DVES_01C291/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/DVES_01C291/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/DVES_01C291/POWER1:.* state
stat/DVES_01C291/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
room Esszimmer
setList off:noArg cmnd/DVES_01C291/POWER1 0
on:noArg cmnd/DVES_01C291/POWER1 1
toggle:noArg cmnd/DVES_01C291/POWER1 2
setOtaUrl:textField cmnd/DVES_01C291/OtaUrl $EVTPART1
upgrade:noArg cmnd/DVES_01C291/upgrade 1
setStateList on off toggle
Könnt Ihr mir bitte einen Tip geben?
Vielen Dank!