FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: doman75 am 04 Juni 2024, 09:51:08

Titel: dbrep reducelog löscht zuviel
Beitrag von: doman75 am 04 Juni 2024, 09:51:08
Hallo zusammen,

früher benutzte ich im DBlog Device das reducelogNBl, als ich neulich meine DB angesehen habe war die ziemlich groß. Dabei habe ich bemerkt das es den Befehl gar nicht mehr gibt. Ich habe dann etwas gelesen und gesehen das im dbrep ein reducelog ist und habe das mit 14 average aufgeführt und danach gemerkt das ich nicht weit genug gelesen habe, und nur noch Tagesmittelwerte hatte.
Nun habe ich über HeidiSQL und einem Backup die Werte wieder in die Datenbank inserted und habe beim attr Aggregation hour eingestellt.
Aber nach jedem Insert und dann reducelog average habe ich trotzdem nur einen Wert pro Tag drin stehen. Muss ich nach dem Insert den Index neu aufbauen oder was übersehe ich hier?
Titel: Aw: dbrep reducelog löscht zuviel
Beitrag von: betateilchen am 04 Juni 2024, 10:00:07
Falsches Unterforum für Fragen zu DbRep.
Titel: Aw: dbrep reducelog löscht zuviel
Beitrag von: RalfRog am 04 Juni 2024, 11:16:39
Hallo
Mit help dbrep siehst du das Unterforum...    (Module: 93_DbRep.pm Maintainer: DS_Starter Forum: Automatisierung )
und etwa in der Mitte des Hilfetextes, dass set <name> reducelog average den Mittelwert bildet:

ZitatreduceLog [<no>[:<nn>]] [mode] [EXCLUDE=device1:reading1,device2:reading2,...] [INCLUDE=device:reading]

Reduziert historische Datensätze.

Arbeitsweise ohne Angabe von Befehlszeilenoperatoren

Es werden die Daten innerhalb der durch die time.*-Attribute bestimmten Zeitgrenzen bereinigt. Es muss mindestens eines der time.*-Attribute gesetzt sein (siehe Tabelle unten). Die jeweils fehlende Zeitabgrenzung wird in diesem Fall durch das Modul ermittelt.
Der Arbeitsmodus wird durch die optionale Angabe von mode bestimmt:

    ohne Angabe von mode    : die Daten werden auf den ersten Eintrag pro Stunde je Device & Reading reduziert

    average    : numerische Werte werden auf einen Mittelwert pro Stunde je Device & Reading reduziert, sonst wie ohne mode

    average=day    : numerische Werte werden auf einen Mittelwert pro Tag je Device & Reading reduziert, sonst wie ohne mode
          Die FullDay-Option (es werden immer volle Tage selektiert) wird impliziert verwendet.
   
    max    : numerische Werte werden auf den Maximalwert pro Stunde je Device & Reading reduziert, sonst wie ohne mode
    max=day    : numerische Werte werden auf den Maximalwert pro Tag je Device & Reading reduziert, sonst wie ohne mode
          Die FullDay-Option (es werden immer volle Tage selektiert) wird impliziert verwendet.
    min    : numerische Werte werden auf den Minimalwert pro Stunde je Device & Reading reduziert, sonst wie ohne mode
    min=day    : numerische Werte werden auf den Minimalwert pro Tag je Device & Reading reduziert, sonst wie ohne mode
          Die FullDay-Option (es werden immer volle Tage selektiert) wird impliziert verwendet.
    sum    : numerische Werte werden auf die Summe pro Stunde je Device & Reading reduziert, sonst wie ohne mode
    sum=day    : numerische Werte werden auf die Summe pro Tag je Device & Reading reduziert, sonst wie ohne mode
          Die FullDay-Option (es werden immer volle Tage selektiert) wird impliziert verwendet.

DBrep tut das was du ihm sagst -> Average bilden.
Wenn du einen deiner Werte (z.b. den ersten pro Stunde) behalten willst, dann ohne Mode Parameter. Oder den Max/Min Wert mit dem entsprechenden Parameter.

Gruß Ralf