hi,
ich versuche aktuell einen Regenzähler zu implementieren. Dazu habe ich zwei userReadings angelegt:
zaehler:Regen.* {ReadingsVal($name,"zaehler",0) + ReadingsVal($name,"Regen",0)}, Regen_ges monotonic { ReadingsVal($name,"Regen",0)}
Jetzt versuche ich mit dem statistics-Modul das Reading auszuwerten. D. h. ich will mir z. B. die Regenmenge in einem Jahr anzeigen lassen:
KeyValueProtocol_R20_1:zaehler:Delta:Year|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
Das Delta funktioniert aber nicht. Es wird schlicht kein neues Reading angelegt. Ich kann mir aber problemlos das Maximum des Jahres anzeigen lassen. Was mache ich falsch?
Besten Dank
Bitte ein "list" von den jeweiligen Devices.
Siehe hier:
Internals:
DEF R20 1
Empfaenger_MSGCNT 2131
Empfaenger_RAWMSG OK VALUES R20 1 T20=5.09,RE=0.0000,R=-62
Empfaenger_TIME 2020-11-28 08:36:53
FUUID 5cfb9e2b-f33f-03ce-edb5-0a5d815094c8865d
ID R20_1
IODev Empfaenger
LASTInputDev Empfaenger
MSGCNT 2131
NAME KeyValueProtocol_R20_1
NR 89
STATE Initialized
TYPE KeyValueProtocol
model R20
READINGS:
2020-11-28 08:36:53 Bodentemperatur20cm 5.09
2018-07-25 21:50:35 R -72
2018-07-25 21:50:35 RE 0.0000
2020-11-28 08:36:53 RSSI -62
2020-11-28 08:36:53 Regen 0.0000
2020-11-28 08:36:53 Regen_ges 0
2018-07-25 21:50:35 T20 22.22
2020-11-28 08:36:53 statRegenDay Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-27 23:59:55 statRegenDayLast Min: 0.0000 Avg: 0.0103 Max: 2.3030
2020-11-28 08:36:53 statRegenHour Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-28 07:59:55 statRegenHourLast Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-28 08:36:53 statRegenMonth Min: 0.0000 Avg: 0.0018 Max: 2.3030
2020-10-31 23:59:55 statRegenMonthLast Min: 0.0000 Avg: 0.0112 Max: 1.6450 (since: 2020-10-25_09:59:55 )
2020-11-28 08:36:53 statRegenYear Min: 0.0000 Avg: 0.0036 Max: 2.3030 (since: 2020-10-25_09:59:55 )
2020-11-28 08:36:53 statRegen_gesDay Min: 0 Avg: 0 Max: 0
2020-11-27 23:59:55 statRegen_gesDayLast Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 08:36:53 statRegen_gesHour Min: 0 Avg: 0 Max: 0
2020-11-28 07:59:55 statRegen_gesHourLast Min: 0 Avg: 0 Max: 0
2020-11-27 22:21:41 statRegen_gesHourMax 0
2020-11-28 08:36:53 statRegen_gesMonth Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 08:36:53 statRegen_gesYear Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 08:36:53 statZaehlerDay Min: 0.6580000000000000 Avg: 0.6580000000000000 Max: 0.6580000000000000
2020-11-27 23:59:55 statZaehlerDayLast Min: 0.0000000000000000 Avg: 0.2857700440857805 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-27 20:17:55 statZaehlerDayMax 0
2020-11-28 08:36:53 statZaehlerHour Min: 0.6580000000000000 Avg: 0.6580000000000000 Max: 0.6580000000000000
2020-11-28 07:59:55 statZaehlerHourLast Min: 0.6580000000000000 Avg: 0.6579999999999999 Max: 0.6580000000000000
2020-11-28 08:36:53 statZaehlerMonth Min: 0.0000000000000000 Avg: 0.5458053760050450 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-28 08:36:53 statZaehlerYear Min: 0.0000000000000000 Avg: 0.5458053760050450 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-28 08:36:53 zaehler 0.658
helper:
_98_statistics myStatDevice_R20_1
Attributes:
IODev Empfaenger
Mapping R=RSSI,RE=Regen,T20=Bodentemperatur20cm
alias Regen & Bodentemperatur 20 cm
room KeyValueProtocol
userReadings zaehler:Regen.* {ReadingsVal($name,"zaehler",0) + ReadingsVal($name,"Regen",0)}, Regen_ges monotonic { ReadingsVal($name,"Regen",0)}
Internals:
DEF KeyValueProtocol_R20_1
DEV_REGEXP KeyValueProtocol_R20_1
FUUID 5f953da3-f33f-03ce-58d2-e5be4b47a95c3b21
NAME myStatDevice_R20_1
NOTIFYDEV global,KeyValueProtocol_R20_1
NR 290
NTFY_ORDER 10-myStatDevice_R20_1
PREFIX stat
STATE Updated stats for: KeyValueProtocol_R20_1
TYPE statistics
READINGS:
2020-11-20 19:08:04 monitoredDevicesKeyValueProtocol KeyValueProtocol_R20_1
2020-11-28 07:59:55 nextPeriodChangeCalc 2020-11-28 08:59:55
2020-11-28 08:41:54 state Updated stats for: KeyValueProtocol_R20_1
fhem:
modulVersion $Date: 2019-12-24 00:07:57 +0100 (Tue, 24 Dec 2019) $
nextPeriodChangeTime 1606550395
Attributes:
minAvgMaxReadings Regen,zaehler,Regen_ges
singularReadings KeyValueProtocol_R20_1:zaehler:Delta:Hour|KeyValueProtocol_R20_1:zaehler:Delta:Month|KeyValueProtocol_R20_1:zaehler:Delta:Year|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
Besten Dank
ich bin mir nicht sicher, aber ich glaube Du musst nochattr KeyValueProtocol_R20_1 deltaReadings zaehler,Regen_ges
hinzufügen.
Grüße Markus
Das hat scheinbar nicht funktioniert.
Internals:
DEF KeyValueProtocol_R20_1
DEV_REGEXP KeyValueProtocol_R20_1
FUUID 5f953da3-f33f-03ce-58d2-e5be4b47a95c3b21
NAME myStatDevice_R20_1
NOTIFYDEV global,KeyValueProtocol_R20_1
NR 290
NTFY_ORDER 10-myStatDevice_R20_1
PREFIX stat
STATE Updated stats for: KeyValueProtocol_R20_1
TYPE statistics
READINGS:
2020-11-20 19:08:04 monitoredDevicesKeyValueProtocol KeyValueProtocol_R20_1
2020-11-28 08:59:55 nextPeriodChangeCalc 2020-11-28 09:59:55
2020-11-28 09:38:18 state Updated stats for: KeyValueProtocol_R20_1
fhem:
modulVersion $Date: 2019-12-24 00:07:57 +0100 (Tue, 24 Dec 2019) $
nextPeriodChangeTime 1606553995
Attributes:
deltaReadings zaehler,Regen_ges
minAvgMaxReadings Regen,zaehler,Regen_ges
singularReadings KeyValueProtocol_R20_1:zaehler:Delta:Hour|KeyValueProtocol_R20_1:zaehler:Delta:Month|KeyValueProtocol_R20_1:zaehler:Delta:Year|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
Internals:
DEF R20 1
Empfaenger_MSGCNT 2143
Empfaenger_RAWMSG OK VALUES R20 1 T20=5.09,RE=0.0000,R=-64
Empfaenger_TIME 2020-11-28 09:37:12
FUUID 5cfb9e2b-f33f-03ce-edb5-0a5d815094c8865d
ID R20_1
IODev Empfaenger
LASTInputDev Empfaenger
MSGCNT 2143
NAME KeyValueProtocol_R20_1
NR 89
STATE Initialized
TYPE KeyValueProtocol
model R20
READINGS:
2020-11-28 09:37:12 Bodentemperatur20cm 5.09
2018-07-25 21:50:35 R -72
2018-07-25 21:50:35 RE 0.0000
2020-11-28 09:37:12 RSSI -64
2020-11-28 09:37:12 Regen 0.0000
2020-11-28 09:38:17 Regen_ges 0
2018-07-25 21:50:35 T20 22.22
2020-11-28 09:38:17 statRegenDay Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-27 23:59:55 statRegenDayLast Min: 0.0000 Avg: 0.0103 Max: 2.3030
2020-11-28 09:38:17 statRegenHour Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-28 08:59:55 statRegenHourLast Min: 0.0000 Avg: 0.0000 Max: 0.0000
2020-11-28 09:38:17 statRegenMonth Min: 0.0000 Avg: 0.0018 Max: 2.3030
2020-10-31 23:59:55 statRegenMonthLast Min: 0.0000 Avg: 0.0112 Max: 1.6450 (since: 2020-10-25_09:59:55 )
2020-11-28 09:38:17 statRegenYear Min: 0.0000 Avg: 0.0036 Max: 2.3030 (since: 2020-10-25_09:59:55 )
2020-11-28 09:38:17 statRegen_gesDay Min: 0 Avg: 0 Max: 0
2020-11-27 23:59:55 statRegen_gesDayLast Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 09:38:17 statRegen_gesHour Min: 0 Avg: 0 Max: 0
2020-11-28 08:59:55 statRegen_gesHourLast Min: 0 Avg: 0 Max: 0
2020-11-27 22:21:41 statRegen_gesHourMax 0
2020-11-28 09:38:17 statRegen_gesMonth Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 09:38:17 statRegen_gesYear Min: 0 Avg: 0 Max: 0 (since: 2020-11-27_22:21:41 )
2020-11-28 09:38:17 statZaehlerDay Min: 0.6580000000000000 Avg: 0.6580000000000000 Max: 0.6580000000000000
2020-11-27 23:59:55 statZaehlerDayLast Min: 0.0000000000000000 Avg: 0.2857700440857805 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-27 20:17:55 statZaehlerDayMax 0
2020-11-28 09:38:17 statZaehlerHour Min: 0.6580000000000000 Avg: 0.6579999999999999 Max: 0.6580000000000000
2020-11-28 08:59:55 statZaehlerHourLast Min: 0.6580000000000000 Avg: 0.6580000000000000 Max: 0.6580000000000000
2020-11-28 09:38:17 statZaehlerMonth Min: 0.0000000000000000 Avg: 0.5544032462671048 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-28 09:38:17 statZaehlerYear Min: 0.0000000000000000 Avg: 0.5544032462671048 Max: 0.6580000000000000 (since: 2020-11-27_20:16:52 )
2020-11-28 09:37:12 zaehler 0.658
helper:
_98_statistics myStatDevice_R20_1
Attributes:
IODev Empfaenger
Mapping R=RSSI,RE=Regen,T20=Bodentemperatur20cm
alias Regen & Bodentemperatur 20 cm
room KeyValueProtocol
userReadings zaehler:Regen.* {ReadingsVal($name,"zaehler",0) + ReadingsVal($name,"Regen",0)}, Regen_ges monotonic { ReadingsVal($name,"Regen",0)}
Muss das Attribut nicht an das statistics-Device statt an das zu überwachende?
Ja. Das ist doch aber das statistics-Device.
Internals:
DEF KeyValueProtocol_R20_1
DEV_REGEXP KeyValueProtocol_R20_1
FUUID 5f953da3-f33f-03ce-58d2-e5be4b47a95c3b21
NAME myStatDevice_R20_1
NOTIFYDEV global,KeyValueProtocol_R20_1
NR 290
NTFY_ORDER 10-myStatDevice_R20_1
PREFIX stat
STATE Updated stats for: KeyValueProtocol_R20_1
TYPE statistics
READINGS:
2020-11-20 19:08:04 monitoredDevicesKeyValueProtocol KeyValueProtocol_R20_1
2020-11-28 09:59:55 nextPeriodChangeCalc 2020-11-28 10:59:55
2020-11-28 10:17:25 state Updated stats for: KeyValueProtocol_R20_1
fhem:
modulVersion $Date: 2019-12-24 00:07:57 +0100 (Tue, 24 Dec 2019) $
nextPeriodChangeTime 1606557595
Attributes:
deltaReadings zaehler,Regen_ges
minAvgMaxReadings Regen,zaehler,Regen_ges
singularReadings KeyValueProtocol_R20_1:zaehler:Delta:Hour|KeyValueProtocol_R20_1:zaehler:Delta:Month|KeyValueProtocol_R20_1:zaehler:Delta:Year|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
Hmm, sorry, da hat mich der Name und der Blick auf das NOTIFY_DEV drausgebracht, hier gibt es nur ein zentrales statistics-Device, das mir alle relevanten Geräte überwacht...
Was mir seltsam vorkommt: Warum zeigt singularReadings auf das statistics-Device? Bei mir zeigt jedenfalls NOTIFY_DEV _auf die zu überwachenden Geräte_...
Hallo,
das Problem hatte ich vor Ewigkeiten auch, als ich mein statistics-Device angelegt habe.
Warum auch immer, hat Delta nicht geklappt.
Abhilfe gebracht hat damals ein zweites Statistics-Device.
Eines hat die min/max/avg-Readings zu überwachen, das zweite kümmert sich nur ums Delta.
Wie gesagt, erklärung habe ich dafür nicht, aber es funktioniert so (seit 3 Jahren oder so irgendwie)
Was ich (zwecks der Übersicht) auch machen würde: Das SingularReadings-Attr kürzen:
Statt
singularReadings KeyValueProtocol_R20_1:zaehler:Delta:Hour|KeyValueProtocol_R20_1:zaehler:Delta:Month|KeyValueProtocol_R20_1:zaehler:Delta:Year|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
singularReadings KeyValueProtocol_R20_1:zaehler:Delta:(Hour|Month|Year)|KeyValueProtocol_R20_1:Regen_ges:Delta:Hour
Und wie Beta-User schon schrieb: Ein (bzw. bei mir halt zwei) statistics-Devices fürs komplette System reichen. Steht auch so in der Commandref drinnen.
Zitat von: Beta-User am 28 November 2020, 13:37:36
Bei mir zeigt jedenfalls NOTIFY_DEV _auf die zu überwachenden Geräte_...
Bei ihm auch: global,KeyValueProtocol_R20_1
@Icinger
Besten Dank für den Hinweis. Das hat funktioniert. Scheinbar kann man minAvgMaxReadings und deltaReadings nicht gleichzeitig anlegen.