statistics - Delta funktioniert nicht

Begonnen von Persuasiv, 27 November 2020, 23:01:02

Vorheriges Thema - Nächstes Thema

Persuasiv

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

amenomade

Bitte ein "list" von den jeweiligen Devices.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Persuasiv

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

KölnSolar

ich bin mir nicht sicher, aber ich glaube Du musst nochattr KeyValueProtocol_R20_1 deltaReadings zaehler,Regen_geshinzufügen.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Persuasiv

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)}

Beta-User

Muss das Attribut nicht an das statistics-Device statt an das zu überwachende?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Persuasiv

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

Beta-User

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_...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Icinger

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.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

amenomade

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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Persuasiv

@Icinger

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