Hallo,
ich bin vom internen MQTT2 Server auf den Mosquitto Server gewechselt und habe einen MQTT2_Mosquitto_Client angelegt.
Die readings im Client sehen jetzt so aus:
myBroker:Wolf/192\x2e168\x2e179\x2e78/BM-2_0x35/Uhrzeit:.* Uhrzeit
Allerdings erwarten meine Devicekonfigurationen folgendes Format:
Wolf_19216817978:Wolf/192\x2e168\x2e179\x2e78/BM-2_0x35/Uhrzeit:.* Uhrzeit
Wie kann ich das ummappen?
Ich dachte das geht mit
attr MQTT2_Wolf_19216817978 jsonMap Wolf_19216817978:myBroker
Hat aber nicht funktioniert
myBroker ist in deinem Fall doch nur die clientid, die der Sender eigentlich setzen muss? Ist "Wolf/192\x2e168\x2e179\x2e78" nicht schon ausreichend als unique topic? die clientid brauchst du insoweit ja nur, wenn es mehrere clientids mit denselbem topics gibt
ZitatWolf_19216817978:Wolf/192\x2e168\x2e179\x2e78/BM-2_0x35/Uhrzeit:.* Uhrzeit
Das ist kein Reading, das ist eine Zeile aus dem readingsList Attribut.
Das erste "Wort" der Zeile (bis zum Leerzeichen) wird als RegExp gegen "<clientID>:<topic>:<message>" und "<topic>:<message>" geprueft, und wenn eines der beiden zutrifft, dann das Reading mit dem Rest der Zeile gebildet.
Die Loesung ist, in readingsList <clientID>: (d.h. Wolf_19216817978:) ueberall zu entfernen.
Das funktioniert auch dann, wenn man wieder MQTT2_SERVER verwendet.
Danke Dir!
ich habe jetzt die readingList bei jedem Client angepasst und die ClientID gelöscht - funktioniert :-)