Temperaturwerte mehrerer DS12B20 Sensoren an EasyESP NodeMCUs an MQTT2_SERVER

Begonnen von bsanders, 18 November 2021, 21:51:34

Vorheriges Thema - Nächstes Thema

bsanders

Hallo,

ich komme einfach nicht weiter und erhoffe mir jetzt hier Hilfe.
Eigentlich wollte ich auf diesen Threat https://forum.fhem.de/index.php?topic=113340.15 antworten, da hier selbe Komponenten ein ähnliches Problem beschreiben, aber dann bekam ich eine "...letzte Antwort ist schon 120 Tage her - willst Du wirklich" angezeigt. Darum schreibe ich jetzt doch ein neues Thema und hoffe, dass das so OK ist.

Mein Szenario: Ich habe zwei NodeMCUs, die beide mit EasyESP geflashed sind und an denen beiden mehrere DS12B20 Sensoren zur Heizungsüberwachung hängen und beide an eine Raspi-FHEM Instanz ihre Daten schicken.
Dieses Setup war ursprünglich funktional mit MQTT und nun kämpfe ich mit MQTT2 vergeblich schon einige Runden und bekomme es einfach nicht brauchbar funktional.
Wichtig zu erwähnen ist, dass der Raspi inzwischen auf Bullseye hochgezogen wurde und seither MQTT nicht mehr funktioniert hat. Aus diesem Grund hatte ich ich dann daran gemacht MQTT2 zu versuchen.
Ich habe also einen MQTT2_SERVER installiert, gegen den ich mit MQTTFX verbinden, subscriben und publishen kann - soweit so gut.
Die NodeMCUs liefern unverändert mit EasyESP die Temperaturwerte wie folgt:

/Heizung/Heizkreis1/Temperature
/Heizung/Heizkreis2/Temperature
/Heizung/Heizkreis3/Temperature


Dies kann ich so auch mit MQTTFX mitlesen. Aber ab hier scheine ich etwas falsch zu verstehen und zu machen.

Ich habe dann jeweils ein MQTT2_DEVICE angelegt und da dann alle Templates durchgeguckt und einige getestet, aber ich bekomme die Werte nicht mehr sinnvoll in ein oder mehrere Logs aufgeteilt oder angegeben, aus denen ich dann wieder Plots erzeugen möchte.

Ursprünglich habe ich diese jeweils in ein eigenes Log pro Heizkreis bekommen -  jetzt sehen die Logs so aus:

2021-11-16_08:24:12 MQTT2_ESPClient0 Temperature: 33.44
2021-11-16_08:24:13 MQTT2_ESPClient0 Temperature: 40.50
2021-11-16_08:24:14 MQTT2_ESPClient0 Temperature: 46.44
2021-11-16_08:25:12 MQTT2_ESPClient0 Temperature: 33.38
2021-11-16_08:25:13 MQTT2_ESPClient0 Temperature: 40.12
2021-11-16_08:25:14 MQTT2_ESPClient0 Temperature: 45.69


Zuvor hatte ich da jeweils MQTT_DEVICEs angelegt und verschiedene Subscribereadings hinterlegt und dadurch getrennt - kann es sein, dass das so nicht mehr geht?

Was muss ich machen um wieder ein Log pro subscribe topic, also pro Heizkreis zu bekommen?
Aus der device specific help und der Suche hier im Forum und bei Google werde ich leider nicht schlauer. So please help. :)

DANKE und beste Grüße,
Bo

TomLee

Sind die NodeMCUs wirklich mit dem MQTT2_SERVER verbunden ? Zeig zur Sicherheit mal ein List vom MQTT2_SERVER.
Steht was im Logfile ?
Eigentlich musst du nix händisch anlegen, im schlimmsten Fall, mein ich, landen alle Heizkreise in einem MQTT2_DEVICE.

LuckyDay

defmod Heizkreis1 MQTT2_DEVICE

attr Heizkreis1 group Heizung
attr Heizkreis1 readingList /Heizung/Heizkreis1/Temperature:.* temperature
attr Heizkreis1 room test
attr Heizkreis1 stateFormat temperature


defmod Heizkreis2 MQTT2_DEVICE

attr Heizkreis2 group Heizung
attr Heizkreis2 readingList /Heizung/Heizkreis2/Temperature:.* temperature
attr Heizkreis2 room test
attr Heizkreis2 stateFormat temperature


defmod Heizkreis3 MQTT2_DEVICE

attr Heizkreis3 group Heizung
attr Heizkreis3 readingList /Heizung/Heizkreis3/Temperature:.* temperature
attr Heizkreis3 room test
attr Heizkreis3 stateFormat temperature


ein List deines mqtt2servers wäre schön gewesen

so sollte das aussehen , als MQTT2_DEVICE
zwei Anmerkungen
temperature schreibt man klein
/Heizung/Heizkreis1/Temperature:.* temperature
den Schrägstrich am Anfang des Topics macht man nicht , beiMQTT

wird zwar trotzdem so funktioniern.

wie man ein Filelog manuell anlegt sollte klar sein

bsanders

Ach super vielen Dank!
So hat das sofort funktioniert.

Der Vollständigkeit halber hier mein Raw definition vom MQTT2_SERVER:

defmod mqtt2_server MQTT2_SERVER 1883 global
attr mqtt2_server autocreate simple
attr mqtt2_server room MQTT


Filelog und Plot sind klar.
Vielen vielen Dank!