Hi,
ich benutze seit gestern das statistics Modul für meinen Wasserzähler.
Es funktioniert soweit, allerdings werden scheinbar die Statistiken für Month und Year nicht aktualisiert. Ich verwendet deltaReadings und singularReadings, hier ein list vom statistics device
Internals:
CFGFN
DEF mqtt_watermeter
DEV_REGEXP mqtt_watermeter
FUUID 5d29f266-f33f-cb8e-4861-e463eb6a11e8d2d7
NAME statistics_watermeter
NOTIFYDEV global,mqtt_watermeter
NR 78030
NTFY_ORDER 10-statistics_watermeter
PREFIX stat
STATE Updated stats for: mqtt_watermeter
TYPE statistics
.attraggr:
.attrminint:
READINGS:
2019-07-14 08:29:47 .mqtt_watermeter:liter_total LastValue: 103 ShowDate: 5 DecPlaces: 0
2019-07-13 17:03:49 monitoredDevicesMQTT_DEVICE mqtt_watermeter
2019-07-13 17:02:09 monitoredDevicesUnsupported mqtt_watermeter#MQTT_DEVICE
2019-07-14 08:04:56 nextPeriodChangeCalc 2019-07-14 08:59:55
2019-07-14 08:29:47 state Updated stats for: mqtt_watermeter
fhem:
modulVersion $Date: 2018-03-18 19:51:57 +0100 (Sun, 18 Mar 2018) $
nextPeriodChangeTime 1563087595
Attributes:
DbLogExclude .*
deltaReadings liter_total
room Technik
singularReadings mqtt_watermeter:liter_total:(Delta):(Hour|Day|Month|Year)
Und hier vom Device selbst wo die Statistiken auftauchen:
Internals:
.lastTimeliter_per_min 1563085533.05877
CFGFN
CHANGED
FUUID 5d28d53f-f33f-cb8e-5cf5-aabd90cc73d7beed
IODev auxmqtt
NAME mqtt_watermeter
NR 69386
STATE ???
TYPE MQTT_DEVICE
retain *:1
.attraggr:
.attreocr:
.*
.attrminint:
liter_per_min:3600
.qos:
* 0
.retain:
* 1
.userReadings:
HASH(0x76640f8)
HASH(0x87a98c0)
Helper:
DBLOG:
liter_per_min:
myDbLog:
TIME 1563085533.089
VALUE 0
online:
myDbLog:
TIME 1563045152.69612
VALUE true
OLDREADINGS:
READINGS:
2019-07-14 08:35:33 __liter_total 67
2019-07-14 08:10:02 ip 192.168.1.62
2019-07-14 08:35:33 liter_per_min 0
2019-07-14 08:35:33 liter_total 103
2019-07-14 08:35:33 m3_total 58.003
2019-07-14 08:10:02 online true
2019-07-14 08:34:48 rssi -45
2019-07-14 08:29:47 statLiter_total Hour: 32 Day: 54 Month: 54 Year: 54 (since: 2019-07-14 )
2019-07-14 08:29:47 statLiter_totalDay 54
2019-07-13 23:59:55 statLiter_totalDayLast 36
2019-07-14 08:29:47 statLiter_totalHour 32
2019-07-14 06:59:55 statLiter_totalHourLast 8
2019-07-14 06:59:55 statLiter_totalLast Hour: 8 Day: 36 Month: - Year: - (since: 2019-07-13_17:03:49 )
2019-07-14 08:29:47 statLiter_totalMonth 54
2019-07-14 08:29:47 statLiter_totalYear 54
2019-07-14 08:35:33 transmission-state incoming publish received
helper:
_98_statistics statistics_watermeter
message_ids:
sets:
subscribe:
iotdevices/watermeter/$online
iotdevices/watermeter/sys/ip
iotdevices/watermeter/sys/rssi
iotdevices/watermeter/water/liter_total
iotdevices/watermeter/water/liter_per_min
subscribeExpr:
^iotdevices\/watermeter\/\$online$
^iotdevices\/watermeter\/sys\/ip$
^iotdevices\/watermeter\/sys\/rssi$
^iotdevices\/watermeter\/water\/liter_total$
^iotdevices\/watermeter\/water\/liter_per_min$
subscribeQos:
iotdevices/watermeter/$online 0
iotdevices/watermeter/sys/ip 0
iotdevices/watermeter/sys/rssi 0
iotdevices/watermeter/water/liter_per_min 0
iotdevices/watermeter/water/liter_total 0
subscribeReadings:
iotdevices/watermeter/$online:
cmd
name online
iotdevices/watermeter/sys/ip:
cmd
name ip
iotdevices/watermeter/sys/rssi:
cmd
name rssi
iotdevices/watermeter/water/liter_per_min:
cmd
name liter_per_min
iotdevices/watermeter/water/liter_total:
cmd
name __liter_total
Attributes:
IODev auxmqtt
event-min-interval liter_per_min:3600
event-on-change-reading .*
m3_initial 57.9
retain 1
room MQTT
subscribeReading___liter_total iotdevices/watermeter/water/liter_total
subscribeReading_ip iotdevices/watermeter/sys/ip
subscribeReading_liter_per_min iotdevices/watermeter/water/liter_per_min
subscribeReading_online iotdevices/watermeter/$online
subscribeReading_rssi iotdevices/watermeter/sys/rssi
userReadings liter_total monotonic {ReadingsVal($name,"__liter_total",0)},
m3_total {ReadingsVal($name,"liter_total",0)/1000.0+AttrVal($name,"m3_initial",0)}
userattr m3_initial
Wie man sieht ist hier:
statLiter_totalDay 54
statLiter_totalDayLast 36
Aber:
statLiter_totalMonth 54
statLiter_totalYear 54
Beide Werte müssten ja eigentlich die Summe aus Day und DayLast (=90) sein. Month und Year werden auch aktualisiert, und entsprechen aktuell immer dem Wert aus totalDay.
Mache ich da was falsch? Kann es daran liegen dass der überwachte Wert liter_total ein userReading ist?
demnach
Zitat(since: 2019-07-14 )
ist doch alles richtig. ;D Und mich wundert, dass das überhaupt dort steht. Bei mir nur beim ...Last-Reading. :-\
Zitat von: KölnSolar am 14 Juli 2019, 10:07:56
demnach ist doch alles richtig. ;D Und mich wundert, dass das überhaupt dort steht. Bei mir nur beim ...Last-Reading. :-\
Ich fand das nur seltsam, dass es trotzdem ein "DayLast" gab, und das Modul ja seit dem 13.07 lief:
2019-07-14 06:59:55 statLiter_totalLast Hour: 8 Day: 36 Month: - Year: - (since: 2019-07-13_17:03:49 )
Es scheint sich aber jetzt geklärt zu haben, nach einem weiteren Tag stimmen die Statistiken nun. Ich gehe mal davon aus (Vermutung), dass das Modul nur vollständige Tage einbezieht...