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!
Du hast nichts vergeigt. Es wird für jede Verbindung eine temporäre Instanz angelegt (sollte auch irgendwo im Wiki stehen und war hier auch schon ein paar Mal gefragt).
hue_filled_outlet ist das Icon, das scheint es bei dir nicht zu geben? (Dann einfach mal das icon-Attribut löschen).
ok, vielen Dank!
Kannst Du mir auch sagen, was der Keepalive-check zu bedeuten hat? Das taucht bei mir auch immer mal wieder auf...
Hier nochmal kopiert:
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)
Das bedeutet "nur", dass FHEM keine rechtzeitige Rückmeldung von dem Teil erhalten hat. Kann viele Ursachen haben, z.B.
- FHEM ist mit irgendwas zu beschäftigt (blockierende Prozesse)? (Suchwort: Freezmon)
- WLAN-Probleme (Suchworte: FritzBox+ESP8266)
OK, vielen Dank!
Das hilft mir schonmal weiter - ich habe für die Einrichtung meiner Sticks noch nicht die automatische USB Schnittstellenerkennung (https://wiki.fhem.de/wiki/Raspberry_Pi#N.C3.BCtzliche_Zusatzpakete (https://wiki.fhem.de/wiki/Raspberry_Pi#N.C3.BCtzliche_Zusatzpakete)) deaktiviert.
Sobald alles fertig ist, werde ich das nachholen und falls nötig anschließend mit Freezmon auf die Suche gehen.
Vielen Dank!