FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Persuasiv am 27 November 2020, 23:01:02

Titel: statistics - Delta funktioniert nicht
Beitrag von: Persuasiv am 27 November 2020, 23:01:02
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
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: amenomade am 28 November 2020, 00:28:31
Bitte ein "list" von den jeweiligen Devices.
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Persuasiv am 28 November 2020, 08:42:55
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
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: KölnSolar am 28 November 2020, 09:24:24
ich bin mir nicht sicher, aber ich glaube Du musst nochattr KeyValueProtocol_R20_1 deltaReadings zaehler,Regen_geshinzufügen.
Grüße Markus
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Persuasiv am 28 November 2020, 09:40:09
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)}
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Beta-User am 28 November 2020, 10:09:50
Muss das Attribut nicht an das statistics-Device statt an das zu überwachende?
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Persuasiv am 28 November 2020, 10:20:39
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
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Beta-User am 28 November 2020, 13:37:36
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_...
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Icinger am 28 November 2020, 14:37:27
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.
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: amenomade am 28 November 2020, 18:32:40
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
Titel: Antw:statistics - Delta funktioniert nicht
Beitrag von: Persuasiv am 28 November 2020, 20:21:32
@Icinger

Besten Dank für den Hinweis. Das hat funktioniert. Scheinbar kann man minAvgMaxReadings und deltaReadings nicht gleichzeitig anlegen.