[GELÖST]statistics Modul: Aktualisierung nur stündlich, täglich, monatlich gewünscht

Begonnen von Betonklotz, 19 November 2023, 10:21:50

Vorheriges Thema - Nächstes Thema

Betonklotz

Zitat von: RalfRog am 19 November 2023, 18:52:32Auch Max (oder Min) macht für mich bei Zählerständen eigentlich keinen Sinn.
Zum Abfragezeitpunkt ist es immer der MAX-Wert.

Deswegen haben die Zähler ja auch in den Singular Readings nur ein Max und Delta :-)

Wesentlich nerviger finde ich, dass tw. Logs nicht ankommen. einmal aus dem device selbst, Readings sind alle (min, max, Avg) da:
define EG_Wohnzimmer_Heizung
[...]
#   READINGS:
[...]
#     2023-11-19 18:59:55   statistics_Measured-tempDay Min: 19.3 Avg: 21.3 Max: 23.6
#     2023-11-19 18:59:55   statistics_Measured-tempDayAvg 21.3
#     2023-11-18 23:59:55   statistics_Measured-tempDayAvgLast 21.5
#     2023-11-18 23:59:55   statistics_Measured-tempDayLast Min: 19.5 Avg: 21.5 Max: 22.7
#     2023-11-19 18:59:55   statistics_Measured-tempDayMax 23.6
#     2023-11-18 23:59:55   statistics_Measured-tempDayMaxLast 22.7
#     2023-11-19 18:59:55   statistics_Measured-tempDayMin 19.3
#     2023-11-18 23:59:55   statistics_Measured-tempDayMinLast 19.5
#     2023-11-19 18:59:55   statistics_Measured-tempHour Min: 21.6 Avg: 21.6 Max: 21.6
#     2023-11-19 18:59:55   statistics_Measured-tempHourAvg 21.6
#     2023-11-19 18:59:55   statistics_Measured-tempHourAvgLast 21.5
#     2023-11-19 18:59:55   statistics_Measured-tempHourLast Min: 21.4 Avg: 21.5 Max: 21.7
#     2023-11-19 18:59:55   statistics_Measured-tempHourMax 21.6
#     2023-11-19 18:59:55   statistics_Measured-tempHourMaxLast 21.7
#     2023-11-19 18:59:55   statistics_Measured-tempHourMin 21.6
#     2023-11-19 18:59:55   statistics_Measured-tempHourMinLast 21.4
#     2023-11-19 18:59:55   statistics_Measured-tempMonth Min: 19.3 Avg: 21.5 Max: 23.6 (since: 2023-11-17_18:14:37 )
#     2023-11-19 18:59:55   statistics_Measured-tempMonthAvg 21.5
#     2023-11-19 18:59:55   statistics_Measured-tempMonthMax 23.6
#     2023-11-19 18:59:55   statistics_Measured-tempMonthMin 19.3
#     2023-11-19 18:59:55   statistics_Measured-tempYear Min: 19.3 Avg: 21.5 Max: 23.6 (since: 2023-11-17_18:14:37 )
[...]
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempDay Min: 19.3 Avg: 21.3 Max: 23.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempDayAvg 21.3
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-18 23:59:55 statistics_Measured-tempDayAvgLast 21.5
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-18 23:59:55 statistics_Measured-tempDayLast Min: 19.5 Avg: 21.5 Max: 22.7
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempDayMax 23.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-18 23:59:55 statistics_Measured-tempDayMaxLast 22.7
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempDayMin 19.3
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-18 23:59:55 statistics_Measured-tempDayMinLast 19.5
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHour Min: 21.6 Avg: 21.6 Max: 21.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourAvg 21.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourAvgLast 21.5
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourLast Min: 21.4 Avg: 21.5 Max: 21.7
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourMax 21.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourMaxLast 21.7
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourMin 21.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempHourMinLast 21.4
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempMonth Min: 19.3 Avg: 21.5 Max: 23.6 (since: 2023-11-17_18:14:37 )
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempMonthAvg 21.5
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempMonthMax 23.6
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempMonthMin 19.3
setstate EG_Wohnzimmer_Heizung_HM2E86F8 2023-11-19 18:59:55 statistics_Measured-tempYear Min: 19.3 Avg: 21.5 Max: 23.6 (since: 2023-11-17_18:14:37 )

Im Log kommen sie aber nicht an, im wohnzimmer fehlt der Min.-Wert:
[...]
2023-11-19_18:59:55 EG_Kueche_Heizung statistics_Measured-tempHourMaxLast: 20.9
2023-11-19_18:59:55 EG_Toilette_Heizung statistics_Measured-tempHourLast: Min: 18.8 Avg: 19.0 Max: 19.2
2023-11-19_18:59:55 EG_Toilette_Heizung statistics_Measured-tempHourMinLast: 18.8
2023-11-19_18:59:55 EG_Toilette_Heizung statistics_Measured-tempHourAvgLast: 19.0
2023-11-19_18:59:55 EG_Toilette_Heizung statistics_Measured-tempHourMaxLast: 19.2
2023-11-19_18:59:55 EG_Wohnzimmer_Heizung statistics_Measured-tempHourLast: Min: 21.4 Avg: 21.5 Max: 21.7
2023-11-19_18:59:55 EG_Wohnzimmer_Heizung statistics_Measured-tempHourAvgLast: 21.5
2023-11-19_18:59:55 EG_Wohnzimmer_Heizung statistics_Measured-tempHourMaxLast: 21.7
2023-11-19_18:59:55 OG_Arbeitszimmer_Heizung statistics_Measured-tempHourLast: Min: 21.5 Avg: 22.2 Max: 22.4
2023-11-19_18:59:55 OG_Arbeitszimmer_Heizung statistics_Measured-tempHourMinLast: 21.5
2023-11-19_18:59:55 OG_Arbeitszimmer_Heizung statistics_Measured-tempHourAvgLast: 22.2
[...]

Und auch im Filelog des Device selber fehlt der Min...Last Wert:
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourLast: Min: 21.4 Avg: 21.7 Max: 21.9
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourMin: 21.5
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourAvg: 21.5
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourAvgLast: 21.7
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourMax: 21.5
2023-11-19_17:59:55 EG_Wohnzimmer_Heizung_HM2E86F8 statistics_Measured-tempHourMaxLast: 21.9

RalfRog

Lt. #5 (Adimarantis)
ZitatDie min/avg/max readings werden zwar bei jedem Update des readings aktualisiert, es wird aber kein Event erzeugt. Nur das "last" erzeugt dann einmal pro periode ein Event.

Das ist dann der Grund warum nichts im Log landet.

Steht zwar nicht in der CommandRef aber ich meine dazu mal was gelesen zu haben (evtl. WIKI).
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Betonklotz

Nein, das "kann" es eigentlich nicht sein, bzw. wäre maximal inkosistent. Die max, maxLast, avg, avgLast usw. Werte sind ja alle da und an anderen Devices kommen auch alle. Es fehlen hier nur die Min. Werte. Und gerade mal genauer geschaut: an einem anderen Device fehlt der Max Wert... Und auch bei der 20Uhr Aktualisierung fehlen die.
Gebe langsam auf, mit der Fehlersuche und ärgern geht mehr Zeit drauf, als selber eine myUtils anzulegen.
Gerade mal quick and dirty was ausprobiert: kommt man über ein Notify das z.B. {neue_Temperatur_gemessen("$NAME")} aufruft an den nötigen Hash des Devices?
# Device bestimmen von dem der Funktionsaufruf ausgelöst wurde
my ($aufrufendes_device) = @_;
my ($aufrufendes_device_hash) = $defs->{$aufrufendes_device};
# ja, wurde erreicht -> abspeichern im Reading ohne ein Event auszulösen
my ($rv_hour) = readingsSingleUpdate ($aufrufendes_device_hash, "max_temp_hour", $neuer_temp_wert, 0);
Denn das scheitert grandios...
Global symbol "$defs" requires explicit package name (did you forget to declare "my $defs"?) at ./FHEM/99_myHeizungswerteUtils.pm line 34

argh, vergesst die Frage
my ($aufrufendes_device_hash) = $defs{$aufrufendes_device};
und alles wird gut. FHEM meckert zwar weiter, läuft aber wie es soll


Und ich dachte (ok, da ist der Fehler am Anfang des Satzes), ich könnte einfach ein paar Berechnungen übernehmen. Aber wenn ich z.B. so etwas lese
if ($hidden[3]>0) {$stat[3] = $hidden[1] / $hidden[3];} # Avg
wird mir schlecht. Also ja, sicher weiß jeder was an den Positionen gespeichert ist, ist auch völlig unnötig das zu kommentieren...
Ich gebe auf, nächstes Wochenende wird das umgesetzt wie ich es benötige.