FHEM > Automatisierung

DBLog - Logging bestimmter Geräte nur in "current" Tabelle

(1/2) > >>

PS915:
Moin Moin!

Ich verwende DBLog mit einer MySQL Datenbank. Derzeit baue ich mir ein Dashboard mit Grafana auf.
Viele "Live"-Daten beziehe ich aus der Tabelle "current".

Zum Beispiel frage ich alle x Sekunden die Leistung meines Stromzählers ab und logge diese per DbLog. Natürlich läuft dabei meine "history" Tabelle unnötig schnell voll.

Daher suche ich einen Weg, bestimmte Geräte nur in die "current" Tabelle loggen zu lassen.

Soweit ich weiß, kann das DBLog aktuell nicht. Ideal wäre es, wenn es ein neues Attribut geben könnte, welches man auf dem betroffenen device setzen könnte aka: "DbLogCurrentOnly" = 1.

Vielleicht wird mein Wunsch ja von den Entwicklern erhört ::)




CoolTux:
Also eigentlich kann DbLog das schon. Du musst nur das entsprechende Schema mit angeben. Ich habe einfach 2 verschiedene Schema dafür gemacht. Bei mir allerdings unter PostgreSQL

PS915:
Du meinst bestimmt:

--- Code: ---attr <device> dbSchema <schema>
--- Ende Code ---

Das kann ich ja nur im Device TYPE "DbLog" setzen (also im DBLogging Device). So wie ich es verstanden wird das damit global für alle Geräte gesteuert.

Ich möchte folgendes:
Normales DbLogging in current und history. Darüber hinaus möchte ich auf bestimmten Devices "nur" in current loggen.

CoolTux:

--- Zitat von: PS915 am 28 November 2021, 13:42:37 ---Du meinst bestimmt:

--- Code: ---attr <device> dbSchema <schema>
--- Ende Code ---

Das kann ich ja nur im Device TYPE "DbLog" setzen (also im DBLogging Device). So wie ich es verstanden wird das damit global für alle Geräte gesteuert.

Ich möchte folgendes:
Normales DbLogging in current und history. Darüber hinaus möchte ich auf bestimmten Devices "nur" in current loggen.

--- Ende Zitat ---

Was hindert Dich daran 2 dbLog Instanzen an zu legen?  ;)
Eines für current und eines für history. In current logst Du alles was Du nicht länger wie z.B. 30 Tage brauchst und in history alles was ewig bleiben soll. Und über die current lässt Du jeden Tag ein Job drüber laufen der alles älter 30 Tage löscht. Das kann DbLog von Hause aus.

PS915:
Ok, ich wusste nicht, dass ich zwei Instanzen von DbLog erstellen kann.

Trotzdem verstehe ich dann nicht, wie ich dann einem Device sagen kann, welches DbLog genutzt werden soll.
In den Devices habe ich ja nur "DBLogInclude" und DBLogExclude" zur Verfügung.  :o

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln