Wie zeige ich Statistiken im Chart an ?

Begonnen von dt2510, 10 Juli 2018, 15:10:39

Vorheriges Thema - Nächstes Thema

dt2510

Ich habe für eine meiner Steckdosen ein Statistics Device angelegt. Jetzt werden automatisch beim Device folgende Readings angelegt:

- statPowerDay
- statPowerDayLast
- statPowerMonth
- statPowerYear

der Inhalt ist z.B. "Min: 0.0 Avg: 28.4 Max: 387.4" oder "Min: 0.0 Avg: 53.7 Max: 1774.6 (since: 2018-07-06_13:11:19 )"
Im DBLog erscheint lediglich statPowerDayLast - das reicht mir in dem Fall - allerdings in folgender Form:

EVENT statPowerDayLast: Min: 0.0 Avg: 58.6 Max: 581.0
READING statPowerDayLast
VALUE 0.0
UNIT Avg: 58.6 Max: 51.0

Welche Chance hab' ich, den Durchschnittswert (hier: 58.6) in einem Chart Widget darzustellen ?

eki

Es geht, ist aber mit dblog nur über recht komplizierte regular Expressions möglich. In Deinem Fall müsste die Columnspec in etwa so aussehen (<device> musst Du natürlich noch durch den Namen Deines Devices ersetzen, außerdem muss data-logdevice mit dem Namen Deines dblog Devices gesetzt werden):


data-columnspec = "<device>:statPowerDayLast:::$val=~s\/.*Avg:\\s([-\\.\\d]+).*/$1/eg"


Einfacher ist aus meiner Sicht dafür zu sorgen, dass die Statistikwerte einzeln als Readings geschrieben werden, das geht über das Attribut singularReadings im statistics Device. Wenn Du z.B. folgedes Setting machst (als <statdev> den Namen des statistics Device setzen, als <device> den Namen deines Steckdosen Devices):


attr <statdev> singularReadings <device>:power:Avg:(Hour|Day)


dann werden für das Reading power des devices folgende zusätzliche Readings entstehen:

statPowerDayAvg
statPowerHourAvg

diese Readings enthalten dann nur den Durschschnittswert und können mit einer einfachen Columnspec in der Form "<device>:statPowerDayAvg" geplottet werden.

dt2510

Die Variante singularReadings gefällt mir besser ... werd' ich mal testen. Danke !! :)