MQTT Reading auswerten / Logfile Verständnissproblem

Begonnen von cbaum, 08 Dezember 2019, 08:48:01

Vorheriges Thema - Nächstes Thema

cbaum

Hallo zusammen,

Vielleicht gib es jemanden draußen der mir weiterhelfen kann?
Ich hab nach dieser Anleitung mein Raspi1 (Heizung) mit meinem Raspi2 (FHEM) erfolgreich verbunden (MQTT)

https://forum.fhem.de/index.php/topic,65573.msg567703.html#msg567703

Ich bekomme auch erfolgreich alle 10 Minuten meine Werte. Nun möchte ich einzelne Werte daraus Loggen.
Ich kann ein Loggfile erzeugen das mir erfolgreich die MqttRawMsg schreibt, aber nicht die Einzelwerte.

Mein ziel wäre ein Logfile wo die Werte VA093-Boilertemperaturoben|60 °CVA118-Puffertemperaturoben|49.5 °CVA120-Puffertemperaturunten|25.5 °C
zu Loggen!


DeviceOverview heating.values

incoming publish received
Internals
FUUID 5de3fcdc-f33f-fbeb-5878-81d09dcffe4e0d50
IODev MQTT
NAME heating.values
NR 693
STATE incoming publish received
TYPE MQTT_DEVICE


Und bekomme diese Readings:


Readings

2019-12-08 08:30:13 DO010-Sonde1oeffnen 1

2019-12-08 08:30:13 DO011-Sonde2oeffnen 0

2019-12-08 08:30:13 DO012-Sonde3oeffnen0

2019-12-08 08:30:13 DO015-PelletsSaugturbine 0

2019-12-08 08:30:13

MqttRawMsg
ST000-Softwareversion|50.04.05.05
ST001-DatumUhrzeitderHeizung|Sunday, 08. Dec. 2019 08:33:09
ST002-Heizungsstatus|19 - Betriebsbereit
ST003-Betriebsmodus|2 - Übergangsbetrieb
VA000-Kesseltemperatur|31.5 °C
VA001-Abgastemperatur|32 °C
VA003-Restsauerstoffgehalt|0 %
VA004-Aussentemperatur|5 °C
VA007-Saugzugdrehzahl|0 U/min
DO010-Sonde1oeffnen|1
DO011-Sonde2oeffnen|0
DO012-Sonde3oeffnen|0
VA012-LuftgeschwindigkeitinderAnsaugoeffnung|4.54 m/s
DO015-PelletsSaugturbine|0
VA021-Vorlauf-Isttemperatur|28 °C
VA022-Vorlauf-Solltemperatur|39 °C
VA025-Vorlauf-Isttemperatur|25.5 °C
VA026-Vorlauf-Solltemperatur|27 °C
VA093-Boilertemperaturoben|60 °C
VA098-Betriebsstunden|11579 h
VA113-FuellstandimPelletsbehaelter|100 %
VA118-Puffertemperaturoben|49.5 °C
VA120-Puffertemperaturunten|25.5 °C
VA140-PufferpumpenAnsteuerung|0 %
VA144-BoilerpumpeAnsteuerung|0 %
VA180-BetriebsstundenZuendung|569 h
VA213-StundenseitletzterWartung|11579 h
VA221-StundenimHeizen|8142 h
VA273-Resetierbarerkg-Zaehler:|0 kg
VA274-Resetierbarert-Zaehler:|0 t
XX001-ResetierbarerVerbrauchszaehler|0 kg
VA279-VerbleibendeHeizstundenbiszurAscheentleerenWarnung|0 h
VA114-AnzahlderBrennerstarts|7347


2019-12-08 08:30:13 ST000-Softwareversion 50.04.05.05

2019-12-08 08:30:13 ST001-DatumUhrzeitderHeizung Sunday, 08. Dec. 2019 08:33:09

2019-12-08 08:30:13 ST002-Heizungsstatus 19 - Betriebsbereit

2019-12-08 08:30:13 ST003-Betriebsmodus 2 - Übergangsbetrieb

2019-12-08 08:30:13 VA000-Kesseltemperatur 31.5 °C

usw.


Wie kann ich daraus ein Lofgile für z.B. nur VA000-Kesseltemperatur 31.5 °C erzeugen?
Hab es über ein readingsProxy probiert, dieses wird aber nur einmal erneuert?


DeviceOverview Kesseltem 52 °C

Internals
DEF heating.values:VA000-Kesseltemperatur
DEVICE heating.values
FUUID 5de94010-f33f-fbeb-f8ac-366d857266faf980
NAME Kesseltem
NOTIFYDEV global,heating.values
NR 714
NTFY_ORDER 50-Kesseltem
READING VA000-Kesseltemperatur
STATE 52 °C
TYPE readingsProxy



Kann mir hier jemand helfen bzw. ein richtiges Stichwort geben?

Vielen Dank CBaum

Gisbert

Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

cbaum

Hallo Gisbert,

Danke, die Anleitungen habe ich gelesen, aber genau hier komm ich ja nicht weiter,
Bei mir tauchen im Logfile die Readings nicht auf, siehe Bild?

rudolfkoenig

Im Event-Monitor die Meldung abwarten, Zeile markieren, und auf "Create-Modify device" klicken

cbaum

Schönen guten Morgen,

Ich hab das jetzt probiert, in verschiedenen Varianten über den Event-Monitor direkt das Log-File zu erstellen oder auch ein Notify.

Logfile:

Internals
DEF ./log/heating.values_FileLog_2.log heating.values:VA093-Boilertemperaturoben:.*
FD 49
FUUID 5dee9844-f33f-fbeb-c400-7fc45c5d76005551
NAME heating.values_FileLog_2
NOTIFYDEV heating.values
NR 709
NTFY_ORDER 50-heating.values_FileLog_2
REGEXP heating.values:VA093-Boilertemperaturoben:.*
STATE active
TYPE FileLog
currentlogfile ./log/heating.values_FileLog_2.log
logfile ./log/heating.values_FileLog_2.log


oder auch Varianten mit:
DEF    ./log/heating.values_FileLog_1.log heating.values:VA120-Puffertemperaturunten:..*.°C
Oder
DEF    ./log/heating.values_FileLog_3.log heating.values:VA000-Kesseltemperatur:.*.°C

Es wird aber nichts in das Logfile geschrieben?

Kann es sein das die MqttRawMsg die alle 10 Minuten kommt einfach zu viele Daten enthält?

Oder stelle ich mich jetzt einfach zu dumm  :-[

rudolfkoenig

Ich gehe davon aus, dass hier das Newline im Wert von MqttRawMsg das Problem ist, Readings sollten _eigentlich_ kein NL enthalten, da das spaeter beim Auswertung durch FileLog zu Problemen fuehrt.

Siehst du eine Moeglichkeit das NL zu entfernen?

Falls nicht, biete ich an eine Loesung zu bauen, wenn Du von MQTT+MQTT_DEVICE auf (MQTT2_SERVER oder MQTT2_CLIENT)+MQTT2_DEVICE umsteigst, da ich diese Module als Maintainer betreue.
In diesem Fall brauche ich zusaetzlich ein Log mit "attr global verbose 5", damit ich die Nachricht selbst nachspielen kann.