Hallo,
ich bin neu im Thema MQTT2 und habe deswegen eine Frage. Ich habe jetzt einen MQTT2 Server und einen MQTT2 Client angelegt.
MQTT2_Server:
CFGFN
CONNECTS 105
DEF 1883 global
FD 64
FUUID 5dc9bee7-f33f-9627-5eac-b50647e4d442c042
NAME MQTT2_Server
NR 2010
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2019-11-14 21:44:39 RETAIN {"schalter":"aaus","topic":"test"}
2019-11-17 18:33:27 nrclients 2
2019-11-11 21:04:55 state Initialized
clients:
MQTT2_Server_127.0.0.1_35448 1
MQTT2_Server_192.168.178.49_50891 1
retain:
schalter:
ts 1573764279.1392
val aaus
topic:
ts 1573764207.22552
val test
Attributes:
DbLogExclude .*
autocreate complex
icon mqtt_broker
room MQTT2_DEVICE
MQTT2_Client:
Internals:
BUF
CFGFN
DEF 127.0.0.1:1883
DeviceName 127.0.0.1:1883
FD 77
FUUID 5dcdaef8-f33f-9627-f7fa-440eaa04de12c245
NAME MQTT2_CLIENT
NR 42372
PARTIAL
STATE opened
TYPE MQTT2_CLIENT
WBCallback
clientId MQTT2_CLIENT
lastMsgTime 1574012044.21645
nextOpenDelay 5
READINGS:
2019-11-14 20:46:00 state opened
Attributes:
DbLogExclude .*
autocreate simple
room MQTT2_DEVICE
Jetzt versuche ich gerade eine PlayBox zu bauen, welche auf dem Kanal haus-automatisierung vorgestellt wurde. Wenn ich jetzt eine Karte auf den RFID Lesegerät lege, dann legt FHEM mir ein neues Device an, mit dem Namen MQTT2_NodeMCUClient_bc08. Das ist ja auch OK, nur er legt mir immer und immer wieder ein neues Device an. Nur die Endung _XXXX verändert sich dabei. D.h. ich hätte dann im Laufe der Zeit ganz viele Devices, welche automatisch angelegt werden. Was muss ich denn machen, damit das nicht mehr passiert?
MQTT2_SERVER _und_ MQTT2_CLIENT, was auf diesem Server konfiguriert ist, ist sehr wahrscheinlich Unsinn, nur Server reicht.
Wurde das auf dem besagten Kanal so empfohlen?
Wenn immer wieder ein neues MQTT2_DEVICE angelegt wird, dann ist das ein Zeichen dafuer, dass das RFID-Geraet sich jeweils neu mit dem FHEM-Server verbindet, und dabei ein neues ClientId erfindet. Fuer diesen Fall empfehle ich _ein_ MQTT2_DEVICE anlegen zu lassen, und in dessen readingsList <clientId>: ueberall entfernen.
Alternativ schaltet man autocreate ab, und man legt alles manuell an.
Zitat von: rudolfkoenig am 17 November 2019, 19:02:06
MQTT2_SERVER _und_ MQTT2_CLIENT, was auf diesem Server konfiguriert ist, ist sehr wahrscheinlich Unsinn, nur Server reicht.
Wurde das auf dem besagten Kanal so empfohlen?
Bei dem PlayBox Video vor 11Mon, wurde es mit Mosquitto und Mqtt_Device gezeigt !
Ich habe jetzt den MQTT2 Client entfernt. Er legt jetzt immer noch immer wieder ein neues Device an, mit einer entsprechenden clientID. Wenn ich diese in den readingList entferne, dann legt er in den readingList wieder welche an.
Internals:
CFGFN
CID NodeMCUClient_72b7
DEF NodeMCUClient_72b7
DEVICETOPIC MQTT2_NodeMCUClient_72b7
FUUID 5dd1a078-f33f-9627-f08f-c8bbd3799d93f324
IODev MQTT2_Server
LASTInputDev MQTT2_Server
MQTT2_Server_MSGCNT 8
MQTT2_Server_TIME 2019-11-17 20:33:44
MSGCNT 8
NAME MQTT2_NodeMCUClient_72b7
NR 82840
STATE ???
TYPE MQTT2_DEVICE
READINGS:
2019-11-17 20:33:44 Play 3958334224
2019-11-17 20:33:44 Stop 1
Attributes:
DbLogExclude .*
IODev MQTT2_Server
readingList NodeMCUClient:/SmartHome/Interface/PlayBox/Play:.* Play
NodeMCUClient:/SmartHome/Interface/PlayBox/Stop:.* Stop
NodeMCUClient_72b7:/SmartHome/Interface/PlayBox/Play:.* Play
NodeMCUClient_72b7:/SmartHome/Interface/PlayBox/Stop:.* Stop
room MQTT2_DEVICE
Ich habe jetzt den Code auf der NodeMCU verändert, dort wurde immer wieder eine neue ClientID erzeugt. Diese habe ich jetzt fest vergeben. Das sollte das Problem erstmal lösen.