Nur letztes Reading des Tages loggen

Begonnen von TomLee, 27 November 2020, 17:36:28

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

hat jemand bitte einen Stupps für mich wie ich es anstelle nur das letzte Reading (hier countsPerDay eines HourCounter-Device) des Tages zu loggen.

defmod hc_hc_Brennerzeiten HourCounter MQTT2_ebusd_bai:1_Pumpe:.on MQTT2_ebusd_bai:1_Pumpe:.off
attr hc_hc_Brennerzeiten event-on-change-reading .*
attr hc_hc_Brennerzeiten room Ebus

setstate hc_hc_Brennerzeiten 30
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 countsOverall 50
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 countsPerDay 30
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pauseTimeEdge 766
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pauseTimeIncrement 766
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pauseTimeOverall 62432
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pauseTimePerDay 41358
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pulseTimeEdge 360
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pulseTimeIncrement 0
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pulseTimeOverall 38433
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 pulseTimePerDay 21215
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 state 30
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 tickChanged 99
setstate hc_hc_Brennerzeiten 2020-11-27 00:00:00 tickDay 1
setstate hc_hc_Brennerzeiten 2020-11-27 17:00:00 tickHour 28
setstate hc_hc_Brennerzeiten 2020-11-26 13:21:47 tickMonth 0
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 tickUpdated 135
setstate hc_hc_Brennerzeiten 2020-11-26 13:21:47 tickWeek 0
setstate hc_hc_Brennerzeiten 2020-11-26 13:21:47 tickYear 0
setstate hc_hc_Brennerzeiten 2020-11-27 17:22:53 value 1


Gruß

Thomas

Beta-User

#1
Ungetestet: Oldreadings einrichten und userReadings auf die "1"?

OT: für diesen ganzen Kram verwende ich _ein_ statistics-Device und gut ist ;) . Ansonsten gibt es für plots auch noch delta-d...

(Anm. betr. den Vorschlag von Frank_Huber: das mit statistics sollte sowohl mit DBLog wie File Log klappen; es werden von dem statistics-Device einfach nur ein paar Readings bzw. Events "zeitgerecht" erzeugt, die dann geloggt werden können...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Frank_Huber

#2
file oder DB?

bei DBlog kannst es per at und addlog Befehl machen.
bei FileLog kann ich es Dir leider nicht sagen. im Zweifel per at in einen Dummy schieben und nur diesen loggen.

betateilchen

addLog funktioniert prinzipiell auch bei FileLog, ist dort allerdings nicht im Modulcode enthalten, sondern muss in die 99_myUtils.pm gepackt werden.

DbLog hat das übrigens aus den myUtils "abgeschrieben", denn addLog() existiert schon SEEEEEHR viel länger als die Funktion in DbLog.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TomLee

Zitat
file oder DB?

file. Super  ::), mit dem AT hätt ich auch selbst drauf kommen.
Das werd ich erstmal machen und mich dann zu statistics einlesen.

Danke für die Rückmeldungen / Tipps

amenomade

Ich verstehe die vorgeschlagene Lösung mit at und addLog nicht: so wird ja zusätzlich countsPerDay um 23:59:59 geloggt, aber das beantwortet nicht die Frage "nur das letzte Reading des Tages".
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

kadettilac89

Zitat von: amenomade am 28 November 2020, 00:45:38
Ich verstehe die vorgeschlagene Lösung mit at und addLog nicht: so wird ja zusätzlich countsPerDay um 23:59:59 geloggt, aber das beantwortet nicht die Frage "nur das letzte Reading des Tages".

zusätzlich mit "event-on-change-reading" alle Reading setzen die immer geschrieben werden sollen.

Das zusätzliche Reading zum Tagesende nicht einschließen sondern nur mit addLog schreiben.

amenomade

Zitat von: kadettilac89 am 28 November 2020, 10:16:29
zusätzlich mit "event-on-change-reading" alle Reading setzen die immer geschrieben werden sollen.

Das zusätzliche Reading zum Tagesende nicht einschließen sondern nur mit addLog schreiben.
Ok, ja, addLog nutzt "trigger" und zwingt damit ein Event. Hatte es nicht mehr im Kopf. Alles gut.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus