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
https://wiki.fhem.de/wiki/FileLog (https://wiki.fhem.de/wiki/FileLog)
https://waschto.eu/logfileplot/ (https://waschto.eu/logfileplot/)
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?
Im Event-Monitor die Meldung abwarten, Zeile markieren, und auf "Create-Modify device" klicken
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 :-[
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.