FHEM Forum

FHEM => Automatisierung => Thema gestartet von: PowderK am 19 Mai 2014, 21:41:33

Titel: "Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: PowderK am 19 Mai 2014, 21:41:33
Hy
Ich wollte das neue Modul 98_statistics.pm für meinen Stromzähler ausprobieren. Für das auslesen meines Zählers nutzte ich das Module Volkszähler.
Die Definition sieht folgendermaßen aus:

define Statistik_NT statistics NT total

Leider bekommeich folgende Meldung

monitoredDevicesUnsupported NT#VOLKSZAEHLER

Deshalb meine Frage wird das Volkszähler Modul überhaupt unterstütz oder stimmt an meinem Code etwas nicht?
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Bennemannc am 19 Mai 2014, 21:48:03
Hallo,

ich mache die statistischen Werte für meine Stromzähler mit average. Der macht etwas ähnliches. Als "Methode" habe ich Counter gewählt. Ich bekomme eine Summe für Monat und Tag, den Durchschnittswert für Monat und Tag und die Anzahl der eingegangenen Werte (eher weniger interessant). Dann habe ich einen at gebaut, der mir die Tageswerte in ein Log schreibt.

Gruß Christoph
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: PowderK am 19 Mai 2014, 21:55:05
Kannst du den Code mal Posten?
Würde ich gerne mal ausprobieren! ;)
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: PowderK am 20 Mai 2014, 22:09:46
Ich hab das Modul average jetzt mal ausprobiert. Leider liefert es nicht die Daten die ich benötige.
Zur Erklärung kurz ich logge jede stunde einmal den Zählerstand.
Nun möchte ich die verbrauchten kw/h statistisch erfassen.
Es müsste nun also die Differenz der Werte erfasst werden
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Bennemannc am 20 Mai 2014, 22:21:34
Hallo,

ich setzte den Panstamp nach jedem Senden auf 0. Deshalb klappt das mit average. Es gibt aber noch difference oder differential - das könnte etwas für Dich sein, wenn der Zähler nicht zurückgesetzt wird. Der eine macht nur die Differenz (wie der Name schon sagt). Der differtial teilt die Differenz zwischen den beiden Werten durch die Sekunden zwischen den beiden Zeitstempeln. Ich habe mit beiden noch nicht gearbeitet.

Gruß Christoph
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 22 Mai 2014, 17:54:08
Wie heißt das Reading für das die Statistik erstellt werden soll?
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: PowderK am 22 Mai 2014, 18:27:07
Der "last" Wert

hier noch mal der Wiki eintrag für den Volkszähler

http://www.fhemwiki.de/wiki/Volkszaehler (http://www.fhemwiki.de/wiki/Volkszaehler)
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 22 Mai 2014, 19:25:47
Was stellt dieser Wert denn da?

Am besten Du postest Mal ein "list <device>".
Titel: Antw:"Satistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Puschel74 am 22 Mai 2014, 19:47:50
Hallo,

änder doch bitte mal den Titel.

Ein "Satistics Modul" gibt es nicht - wir haben hier hoffentlich keine Satanisten  ;D
Ich weiß nicht ob die Suchfunktion das unterscheiden kann, hab ich noch nicht versucht.

Aber auch Anfänger mit dem richtigen Suchbegriff sollten nicht unnötig in die Irre geführt werden  ;)
Danke.

Grüße
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: PowderK am 22 Mai 2014, 23:00:37
Ups da ändere ich doch gleich mal den titel  ::)


Hier mal die readings von dem Volkszähler modul

Der Wert wird alle Stunde ausgelesen und beinhaltet den Zählerstand in kw/h

Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Billy am 23 Mai 2014, 11:05:25
@tupol

ist es normal, dass ich jede Stunde im Log 2 Einträge bekomme? Einer würde doch auch reichen!

2014-05-23_09:59:54 B_RGR918 statRain_total: Hour: 0 Day: 2.0 Month: 2.0 Year: 2.0 (since: 2014-05-19 )
2014-05-23_10:00:37 B_RGR918 statRain_total: Hour: 0.0 Day: 2.0 Month: 2.0 Year: 2.0 (since: 2014-05-19 )

Billy
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 23 Mai 2014, 14:43:29
statRain_total wird zu jeder Stunde berechnet und jedes Mal, wenn das Gerät über eine Werteänderung benachrichtigt.
Logs Du den Wert nach jedem update anstatt nach jedem change?
Nach jedem Update sollte man nur für statRain_totalLast nehmen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Billy am 23 Mai 2014, 14:59:11
Zitat von: tupol am 23 Mai 2014, 14:43:29
statRain_total wird zu jeder Stunde berechnet und jedes Mal, wenn das Gerät über eine Werteänderung benachrichtigt.
Logs Du den Wert nach jedem update anstatt nach jedem change?
Nach jedem Update sollte man nur für statRain_totalLast nehmen.

Ich logge wie folgt:
event-on-change-reading --> statRain_totalLast --> statRain_total

Die Frage ist ja warum er 2mal ins Log schreibt? --> vermute es liegt am  --> Hour: 0 --> Hour: 0.0
das wäre ja ein event-on-change!

2014-05-23_13:59:54 B_RGR918 statRain_total: Hour: 0 Day: 2.0 Month: 2.0 Year: 2.0 (since: 2014-05-19 )
2014-05-23_14:00:19 B_RGR918 statRain_total: Hour: 0.0 Day: 2.0 Month: 2.0 Year: 2.0 (since: 2014-05-19 )

im Reading steht aber immer
statRain_total:  Hour: 0.0 Day: 2.0 Month: 2.0 Year: 2.0 (since: 2014-05-19 )

Billy
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 23 Mai 2014, 18:50:14
Danke für den Hinweis. Neue Version eingecheckt. Kann morgen runtergeladen werden.

Für andere Nutzer, das Modul braucht nur einmal mit "Regulären Ausdrücken" als deviceName angelegt zu werden. Mehrere "defines" verlangsamen FHEM.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 23 Mai 2014, 18:56:44
Zitat von: PowderK am 22 Mai 2014, 23:00:37
Hier mal die readings von dem Volkszähler modul

Jetzt bin ich irritiert. Wäre CONSUMPTION nicht der richtige Wert. Das neue Modul enthält jetzt die Attribute "deltaReadings", "durationReadings", "minAvgMaxReadings". Bitte den Readingnamen dort eintragen, testen und mir das Attribut und Resultat mitteilen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 25 Mai 2014, 12:33:02
Wäre es möglich, dass jemand mit dem Volkszähler-Modul hier das JSON-File der Middleware publiziert. Ich denke, dass könnte man auch recht einfach in das JSONMETER einbauen. Das würde dann auch zeitabhängige Tarife verarbeiten können und es läuft auf der FB ohne zusätzliche Module.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Billy am 26 Mai 2014, 16:21:10
Zitat von: tupol am 23 Mai 2014, 18:50:14
Danke für den Hinweis. Neue Version eingecheckt. Kann morgen runtergeladen werden.

Hi Tupol

Da gibt es zumindest bei mir noch ein kleines Problem! :-\

Beim Tageswechsel wird um  10 Sec zu früh auf null gesetzt --> 2014-05-25_23:59:50

2014-05-25_23:47:24 B_RGR918 statRain_total: Hour: 3.0 Day: 3.0 Month: 9.0 Year: 9.0 (since: 2014-05-23 )
2014-05-25_23:59:50 B_RGR918 statRain_total: Hour: 0.0 Day: 0.0 Month: 9.0 Year: 9.0 (since: 2014-05-23 )
2014-05-25_23:59:50 B_RGR918 statRain_totalLast: Hour: 3.0 Day: 3 Month: - Year: -

Mit dem negativen Effekt, dass der Tageswert im Plot (Label) statt der 3 mm/hr mit null angezeigt wird.

Müsste aus meiner Sicht im Plot z.B. so aussehen. Falls das geht?

2014-05-25_23:47:24 B_RGR918 statRain_total: Hour: 3.0 Day: 3.0 Month: 9.0 Year: 9.0 (since: 2014-05-23 )
2014-05-26_00:00:10 B_RGR918 statRain_total: Hour: 0.0 Day: 0.0 Month: 9.0 Year: 9.0 (since: 2014-05-23 )
2014-05-26_23:59:50 B_RGR918 statRain_totalLast: Hour: 3.0 Day: 3 Month: - Year: -

Billy
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 26 Mai 2014, 16:53:42
Bin mir nicht sicher, ob ich Dich richtig verstanden habe. Aber hast Du die aktuelle commandref gelesen?

◦periodChangePreset <Sekunden>
Start of the calculation of periodical data, default is 5 Sekunden before each full hour,
Allows the correct timely assignment within plots, can be adapted to the cpu load.


Kannst Du im Label nicht besser den Tages-Max-Wert oder noch besser den Last-Wert nehmen? Ein zweiter Aufruf nach 20s verdoppelt die CPU-Load.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Billy am 26 Mai 2014, 17:38:02
Zitat von: tupol am 26 Mai 2014, 16:53:42
Bin mir nicht sicher, ob ich Dich richtig verstanden habe. Aber hast Du die aktuelle commandref gelesen?

Versuche nochmals das Problem zu erklären.
Im augenblicklichen Tagesplot wird im Label alles richtig angezeigt!
z.B Jetzt
Aktuell: 1.0, Tageswert: 16.0 l/m² -- Stundenwert Max 8.0 l/m² -

Wenn ich mit der Pfeiltaste über dem Plot (prev) den Vortag wähle also zurückblättere,

Dann wird angezeigt
Aktuell: 0.0, Tageswert: 0.0 l/m² -- Stundenwert Max 3.0 l/m²
obwohl der Tageswert ja 3mm war.
Das Label bezieht sich ja immer auf den letzten Ploteintrag !

Wenn ich den Ploteintrag von Hand auf den Wert 10 Sec nach Mitternacht (00:00:10) verändere stimmt alles!
Der Last wert hift mir in Diesem Plot nichts, da er ja den lfd. tag nicht abbildet!

Hoffe das war verständlich.

Billy
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Markus M. am 26 Mai 2014, 20:05:01
Bitte die Wertetypen die Willi in den TRX Modulen definiert hat auch noch hinzufügen, z.B.:

OWL Stromzähler
   ,["energy_current", 1, 1]
   ,["energy_total", 2, 3]

Oregon Regen
   ,["rain_rate", 1, 1]

Oregon Wind
   ,["wind_speed", 1, 1]

RFXTRX433 Standardgeräte mit String States
   ,["window", 3, ?]
   ,["lightsensor", 3, ?]
   ,["motion", 3, ?]
   ,["lock", 3, ?]

Es gibt noch einige mehr!
Bitte einfach mal in 46_TRX_ELSE, 46_TRX_LIGHT, 46_TRX_SECURITY, 46_TRX_WEATHER nachsehen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 26 Mai 2014, 20:07:25
Zitat von: Billy am 26 Mai 2014, 17:38:02
Im augenblicklichen Tagesplot wird im Label alles richtig angezeigt!
z.B Jetzt
Aktuell: 1.0, Tageswert: 16.0 l/m² -- Stundenwert Max 8.0 l/m² -

Wenn ich mit der Pfeiltaste über dem Plot (prev) den Vortag wähle also zurückblättere,

Dann wird angezeigt
Aktuell: 0.0, Tageswert: 0.0 l/m² -- Stundenwert Max 3.0 l/m²
obwohl der Tageswert ja 3mm war.
Das Label bezieht sich ja immer auf den letzten Ploteintrag !

OK. Dann habe ich Dich doch verstanden. Was zeigst Du denn im Label an_ Korrekter Weise sollte dort $data{max1} für den höchsten Tageswert stehen. Wobei die "1" für die Position im gplot-File steht.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 26 Mai 2014, 20:10:41
Morgen im update. :-)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Markus M. am 27 Mai 2014, 04:14:20
Single Delta Werte werden nicht in der DB gespeichert, weshalb da leider noch gar nichts stimmt.
Min/Max/Avg scheint zu funktionieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 27 Mai 2014, 07:50:27
Den Bug in den singularReadings habe ich gestern entdeckt und gefixt. Heute sollte es also nach dem Update funktionieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: kkoeniger am 27 Mai 2014, 10:13:34
Kannst Du bitte auch noch "statEnergyDayLast" bei den singularReadings fixen, danke (tolles Modul!)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 27 Mai 2014, 11:56:55
Zitat von: kkoeniger am 27 Mai 2014, 10:13:34
Kannst Du bitte auch noch "statEnergyDayLast" bei den singularReadings fixen, danke (tolles Modul!)

Das sollte eigentlich auch mit dem heutigen Update gefixt sein. Sieht man allerdings erst nach dem dayChange oder in statEnergyHourLast.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: kkoeniger am 27 Mai 2014, 12:04:17
Danke, ich werde es morgen beobachten.

Gerade sieht es so aus:
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Markus M. am 27 Mai 2014, 22:12:16
Das Speichern der Delta Werte funktioniert leider immer noch nicht.
Bei mir kommt in der DB nichts an.

edit: für die ...DayLast Werte tauchte um Mitternacht jeweils 0 in der DB auf, stündlich tut sich nichts.

Danke für die anderen Readings!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 28 Mai 2014, 05:19:51
Seltsam. Bei mir funktioniert es. Hast Du gestern ein update durchgeführt?
Kannst Du nochmal ein "list" beider Geräte einstellen.

PS: DayLast wird natürlich nur um Mitternacht erzeugt. Es sollte jedoch in die DB wandern und dem gestrigen Day-Wert entsprechen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: micomat am 28 Mai 2014, 20:00:01
Zitat von: tupol am 23 Mai 2014, 18:50:14
Für andere Nutzer, das Modul braucht nur einmal mit "Regulären Ausdrücken" als deviceName angelegt zu werden. Mehrere "defines" verlangsamen FHEM.

fuer mehrere Geraete reicht auch ein define? wie kann ich im regulaeren ausdruck wert1 von geraet1 und wert2 von geraet2 erfassen?

danke,
markus
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 29 Mai 2014, 21:12:12
Bitte die commandref lesen. Man gibt nur Gerätewerte an. falls noch nicht geschehen, dann am besten auch mit regulären Ausdrücken beschäftigen. Ist sinnvoll in fhem :-)

Ansonsten geht es einfach mit: device1|device2|device3
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: micomat am 30 Mai 2014, 13:50:56
danke :)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: rabbe am 02 Juni 2014, 12:57:11
Zitat von: tupol am 27 Mai 2014, 11:56:55
Das sollte eigentlich auch mit dem heutigen Update gefixt sein. Sieht man allerdings erst nach dem dayChange oder in statEnergyHourLast.

Hallo,

wirklich eine tolle Arbeit die du hier leistest, wie schon beim JSONMETER-Modul. Recht vielen Dank. Ich kreiere bei meinen FritzDect200-Modulen ein "energy_kWh"-Reading wie auch bei meinem LS110 "electricityConsumed_kWh". Könnte dies bitte noch mit aufgenommen werden?

Danke und Gruß rabbe
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 02 Juni 2014, 15:06:20
Danke  :)
Da es sehr speziell ist, sollte das über das Attribut "deltaReadings" gelöst werden.

attr <device> deltaReadings energy_kWh,electricityConsumed_kWh
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: kkoeniger am 03 Juni 2014, 15:03:05
Ist auch bei Anderen das Attribut "singularReadings" seit dem heutigen Update nicht mehr definierbar?

Irgendwie hat es mir alle singularReadings aus der fhem.cfg gelöscht.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 03 Juni 2014, 16:21:08
Upps. Da ist habe ich versehentlich die Zeile 103 gelöscht.
."singularReadings "
Morgen ist es wieder OK. Für heute vielleicht einfach selber im Modul ändern.  :-[
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: stromer-12 am 04 Juni 2014, 19:20:25
Hi,

Was muss ich eigentlich einstellen, um bei den AVM Teilen einen Stündlichen Mittelwert zu bekommen?

Gruß
Gerd
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 04 Juni 2014, 21:26:21
Ich verstehe die Frage leider nicht.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: stromer-12 am 04 Juni 2014, 22:25:57
Ich habe durch

define FBDECT_1000_STAT statistics FBDECT_1000
attr FBDECT_1000_STAT excludedReadings FBDECT_1000:energy


die Statistik für den AVM Adapter aktiviert, durch

attr FBDECT_1000_STAT singularReadings FBDECT_1000:power:Delta:(Hour|Day)

bekomme ich aber keine extra Readings.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 05 Juni 2014, 06:53:03
Das ist korrekt. power ist kein kumulierter sondern ein Momentan-Wert. Deshalb funktioniert Delta nicht sondern nur Average.

attr FBDECT_1000_STAT singularReadings FBDECT_1000:power:Average:Day

Allerdings habe ich hier Hour nicht vorgesehen, da man aufgrund des Polling-Mechanismus von FBDECT hier besser energy benutzt.

attr FBDECT_1000_STAT singularReadings FBDECT_1000:energy:Delta:Hour

PS: Habe gerade einen bugfix für den Tageswechsel hochgespielt. Tägliche Statistiken sollte ab morgen wieder funktionieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: stromer-12 am 06 Juni 2014, 18:22:39
Wenn ich "statEnergyLast" aus DbLog auswerten möchte bekomme ich nur den ersten Wert angezeigt.
Die anderen Werte werten unterschlagen.

statEnergyLast  Hour: 39 Day: 300 Month: - Year: - (since: 2014-06-05_10:10:10 )

Muss ich jetzt für die anderen Werte Einzelreadings anlegen?


get myDbLog - - 2014-06-05 2014-06-06 FBDECT_1000:statEnergyLast
2014-06-05_14:59:55 20
2014-06-05_15:59:55 22
2014-06-05_16:59:55 21
2014-06-05_17:59:55 29
2014-06-05_18:59:55 35
2014-06-05_19:59:55 30
2014-06-05_20:59:55 115
2014-06-05_21:59:55 58
2014-06-05_22:59:55 59
2014-06-05_23:59:55 51
#FBDECT_1000:statEnergyLast:::
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: stromer-12 am 06 Juni 2014, 18:37:47
Es liegt an DbLog, es verwirft bei FBDECT alles andere.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 06 Juni 2014, 22:00:10
So richtig verstehe ich nicht was Du tun willst. Falls es um Plots geht, schau mal nach bei http://forum.fhem.de/index.php/topic,23052.msg165136.html#msg165136 (http://forum.fhem.de/index.php/topic,23052.msg165136.html#msg165136)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: stromer-12 am 06 Juni 2014, 22:58:54
Naja, das Reading lautet ja so:

2014-06-06 21:59:55   statEnergyLast  Hour: 77 Day: 1383 Month: - Year: -

in der DbLog wurde aber nur:

2014-06-05_21:59:55  77

geloggt, der Rest ist nicht vorhanden.
Und wie man sieht ist da nichts von Day und sw. zu sehen, also kannman auch nichts mehr darstellen.

Das Device ist vom TYPE=FBDECT und wird in der DbLog speziell behandelt.

Edith: Falsch, Es ist alles drin, nur im Value der DB steht nicht alles drin was durch $val ausgewertet wird.

2014-06-06 12:59:55: FBDECT_1000, FBDECT, statEnergyLast: Hour: 63 Day: 300 Month: - Year: - (since: 2014-06-05_10:10:10 ), statEnergyLast, 63, D

Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 09 September 2014, 22:15:25
Hallo tupol,

da bei mir singularReadings keinen Wert liefert hätte ich bzgl Definition eine Frage. Wie muss es nun korrekt lauten:


CUL_HM_HM_WDS40_TH_I_2513EC:temperature:Average:1h


oder so wie in der commandRef angegeben:


CUL_HM_HM_WDS40_TH_I_2513EC:temperature:Avg:1h


Wobei ich beides ausprobiert habe und weder beim ersten noch beim zweiten einen Wert bekomme.

Ist da noch irgendwo ein Fehler drin? Aber bei anderen Usern scheint es ja auch zu funktionieren. Update von fhem wurde gestern durchgeführt.

Danke

Gruß,
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 10 September 2014, 13:29:28
CUL_HM_HM_WDS40_TH_I_2513EC:temperature:Avg:Day|Month|Year

Werde das in der Commandref mal eindeutiger formulieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 11 September 2014, 16:12:22
Hallo,

hierzu habe ich noch eine Frage, warum schreibt es mir nicht die stat* Readings in ein Logfile? Ich habe verschiedene Einstellungen in der DEF für das Logfile durchgeführt, es wird immer nur der State bzw. die setreadings in das File geschrieben. Ist dies so gewollt? Muss ich die stat* Readings erst wieder per notify auslesen um diese dann in ein Logfile schreiben zu können?

Danke

Gruß,
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 11 September 2014, 19:04:30
Also bei mir tut es das. Allerdings ist Deine Frage sehr unspezifisch. Da brauch ich mehr Futter ;-)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 11 September 2014, 20:49:31
Hi,

ja sorry, ich hatte von unterwegs geschrieben und nicht gleich das Beispiel zur Hand ;-) Ich hole es hiermit nach. Ich habe wie in der commandref definiert das Logfile angelegt. atempval ist das Dummy wo die Readings reingeschrieben werden.

Zum Beispiel:

./log/Test_dummy.log atempval:(statTemperatureHourLast|statTemperatureMonth).*


oder:

./log/Test_dummy.log atempval:statTemperatureHourLast


oder

./log/Test_dummy.log atempval:.*


tut sich nichts. Ich meine ich hatte noch weitere verschiedene Version versucht. Aber es tut sich nichts.


Es werden nur die Readings temperature und state geschrieben wenn dies so


./log/Test_dummy.log atempval


angelegt ist.

Ich weiß nur eben nicht warum. Was ist den oben falsch?

Danke

Gruß,
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 12 September 2014, 17:58:17
Hallo,

also ich habe jetzt noch einen Versuch gestarte und dies eingetragen:


./log/Test_dummy.log atempval:.*(temperature|statTemperatureHourLast|statTemperatureHour).*


Und nichts. Im Gegensatz zu temperature wird statTemperaturHourLast und statTemperaturHour nicht ins Logfile geschrieben. Ich versteh es nicht.

Gruß,
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 14 September 2014, 11:11:21
Ist das der komplete Befehl? Wieso schreibst Du die Readings in einen dummy? Irgendwie scheinst Du eine sehr spezielle Installation zu haben und mir fehlen alle Infos, um den Fehler einkreisen zu können.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 14 September 2014, 14:18:37
Hallo,

ich habe das FileLog nochmals neu angelegt. Jetzt funktioniert es. Allerdings erkenne ich keinen Grund warum dies voher nicht funktionierte, da dies von den Einstellungen nichts anderes ist.

Bzgl Reading im Dummy, ich lese jede Minute über ModBus Werte aus und las diese in ein Dummy schreiben. Das funktioniert ohne Probleme. Bisher habe ich die Mittelwerte immer aus dem LogFile mit Average ermittelt. Dies ist soweit auch in Ordnung. Allerdings nehme ich an, dass das Statistic Modul für solche Zwecke besser ist, da es bestimmt die Fritzbox nicht so belastet ;-) Von daher der Umstieg.

Danke

Gruß,
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: olli84 am 02 November 2014, 16:36:51
Hallo tupol,

gibt es eine Möglichkeit das reading
statEnergy_total
welches bei mir als Ergebnis das anzeigt:
Hour: 0.4676 Day: 1.4441 Month: 1.4441 Year: 1.4441 (since: 2014-11-02_13:47:50 )
etwas anders zu formatieren?
Gerne hätte ich die Begriffe in Deutsch und gerne ohne den Zeitstempel. Dann siehts im Floorplan auch nett aus. :)

Vielen Dank für das tolle Modul!
Olli
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 02 November 2014, 18:48:40
Zum Umformatieren kann man 'userReadings' nutzen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: olli84 am 02 November 2014, 22:50:54
Hallo tupol,

vielen Dank für deine fixe Antwort.

Leider verstehe ich die, bei userreadings in der commandref stehenden, Sachen nicht. Mangels Perl-Wissen habe ich keinerlei Idee wie ich so etwas formatieren soll...

Jemand ne Idee?
Viele Grüße,

Edit: Jetzt muss ich mich nochmal melden - meine Statistik wurde um 00:00 Uhr resettet - wieso das denn?
Hour: 0.0656 Day: 2.0190 Month: 2.0190 Year: 2.0190 (since: 2014-11-03 )

Nur das Energy_totallast wird weitergezählt...
statEnergy_totalLast
Hour: 0.4462 Day: 5.0802 Month: - Year: - (since: 2014-11-02_13:47:50 )
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 03 November 2014, 12:44:42
Zitat von: olli84 am 02 November 2014, 22:50:54
Edit: Jetzt muss ich mich nochmal melden - meine Statistik wurde um 00:00 Uhr resettet - wieso das denn?
Hour: 0.0656 Day: 2.0190 Month: 2.0190 Year: 2.0190 (since: 2014-11-03 )
Das ist gewollt und passiert nur einmal vor dem ersten vollen Tag.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: olli84 am 04 November 2014, 08:02:21
gerade gemerkt - einfach zu ungeduldig.

Herzlichen Dank. :)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 05 November 2014, 21:59:27
Zitat von: olli84 am 02 November 2014, 22:50:54
Leider verstehe ich die, bei userreadings in der commandref stehenden, Sachen nicht. Mangels Perl-Wissen habe ich keinerlei Idee wie ich so etwas formatieren soll...
Jemand ne Idee?
attr <name> userReadings neuesReading {ReadingsVal("Stromzaehler","statElectricityConsumed","") =~ /Hour: (\d+\.*\d*) Day: (\d+\.*\d*) Month: (\d+\.*\d*) Year: (\d+\.*\d*)/;; return "Stunde: $1 Tag: $2 Monat: $3 Jahr: $4";;}
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: olli84 am 06 November 2014, 10:16:28
Hallo Tupol!

Vielen Dank für deine Hilfe! Das hätte ich niemals alleine hinbekommen! Danke!

Grüßle,
Olli
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: netbus am 17 November 2014, 14:41:14
Hallo,
Ich versuche dieses Modul für meinen OWL CM160 zu verwenden um Monats und Jahreswerte zu bekommen.
Das Problem das ich habe ist, dass die Readings voller Nullen geschrieben werden.
Darauf hin habe ich das Modul nicht mehr CM160 zugewiesen sondern einem Dummy der von CM160 beliefert wird. Leider hat auch er das gleiche Problem mit den Nullen.
Hier mein Code:
define stromstats statistics AktuellerVerbrauch
attr stromstats singularReadings AktuellerVerbrauch:state:Duration:Day|Month|Year


So sieht der Log dazu aus
2014-01-19_09:36:25 AktuellerVerbrauch 574.56 W
2014-01-19_09:37:50 AktuellerVerbrauch 606.48 W
2014-01-19_09:38:00 AktuellerVerbrauch 590.52 W
2014-01-19_09:39:00 AktuellerVerbrauch 670.32 W
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 17 November 2014, 16:08:57
Richtig. So ist es in der commandref beschrieben. Statistics sagt dir, wie lange der jeweilige state (= Status wie offen, geschlossen, an, aus) existiert hat und gibt Dir für jeden möglichen Wert die Dauer zurück. :-)

In Deinem singularReading fehlt die Bezeichnung des Readings.

statistics bietet keine Integralfunktion, um von der Leistung auf die Energie zu kommen. Die gehört ins OWL-Modul oder in ein generelles Integral-Modul.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 30 November 2014, 16:39:51
Bin auf dem Weg, ein Freund von Statistics zu werden, weil mir im Vergleich zu Average die Option besser gefällt, die auszuwertenden Readings zu bestimmen. Heute hatten wir hier nun einen Tag mit Temperaturen erstmals komplett unter 0 (so -0.3 bis -0.7) Dennoch zeigen mir alle Statistiken als Minimumwert 0.0. Was mache ich falsch? Sicherheitshalber mal meine Defintion:


   DEF        Wetterstation|CC.[^(t)]*?|TF.*|T_.*
   DEV_REGEXP Wetterstation|CC.[^(t)]*?|TF.*|T_.*
   NAME       Statistik
   NR         729
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: T_Heizung
   TYPE       statistics
   Readings:
     2014-11-29 16:32:07   monitoredDevicesCUL_HM CC_Bad_EG,CC_Bad_OG,CC_Jula,CC_Kueche,CC_Schlafzimmer,CC_Suedzimmer,CC_Wohnzimmer,TF_Waschkueche,T_Galerie_Fussboden,Wetterstation
     2014-11-29 16:32:05   monitoredDevicesOWMULTI TF_Galerie
     2014-11-29 16:32:07   monitoredDevicesOWTHERM T_Heizung,T_Ruecklauf,T_Ruecklauf_Anhebung,T_Vorlauf_FBH,T_Warmwasser
     2014-11-29 16:32:05   monitoredDevicesUnsupported CC_Bad_EG_WindowRec#CUL_HM,CC_Bad_OG_WindowRec#CUL_HM,CC_Jula_WindowRec#CUL_HM,CC_Kueche_WindowRec#CUL_HM,CC_Schlafzimmer_WindowRec#CUL_HM,CC_Suedzimmer_WindowRec#CUL_HM,CC_Wohnzimmer_WindowRec#CUL_HM
     2014-11-30 15:59:55   nextPeriodChangeCalc 2014-11-30 16:59:55
     2014-11-30 16:35:12   state           Updated stats for: T_Heizung
   Fhem:
     modulVersion $Date: 2014-11-13 21:44:43 +0100 (Thu, 13 Nov 2014) $
   Helper:
     Bm:
       Statistics_notify:
         cnt        433
         dmx        0
         max        462
         tot        26461
         mAr:
           HASH(0x170edd0)
           HASH(0x15b9098)
Attributes:
   deltaReadings rain
   minAvgMaxReadings measured-temp,brightness,humidity,temperature,windSpeed
   room       Unsorted
   tendencyReadings Rel_Luftdruck


Beispiel eines Readings mit Minus-Wert:
2014-11-30 16:36:51   temperature     -0.5


Danke für sachdienliche Hinweise im Voraus!

Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 30 November 2014, 19:10:31
Bugfix im morgigem update
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 01 Dezember 2014, 06:21:32
Vielen Dank für den bugfix - habe in aus dem Repository geladen und ausprobiert - der negative Wert wird jetzt Minimum genannt, aber leider ohne das Minus-Zeichen. Also: Beispiel:
-0.9 wird eingetragen als 0.9

Herzliche Grüße Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 01 Dezember 2014, 21:33:56
aller guten dinge sind 2. bugfixe auch. :-)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 01 Dezember 2014, 23:11:16
Jo, das klappt nun und somit wird meine Monatsstatistik ziemlich gut stimmen, weil ich in den Summen nur 22 Stunden falsche Min-Werte habe.

Vielen Dank!

Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 05 Dezember 2014, 18:38:10
Bei Statistik ist mir noch ein weiterer Fehler aufgefallen: Die Übergabe der min/avg/max-Werte um Mitternacht funktioniert m.E. weder beim Übergang von Day nach DayLast noch bei Month nach MonthLast.
Meiner Meinung nach wird der Min-Wert vom Vor-Tag/-Monat als MIN/AVG/MAX in -Last abgelegt.

Herzliche Grüße

Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 05 Dezember 2014, 20:18:56
Wie hast Du es getestet?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 05 Dezember 2014, 21:33:44
Einfach laufender Betrieb und in den letzten Tagen beobachtet: als min/avg/max des letzten Tages wurden der Min-Wert um Mitternacht eingetragen.
Beisiel: 23.59: -1,5 0,5 2,5
Lastday wird dann -1,5  -1,5  -1,5

Herzliche Grüße

Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 05 Dezember 2014, 21:58:37
Poste mal bitte ein "list" von statistics und dem auszuwertendem device.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 06 Dezember 2014, 07:57:40
gerne:

Internals:
   DEF        Wetterstation|CC.[^(t)]*?|TF.*|T_.*
   DEV_REGEXP Wetterstation|CC.[^(t)]*?|TF.*|T_.*
   NAME       Statistik
   NR         725
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: T_Vorlauf_FBH
   TYPE       statistics
   Readings:
     2014-12-05 19:10:30   monitoredDevicesCUL_HM CC_Bad_EG,CC_Bad_OG,CC_Jula,CC_Kueche,CC_Schlafzimmer,CC_Suedzimmer,CC_Wohnzimmer,TF_Waschkueche,T_Galerie_Fussboden,Wetterstation
     2014-12-05 19:10:28   monitoredDevicesOWMULTI TF_Galerie
     2014-12-05 19:10:30   monitoredDevicesOWTHERM T_Heizung,T_Ruecklauf,T_Ruecklauf_Anhebung,T_Vorlauf_FBH,T_Warmwasser
     2014-12-05 19:10:28   monitoredDevicesUnsupported CC_Bad_EG_WindowRec#CUL_HM,CC_Bad_OG_WindowRec#CUL_HM,CC_Jula_WindowRec#CUL_HM,CC_Kueche_WindowRec#CUL_HM,CC_Schlafzimmer_WindowRec#CUL_HM,CC_Suedzimmer_WindowRec#CUL_HM,CC_Wohnzimmer_WindowRec#CUL_HM
     2014-12-06 06:59:55   nextPeriodChangeCalc 2014-12-06 07:59:55
     2014-12-06 07:55:05   state           Updated stats for: T_Vorlauf_FBH
   Fhem:
     modulVersion $Date: 2014-12-01 21:31:49 +0100 (Mon, 01 Dec 2014) $
Attributes:
   deltaReadings rain
   minAvgMaxReadings measured-temp,brightness,humidity,temperature,windSpeed
   room       Unsorted
   tendencyReadings Rel_Luftdruck


Beispielhaft für die definierten Devices:
Internals:
   CFGFN      ./FHEM/wetter.cfg
   CUL_0_MSGCNT 301
   CUL_0_RAWMSG A13B286701DBB9A0000000029631520C000377909::-73.5:CUL_0
   CUL_0_RSSI -73.5
   CUL_0_TIME 2014-12-06 07:53:57
   DEF        1DBB9A
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     301
   NAME       Wetterstation
   NR         545
   STATE      T: 4.1 H: 99 W: 0 R: 1595.36 IR: 0 WD: 275 WDR: 67.5 S: 121 B: 9
   TYPE       CUL_HM
   lastMsg    No:B2 - t:70 s:1DBB9A d:000000 0029631520C000377909
   protLastRcv 2014-12-06 07:53:57
   rssi_at_CUL_0 avg:-72.98 min:-75 max:-71.5 lst:-73.5 cnt:301
   Readings:
     2014-12-05 19:10:26   Activity        alive
     2014-07-26 15:19:19   D-firmware      1.3
     2014-07-26 15:19:19   D-serialNr      JEQ0532158
     2014-12-06 07:55:56   Rel_Luftdruck   1023
     2014-12-06 07:55:56   Sonnenstunden   31.5480555555556
     2014-12-06 07:53:57   Taupunkt        4.0
     2014-12-06 06:07:21   Windchill       4
     2014-12-06 07:53:57   brightness      9
     2014-11-28 11:23:59   brightness_cum_day 422768
     2014-11-28 11:23:59   brightness_cum_month 26148591
     2014-12-06 07:53:57   humidity        99
     2014-12-06 07:53:57   isRaining       0
     2014-12-06 07:53:57   rain            1595.36
     2014-09-01 07:51:04   rain_calc_d_last 9.4
     2014-12-06 06:50:01   rain_last_day   0
     2014-12-06 07:55:56   statBrightnessDay Min: 8.0 Avg: 8.9 Max: 9.0
     2014-12-05 23:59:57   statBrightnessDayLast Min: 9.0 Avg: 9.0 Max: 9.0
     2014-12-06 07:55:56   statBrightnessHour Min: 9.0 Avg: 9.0 Max: 9.0
     2014-12-06 06:59:57   statBrightnessHourLast Min: 8.0 Avg: 8.9 Max: 9.0
     2014-12-06 07:55:56   statBrightnessMonth Min: 8.0 Avg: 9.6 Max: 30.0
     2014-11-30 23:59:59   statBrightnessMonthLast Min: 9.0 Avg: 9.0 Max: 9.0
     2014-12-06 07:55:56   statBrightnessYear Min: 0.0 Avg: 9.5 Max: 30.0 (since:  )
     2014-12-06 07:55:56   statHumidityDay Min: 94.0 Avg: 96.6 Max: 99.0
     2014-12-05 23:59:57   statHumidityDayLast Min: 95.0 Avg: 95.0 Max: 95.0
     2014-12-06 07:55:56   statHumidityHour Min: 99.0 Avg: 99.0 Max: 99.0
     2014-12-06 06:59:57   statHumidityHourLast Min: 99.0 Avg: 99.0 Max: 99.0
     2014-12-06 07:55:56   statHumidityMonth Min: 85.0 Avg: 91.9 Max: 99.0
     2014-11-30 23:59:59   statHumidityMonthLast Min: 92.0 Avg: 92.0 Max: 92.0
     2014-12-06 07:55:56   statHumidityYear Min: 0.0 Avg: 90.5 Max: 99.0 (since:  )
     2014-12-06 07:55:56   statRain        Hour: 0.000 Day: 0.295 Month: 0.885 Year: 0.885 (since: 2014-11-28 )
     2014-12-06 06:59:57   statRainLast    Hour: 0.000 Day: 0.000 Month: 0.000 Year: -
     2014-12-06 06:59:57   statRel_LuftdruckTendency 1h: +1.0 2h: +2.0 3h: +1.0 6h: +1.0
     2014-12-06 07:55:56   statTemperatureDay Min: 2.8 Avg: 3.7 Max: 4.2
     2014-12-05 23:59:57   statTemperatureDayLast Min: 2.8 Avg: 2.8 Max: 2.8
     2014-12-06 07:55:56   statTemperatureHour Min: 4.1 Avg: 4.2 Max: 4.2
     2014-12-06 06:59:57   statTemperatureHourLast Min: 4.0 Avg: 4.1 Max: 4.2
     2014-12-06 07:55:56   statTemperatureMonth Min: -4.0 Avg: -0.4 Max: 4.2
     2014-12-01 22:19:38   statTemperatureMonthLast Min: -0.9 Avg: 0.0 Max: 0.9
     2014-12-06 07:55:56   statTemperatureYear Min: -4.0 Avg: 0.2 Max: 4.2 (since:  )
     2014-12-06 07:55:56   statWindSpeedDay Min: 0.0 Avg: 0.1 Max: 4.0
     2014-12-05 23:59:57   statWindSpeedDayLast Min: 0.0 Avg: 0.0 Max: 0.0
     2014-12-06 07:55:56   statWindSpeedHour Min: 0.0 Avg: 0.0 Max: 0.0
     2014-12-06 06:59:57   statWindSpeedHourLast Min: 0.0 Avg: 0.0 Max: 0.0
     2014-12-06 07:55:56   statWindSpeedMonth Min: 0.0 Avg: 2.7 Max: 19.0
     2014-11-30 23:59:59   statWindSpeedMonthLast Min: 7.3 Avg: 7.3 Max: 7.3
     2014-12-06 07:55:56   statWindSpeedYear Min: 0.0 Avg: 4.8 Max: 21.0 (since:  )
     2014-12-06 07:53:57   state           T: 4.1 H: 99 W: 0 R: 1595.36 IR: 0 WD: 275 WDR: 67.5 S: 121 B: 9
     2014-12-06 07:53:57   sunshine        121
     2014-12-06 07:53:57   temperature     4.1
     2014-12-06 07:53:57   windDirRange    67.5
     2014-12-06 07:53:57   windDirection   275
     2014-12-06 07:53:57   windSpeed       0
   Helper:
     _98_statistics Statistik
     mId        0040
     rxType     4
     Io:
       newChn     +1DBB9A,00,01,FE1F
       nextSend   1417848837.4151
       prefIO
       rxt        0
       vccu
       p:
         1DBB9A
         00
         01
         FE1F
     Mrssi:
       mNo        B2
       Io:
         CUL_0      -71.5
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_0:
         avg        -72.9883720930233
         cnt        301
         lst        -73.5
         max        -71.5
         min        -75
Attributes:
   IODev      CUL_0
   actCycle   001:00
   actStatus  alive
   autoReadReg 1_restart
   event-on-change-reading state,windSpeed,humidity,brightness,temperature,Rel_Luftdruck,rain_last_day,rain
   expert     2_full
   firmware   1.3
   model      HM-WDS100-C6-O
   peerIDs
   room       Wetter
   serialNr   JEQ0532158
   subType    THSensor
   userReadings Sonnenstunden {24+(InternalVal("at_sunset","TRIGGERTIME","???")-InternalVal("at_sunrise","TRIGGERTIME","???"))/3600}


Danke für Deine Ursachensuche...


Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 06 Dezember 2014, 09:34:26
Ich vermute, es liegt daran, dass Du die readings die standardsmässig (s. commandref) schon auswertet werden, nochmals in den Attributen definiert hast. Sprich, sie werden zweimal ausgewertet. Ich schau es mir aber noch etwas genauer an.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 06 Dezember 2014, 11:48:45
Richtig, da war ich zu gründlich - werde jetzt also rain, humidity, temperature und brightness mal rausnehmen und berichten, was heute Nacht passiert.

Danke für den Tipp...
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 06 Dezember 2014, 19:40:55
Zur commandref habe ich zwei Nachfragen:

dayChangeTime <time>
Time of day change. Default is 00:00. For weather data the day change can be set e.g. to 06:50.

Wenn ich alle Daten wie im Default zur vollen Stunde gerechnet haben will, die Regendaten aber (nach den internationalen Vorschriften der Wetterorganisationen) um 6.50/7.50 Uhr (MESZ, MEZ), dann muss ich doch entgegen der Empfehlung in einem früheren Beitrag von Dir doch zwei Statistics definieren, oder?


◾excludedReadings <DeviceRegExp:ReadingNameRegExp>
Regular expression of the readings that shall be excluded from the statistics.
The reading have to be entered in the form deviceName:readingName. E.g. "FritzDect:current|Sensor_.*:humidity"

In diesem Beispiel wird der RegEx in Hochkommata geschrieben - sind die notwendig bei definieren. (bei anderen Beispielen sind keine Anführungszeichen)

Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 06 Dezember 2014, 20:50:44
1. Ja 2.
2. Ja. Ohne "
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 07 Dezember 2014, 08:28:47
1. Versuchte, das Prefix mit attr <MeinModulname> Prefix stat_ zu ändern, weil ich dann einfacher Readings von 98_statistics zum Beispiel vom state-Reading unterscheiden kann: Offenbar ist das setzen dieses Attributes aber entgegen der commandref nicht implementiert.

2. Zur Codeänderung von gestern Abend: Benutze ich diese mit der Definition:
Internals:
   CFGFN
   DEF        Wetterstation|CC.[^(t)]*?|TF.*|T_.*|SW_.*
   DEV_REGEXP Wetterstation|CC.[^(t)]*?|TF.*|T_.*|SW_.*
   NAME       Statistik
   NR         745
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: T_Heizung
   TYPE       statistics
   Readings:
     2014-12-06 23:30:24   monitoredDevicesCUL_HM CC_Bad_EG,CC_Wohnzimmer,CC_Bad_OG,CC_Jula,CC_Kueche,CC_Schlafzimmer,CC_Suedzimmer,SW_01_Ruecklaufanhebung,SW_02_WW_Pumpe,SW_03_Heizpumpe,SW_04_FBH_Pumpe,TF_Waschkueche,T_Galerie_Fussboden,Wetterstation
     2014-12-06 23:30:22   monitoredDevicesOWMULTI TF_Galerie
     2014-12-06 23:30:24   monitoredDevicesOWTHERM T_Heizung,T_Ruecklauf,T_Ruecklauf_Anhebung,T_Vorlauf_FBH,T_Warmwasser
     2014-12-06 23:30:21   monitoredDevicesUnsupported CC_Bad_EG_WindowRec#CUL_HM,CC_Bad_OG_WindowRec#CUL_HM,CC_Jula_WindowRec#CUL_HM,CC_Kueche_WindowRec#CUL_HM,CC_Schlafzimmer_WindowRec#CUL_HM,CC_Suedzimmer_WindowRec#CUL_HM,CC_Wohnzimmer_WindowRec#CUL_HM
     2014-12-07 06:59:55   nextPeriodChangeCalc 2014-12-07 07:59:55
     2014-12-07 07:29:44   state           Updated stats for: T_Heizung
   Fhem:
     modulVersion $Date: 2014-12-06 19:54:39 +0000 (Sat, 06 Dec 2014) $
Attributes:
   minAvgMaxReadings measured-temp
   room       _house
   tendencyReadings Rel_Luftdruck


werden nur die Readings brightness und humidity ausgelesen/aktualisiert. Habe dann sämtlich stat.*-Readings mit deleteReadings entfernt und mit gelöschter fhem.save neu gestartet. Auch nach vielen Stunden wurden keine temperature, windSpeed Readings gelesen. Wiederum nur brightness und humidity - keine Tendenz von Rel_Luftdruck!

Heute morgen habe ich nach derselben Vorbereitung wieder die Version vom 1.12. eingespielt und alle gewünschten Readings klappen.

3. An anderer Stelle wurde ja bereits die Überschneidung mit HourCounter angesprochen. Statistics kann dabei (fast) alles, außer die Zahl der Ein-/Ausschaltvorgänge zu zählen. Es macht ja einen Unterscheid, ob der Brenner einer Heizung am Tag 100mal 1 Minute läuft und 100mal 10 Minuten auskühlt, oder 2 * 50 Minuten läuft... Also: Ich könnte mir noch einen Statistiktyp "Count" vorstellen, der schlicht die Zahl der ON- und der OFF-Events [0|1, an|aus] zählt.

Viele Grüße
Christian

Grüße
Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 07 Dezember 2014, 15:51:24
1. ??? steht so aber nicht in der commandref 
2. Danke. Habe die alte Version wieder eingestellt.
3. Gute Idee. Werde mal drüber nachdenken.
Gruß
tupol
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 07 Dezember 2014, 16:23:28
zu 1. Richtig, lesen bringt den Vorteil, es ist eine Ergänzung der Definition - hab' gelernt. Und es funktiont! Danke schön.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 07 Dezember 2014, 19:03:46
Wenn ich zu unterschiedlichen Tageswechselzeiten Statistiken schreiben will, dann muss ich mehrere statistics-Devices definieren, schriebst Du in einem früheren Thread. Exkludiere ich z.B. Statistik1 [Tageswechsel Standard um 0:00) das Reading rain in meiner Wetterstation und definiere ich dies als singularReading in Statistik2 (Tageswechsel 6.50 Uhr), dann erhalte ich diese Fehlermeldung:

2014.12.07 18:57:34 3: statistics Statistik2: DoStatistics.386 Device 'Wetterstation' identified as supported but already servered by 'Statistik'.


Die macht ja Sinn als Warnung, aber ist es zwingend notwendig damit die Nutzung des Moduls statistics auf ein und dasselbe Device zu verhindern? Ich muss jetzt mit einem Dummy und einem Notify das Reading "kopieren"...
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 10 Dezember 2014, 08:34:26
Habe eine neue Version aufgespielt. Sollte Deine Konfiguration ermöglichen, wenn Du das Prefix änderst.

Außerdem kommt ermöglicht die neue Version die vordefinierte Zuordnung von Readings zu Statistiktype zu ändern. D.h. sie kommt auch mit Doppeldeklarierungen zurecht.

Gruß

tupol
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 10 Dezember 2014, 23:04:03
Hi tupol,

hatte ich gestern schon im Repository gesehen und ausprobiert. Dabei hatte ich aber einiges Durcheinander und wollte dies verifzieren und bin erstmal zur alten Version zurück. Heute Abend habe ich es noch einmal probiert:

Tatsächlich kann ich mit anderem Prefix über dasselbe Device noch einmal ein statistics-Device definieren. ABER: das zweite Device gräbt bei mir nur den State der Wetterstation ab, obwohl das Reading, auf das es schauen soll, definitiv existiert. Konsequenterweise hagelt es im fhem.log auch Fehlermeldung, da der State der Wetterstation so'n Konglomerat ist.

Fehlermeldung in fhem.log:
2014.12.10 22:16:59 1: PERL WARNING: Argument "WDR:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "B:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "IR:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "WD:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "S:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "R:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.
2014.12.10 22:16:59 1: PERL WARNING: Argument "W:" isn't numeric in numeric gt (>) at ./FHEM/98_statistics.pm line 971.


Listing der Wetterstation:
Internals:
   CFGFN      ./FHEM/wetter.cfg
   CHANGED
   CUL_0_MSGCNT 18
   CUL_0_RAWMSG A13F486701DBB9A000000002A551545C04F41C109::-76.5:CUL_0
   CUL_0_RSSI -76.5
   CUL_0_TIME 2014-12-10 22:49:51
   DEF        1DBB9A
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     18
   NAME       Wetterstation
   NR         543
   STATE      T: 4.2 H: 85 W: 7.9 R: 1606.275 IR: 0 WD: 325 WDR: 67.5 S: 193 B: 9
   TYPE       CUL_HM
   lastMsg    No:F4 - t:70 s:1DBB9A d:000000 002A551545C04F41C109
   protLastRcv 2014-12-10 22:49:51
   rssi_at_CUL_0 avg:-74.72 min:-76.5 max:-73 lst:-76.5 cnt:18
   Readings:
     2014-12-10 22:13:08   Activity        alive
     2014-12-07 16:56:18   D-firmware      1.3
     2014-12-07 16:56:18   D-serialNr      JEQ0532158
     2014-12-10 22:51:30   Rel_Luftdruck   1013
     2014-12-10 22:51:30   Sonnenstunden   31.4172222222222
     2014-12-10 22:45:32   Taupunkt        1.9
     2014-12-10 22:51:30   Wind_Bft        1
     2014-12-10 22:49:51   Windchill       2.2
     2014-12-10 22:49:51   brightness      9
     2014-12-10 22:51:30   calcRegen       1368.2
     2014-12-10 22:49:51   humidity        85
     2014-12-10 22:49:51   isRaining       0
     2014-12-10 22:49:51   rain            1606.275
     2014-12-10 06:50:02   rain_last_day   0
     2014-12-10 22:50:59   stat2_StateDay  1606.275 00:00:00 193 00:00:00 T:: 00:07:00 67.5 00:00:00 125 00:00:00 4.1 00:00:00 6.7 00:00:00 4.2 00:00:00 0 00:00:00 275 00:00:00 325 00:00:00 85 00:00:00 9.1 00:00:00 9 00:00:00 7.9 00:00:00 270 00:00:00 (since: 2014-12-10_22:43:59)
     2014-12-10 22:50:59   stat2_StateMonth 1606.275 00:00:00 193 00:00:00 T:: 00:07:00 67.5 00:00:00 125 00:00:00 4.1 00:00:00 6.7 00:00:00 4.2 00:00:00 0 00:00:00 275 00:00:00 325 00:00:00 85 00:00:00 9.1 00:00:00 9 00:00:00 7.9 00:00:00 270 00:00:00 (since: 2014-12-10_22:43:59)
     2014-12-10 22:50:59   stat_HumidityDay Min: 0 Avg: 90 Max: 97 (since:  )
     2014-12-10 22:50:59   stat_HumidityMonth Min: 0 Avg: 90 Max: 97 (since:  )
     2014-12-10 22:50:59   stat_HumidityYear Min: 0 Avg: 90 Max: 97 (since:  )
     2014-12-10 21:59:56   stat_Rel_LuftdruckTendency 1h: +1.0 2h: +0.0 3h: -1.0 6h: -1.0
     2014-12-10 22:50:59   stat_TemperatureDay Min: 0.0 Avg: 4.7 Max: 7.0 (since:  )
     2014-12-10 22:50:59   stat_TemperatureMonth Min: 0.0 Avg: 4.7 Max: 7.0 (since:  )
     2014-12-10 22:50:59   stat_TemperatureYear Min: 0.0 Avg: 4.7 Max: 7.0 (since:  )
     2014-12-10 21:59:56   stat_WindSpeedDay Min: 1 Avg: 6 Max: 11 (since: 2014-12-10_20:55:33 )
     2014-12-10 21:59:56   stat_WindSpeedHour Min: 3.6 Avg: 3.6 Max: 3.6
     2014-12-10 21:59:56   stat_WindSpeedHourLast Min: 2 Avg: 6 Max: 11
     2014-12-10 21:59:56   stat_WindSpeedMonth Min: 1 Avg: 6 Max: 11 (since: 2014-12-10_20:55:33 )
     2014-12-10 21:59:56   stat_WindSpeedYear Min: 1 Avg: 6 Max: 11 (since: 2014-12-10_20:55:33 )
     2014-12-10 22:49:51   state           T: 4.2 H: 85 W: 7.9 R: 1606.275 IR: 0 WD: 325 WDR: 67.5 S: 193 B: 9
     2014-12-10 22:49:51   sunshine        193
     2014-12-10 22:49:51   temperature     4.2
     2014-12-10 22:49:51   windDirRange    67.5
     2014-12-10 22:49:51   windDirection   325
     2014-12-10 22:49:51   windSpeed       7.9
   Helper:
     _98_statistics Statistik2
     mId        0040
...


Listing von Statistik (soll temperature, humidity, windSpeed und den Relative Luftdruck auswerten)
Internals:
   DEF        Wetterstation|SW_.*|Switch_Heizkeller stat_
   DEV_REGEXP Wetterstation|SW_.*|Switch_Heizkeller
   NAME       Statistik
   NR         729
   NTFY_ORDER 10-Statistik
   PREFIX     stat_
   STATE      Updated stats for: Wetterstation
   TYPE       statistics
   Readings:
     2014-12-10 22:13:10   monitoredDevicesCUL_HM SW_01_Ruecklaufanhebung,SW_02_WW_Pumpe,SW_03_Heizpumpe,SW_04_FBH_Pumpe,Wetterstation
     2014-12-10 22:13:09   monitoredDevicesOWSWITCH Switch_Heizkeller
     2014-12-10 22:13:09   nextPeriodChangeCalc 2014-12-10 22:59:55
     2014-12-10 22:55:20   state           Updated stats for: Wetterstation
   Fhem:
     modulVersion $Date: 2014-12-09 19:37:31 +0100 (Tue, 09 Dec 2014) $
Attributes:
   durationReadings Brenner,Mischer_weniger,Mischer_mehr,Waschkueche,EWT
   excludedReadings Wetterstation:rain.*|Wetterstation:brightness|Wetterstation:windSpeed
   minAvgMaxReadings measured-temp
   room       _house
   tendencyReadings Rel_Luftdruck 

Statistik2 (soll eben obiges NICHT und ausschließlich calcRegen auswerten:
Internals:
   DEF        Wetterstation stat2_
   DEV_REGEXP Wetterstation
   NAME       Statistik2
   NR         731
   NTFY_ORDER 10-Statistik2
   PREFIX     stat2_
   STATE      Updated stats for: Wetterstation
   TYPE       statistics
   Readings:
     2014-12-10 22:43:59   monitoredDevicesCUL_HM Wetterstation
     2014-12-10 22:54:30   state           Updated stats for: Wetterstation
   Fhem:
     modulVersion $Date: 2014-12-09 19:37:31 +0100 (Tue, 09 Dec 2014) $
Attributes:
   dayChangeTime 06:50
   deltaReadings calcRegen
   excludedReadings Wetterstation:brightness|Wetterstation:humidity|Wetterstation:temperature|Wetterstation:rel_Luftdruck|Wetterstation:windSpeed|Wetterstation:rain|Wetterstation:state
   room       _house



Auch beim Switch_Heizkeller habe ich mit dieser Version plötzlich eine Statistik über das State dieses Devices mit 8 Schaltern, entsprechend gibt es auch hier vergleichbare Fehlermeldungen, weil der State nicht numerisch ist.
Die Aktivitäten der Schalter werden mit dieser Version nicht gelogt - vermutlich, weil er sie nicht als on/off-Devices erkennt.

Ich geh' jetzt erstmal wieder zurück zur Version 7113.

Danke Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 11 Dezember 2014, 08:13:53
Danke für die Rückmeldung. Sollte jetzt laufen. Am besten mal im Log mit Modul-verbose 5 zuschauen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 12 Dezember 2014, 07:37:41
Das klappt jetzt. Danke für den Bugfix

Nun fallen aber zwei weitere Sachen auf:
1. Für meine Regenmessung habe ich 06:50 als Tageswechselzeit eingegeben. Dann müsste also der aufgelaufene Regen (davon gibt's aktuell viel) von stat2_CalcRegen nach stat2_CalcRegenLast Übertragen werden. Das scheint aber um 6:59 Uhr zu passieren. Und im Log habe ich passend dazu eine Fehlermeldung:
2014.12.12 06:59:55 1: PERL WARNING: Use of uninitialized value $last[9] in concatenation (.) or string at ./FHEM/98_statistics.pm line 767.

2. Die Tageswertübertragung für die gesammelten Einschaltdauern geht etwas schief: Wenn der Schalter den ganzen Tag OFF-Zeit war, dann wird nach Last nur eine OFF-Zeit von 0:00:00 übertragen.

Herzliche Grüße
Christian
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 16 Dezember 2014, 19:29:00
Für 1. habe ich gerade ein update hochgespielt. Bitte testen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 17 Dezember 2014, 07:38:24
Eingespielt gestern 22.19 Uhr - Neustart von FHEM. Dennoch heute morgen um 6.59 Daychange.

Internals:
   DEF        Wetterstation stat2_
   DEV_REGEXP Wetterstation
   NAME       Statistik2
   NR         731
   NTFY_ORDER 10-Statistik2
   PREFIX     stat2_
   STATE      Updated stats for: Wetterstation
   TYPE       statistics
   Readings:
     2014-12-16 22:19:27   monitoredDevicesCUL_HM Wetterstation
     2014-12-17 06:59:55   nextPeriodChangeCalc 2014-12-17 07:59:55
     2014-12-17 07:34:50   state           Updated stats for: Wetterstation
   Fhem:
     modulVersion $Date: 2014-12-16 19:37:55 +0100 (Tue, 16 Dec 2014) $
Attributes:
   dayChangeTime 06:50
   deltaReadings calcRegen
   excludedReadings Wetterstation:brightness|Wetterstation:humidity|Wetterstation:temperature|Wetterstation:rel_Luftdruck|Wetterstation:windSpeed|Wetterstation:rain|Wetterstation:state
   room       _house


Nr.2 (ChangeDaylast bei Duration) ist aber gelöst - ich habe jetzt stimmige "Last"-Werte.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 17 Dezember 2014, 08:00:58
Das ist der Stundenwechsel. Der Tageswechsel sollte um 6:50 stattgefunden haben. Läßt sich mit modul-verbose 4 kontrollieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 18 Dezember 2014, 07:07:13
Perfekt. Genau so ist es:

Internals:
   DEF        Wetterstation stat2_
   Readings:
     2014-12-17 21:35:32   monitoredDevicesCUL_HM Wetterstation
     2014-12-18 05:59:55   nextPeriodChangeCalc 2014-12-18 06:49:55 (Day Change)
     2014-12-18 06:34:59   state           Updated stats for: Wetterstation
   Fhem:
     modulVersion $Date: 2014-12-16 19:37:55 +0100 (Tue, 16 Dec 2014) $
Attributes:
   dayChangeTime 06:50
   deltaReadings calcRegen
   excludedReadings Wetterstation:brightness|Wetterstation:humidity|Wetterstation:temperature|Wetterstation:rel_Luftdruck|Wetterstation:windSpeed|Wetterstation:rain|Wetterstation:state
   room       _house
   verbose    4


Danke fürs Fixing!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 19 Dezember 2014, 09:16:40
Deine Konfiguration wird jetzt durch eine neues Attribut erleichtert: ignoreDefaultAssignments
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 19 Dezember 2014, 22:14:56
das ist eine sehr gute Idee - freu mich und bin es schon am ausprobieren. Sieht gut aus.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 25 Dezember 2014, 20:22:15
Zitat von: cwagner am 07 Dezember 2014, 08:28:47
3. An anderer Stelle wurde ja bereits die Überschneidung mit HourCounter angesprochen. Statistics kann dabei (fast) alles, außer die Zahl der Ein-/Ausschaltvorgänge zu zählen. Es macht ja einen Unterscheid, ob der Brenner einer Heizung am Tag 100mal 1 Minute läuft und 100mal 10 Minuten auskühlt, oder 2 * 50 Minuten läuft... Also: Ich könnte mir noch einen Statistiktyp "Count" vorstellen, der schlicht die Zahl der ON- und der OFF-Events [0|1, an|aus] zählt.
Habe gerade ein Update hochgespielt. Bei Duration-Readings sollten jetzt auch die Anzahl als state_Count angezeigt werden. Wie üblich lassen sie sich per singleReading auskoppeln.

Bitte testen.

PS: Was statistics nicht kann bzw. können will, ist die Integralfunktionen von HourCounter ersetzen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 26 Dezember 2014, 08:57:22
Da freue ich mich auf das Ausprobieren - wegen WAF erst ab Morgen, nach dem Fest.
Bei der Gelegenheit: Du erwähnst singleReading nun zum zweiten Mal. Im Forum nennt die Suche Deine beiden Nachrichten als einzige Fundstellen, im Wiki und in der Commandref gibt es Null Teffer? Magst Du einen Tipp geben, wie man die statistics-Readings zerlegen kann?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 27 Dezember 2014, 22:47:17
Funzt. Und dass keine Wertesummen integriert werden, finde ich nicht schlimm. So haben beide Module ihren Sinn. Ich finde diesen Funktonsumfang gerade auf schwacher Hardware wie einer Fritzbox sehr gelungen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 28 Dezember 2014, 19:05:47
Zitat von: cwagner am 26 Dezember 2014, 08:57:22
Bei der Gelegenheit: Du erwähnst singleReading nun zum zweiten Mal. Im Forum nennt die Suche Deine beiden Nachrichten als einzige Fundstellen, im Wiki und in der Commandref gibt es Null Teffer? Magst Du einen Tipp geben, wie man die statistics-Readings zerlegen kann?

Das Attribute von statistics heißt "singularReadings" und ist in der commandref erläutert.

Freut mich, dass das Zählen funktioniert. Allerdings bitte weiter beobachten. Benutze es selbst nur recht begrenzt.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: JueFi am 02 März 2015, 10:36:17
Hallo zusammen,

ich lese meine Heizung per WebInterface mit HTTPMOD aus und schreibe ein Logfile das in etwa so aussieht
(Die Laufzeit des Brenners in Stunden wird also immer weiter hochgezählt, auch über Tageswechsel etc. hinweg)

2015-03-01_00:07:11 PHeiz BrennerLaufZeit: 3175
2015-03-01_05:58:45 PHeiz BrennerLaufZeit: 3176
2015-03-01_06:59:00 PHeiz BrennerLaufZeit: 3177
2015-03-01_22:12:54 PHeiz BrennerLaufZeit: 3185
2015-03-01_23:52:33 PHeiz BrennerLaufZeit: 3185
--- nur zur besseren Lesbarkeit eingefügt -------
2015-03-02_00:04:39 PHeiz BrennerLaufZeit: 3185
2015-03-02_05:18:55 PHeiz BrennerLaufZeit: 3186
2015-03-02_06:55:47 PHeiz BrennerLaufZeit: 3187
2015-03-02_10:11:55 PHeiz BrennerLaufZeit: 3189
2015-03-02_23:55:55 PHeiz BrennerLaufZeit: 3193
--- nur zur besseren Lesbarkeit eingefügt -------
2015-03-03_00:05:35 PHeiz BrennerLaufZeit: 3193

Nun möchte ich mit statistics (oder auch gern anders) die TagesSumme der Brennerstunden bilden um die später zu plotten
Also am 1.3: 3185 - 3175, also 10
Am 2.3: 3193 - 3185, also 8

Gemacht habe ich folgendes, das aber nicht funktioniert.
Verstanden habe ich, dass dadurch zusätzliche Zeilen ins LOG von PHeiz kommen sollen - ist das überhaupt richtig ?
define PHeizStat statistics PHeiz
attr PHeizStat singularReadings Pheiz:BrennerLaufZeit:Delta:(Hour|Day)


list PHeizStat
Internals:
   DEF        PHeiz
   DEV_REGEXP PHeiz
   NAME       PHeizStat
   NR         103
   NTFY_ORDER 10-PHeizStat
   PREFIX     stat
   STATE      Waiting for notifications
   TYPE       statistics
   Readings:
     2015-03-02 10:11:53   monitoredDevicesUnsupported PHeiz#HTTPMOD
     2015-03-02 10:11:53   nextPeriodChangeCalc 2015-03-02 10:59:55
   Fhem:
     modulVersion $Date: 2015-01-09 22:00:59 +0100 (Fri, 09 Jan 2015) $
Attributes:
   room       Statistik
   singularReadings Pheiz:BrennerLaufZeit:Delta:(Hour|Day)


list PHeiz
Internals:
   BUSY       0
   DEF        http://192.168.68.250/?action=get&attr=1 180
   HTTPHEADER
   Interval   180
   LASTSEND   1425288466.49493
   MainURL    http://192.168.68.250/?action=get&attr=1
   NAME       PHeiz
   NR         57
   STATE      ???
   TYPE       HTTPMOD
   addr       http://192.168.68.250:80
   buf        HTTP/1.1 200 OK

Set-Cookie: pksession=37567; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"

Connection: close

Content-Type: application/json; charset=utf-8

Cache-Control: no-cache



[{"formatTexts":"","shortText":"Aussentemp Ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_aussentemperatur_ist","value":"77","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kesseltemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:FA[0].L_kesseltemperatur","value":"595","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Vorlauftemperatur Ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_hk[0].vorlauftemp_ist","value":"455","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Vorlauftemperatur Ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_hk[1].vorlauftemp_ist","value":"396","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Einschaltfühler Ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_ww[0].einschaltfuehler_ist","value":"615","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPM ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","value":"586","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"TPO ist","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","value":"400","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Speichertemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_sk[0].speichertemp_ist","value":"328","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":"","shortText":"Kollektortemperatur","unitText":"°C","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.L_sk[0].kollektortemp_ist","value":"217","divisor":"10","status":"OK","unitTextImperial":"°F"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].L_kesselstatus","value":"99","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":" Dauerlauf|Start|Zuendung|Softstart|Leistungsbrand|Nachlauf|Aus|Saugen|! Asche !|! Pellets !|Pell Switch|Störung|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|Aus|Aus|Aus|Aus|Aus","shortText":"Kesselstatus","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].L_kesselstatus","value":"99","divisor":"","status":"OK","unitTextImperial":"???"},{"formatTexts":"","shortText":"Saugintervall","unitText":"min","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].L_saugintervall","value":"83","divisor":"","status":"OK","unitTextImperial":"min"},{"formatTexts":"","shortText":"Brennerlaufzeit","unitText":"h","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].L_brennerlaufzeit_anzeige","value":"3189","divisor":"","status":"OK","unitTextImperial":"h"},{"formatTexts":"","shortText":"Tagesleistung","unitText":"kWh","lowerLimit":"???","upperLimit":"???","name":"CAPPL:LOCAL.ertrag[0].leistung_tag","value":"0","divisor":"10","status":"OK","unitTextImperial":"kWh"},{"formatTexts":" Aus|Auto|Ein","shortText":"Betriebsart FA","unitText":"???","lowerLimit":"","upperLimit":"","name":"CAPPL:FA[0].betriebsart_fa","value":"1","divisor":"","status":"OK","unitTextImperial":"???"}]

   code       200
   conn
   data       ["CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesseltemperatur","CAPPL:LOCAL.L_hk[0].vorlauftemp_ist","CAPPL:LOCAL.L_hk[1].vorlauftemp_ist","CAPPL:LOCAL.L_ww[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_sk[0].speichertemp_ist","CAPPL:LOCAL.L_sk[0].kollektortemp_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_saugintervall","CAPPL:FA[0].L_brennerlaufzeit_anzeige","CAPPL:LOCAL.ertrag[0].leistung_tag","CAPPL:FA[0].betriebsart_fa"]
   displayurl http://192.168.68.250/?action=get&attr=1
   header     Accept-Language: de

Cookie: language=de; pksession=37567
   host       192.168.68.250
   httpheader HTTP/1.1 200 OK

Set-Cookie: pksession=37567; Expires=Tue, 19 Jan 2038 04:13:43 CET; Max-Age=600; Path=/; Version="1"

Connection: close

Content-Type: application/json; charset=utf-8

Cache-Control: no-cache
   ignoreredirects 0
   loglevel   4
   path       /?action=get&attr=1
   protocol   http
   redirects  0
   sid        37567
   timeout    10
   url        http://192.168.68.250/?action=get&attr=1
   QUEUE:
   Readings:
     2014-11-30 18:49:28   ARussentemp     4.3
     2015-03-02 10:27:47   AussenTemp      7.7
     2014-11-30 20:36:39   Aussentemp      4.3
     2015-03-02 10:27:47   BetriebsArt     1
     2015-03-02 10:27:47   BrennerLaufZeit 3189
     2015-03-02 10:27:47   HeizKreis1_VL   45.5
     2015-03-02 10:27:47   HeizKreis2_VL   39.6
     2015-03-02 10:27:47   KesselStatus    0
     2015-03-02 10:27:47   KesselTemp      59.5
     2014-12-01 19:34:56   KesselTempMitte 33.8
     2014-12-01 19:34:56   KesselTempOben  48.2
     2014-12-01 19:34:56   KesselTempUnten 30.5
     2014-11-30 20:36:39   Kesseltemp      62.6
     2015-03-02 10:27:47   KollektorTemp   21.7
     2014-11-30 20:36:39   Kollektortemp   4.2
     2015-03-02 10:27:47   SaugIntervall   83
     2015-03-02 10:27:47   SolarErtrag     0
     2015-03-02 10:27:47   SpeicherTempMitte 40
     2015-03-02 10:27:47   SpeicherTempOben 58.6
     2015-03-02 10:27:47   SpeicherTempUnten 32.8
     2015-03-02 10:27:47   WarmWasserTemp  61.5
   Request:
     data       ["CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesseltemperatur","CAPPL:LOCAL.L_hk[0].vorlauftemp_ist","CAPPL:LOCAL.L_hk[1].vorlauftemp_ist","CAPPL:LOCAL.L_ww[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_sk[0].speichertemp_ist","CAPPL:LOCAL.L_sk[0].kollektortemp_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_saugintervall","CAPPL:FA[0].L_brennerlaufzeit_anzeige","CAPPL:LOCAL.ertrag[0].leistung_tag","CAPPL:FA[0].betriebsart_fa"]
     header     Accept-Language: de

Cookie: language=de; pksession=$sid
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://192.168.68.250/?action=get&attr=1
   Helper:
     _98_statistics PHeizStat
Attributes:
   event-min-interval .*:600
   event-on-change-reading .*
   reAuthRegex Error 403: Forbidden
   reading01Expr $val / 10
   reading01Name AussenTemp
   reading01Regex CAPPL:LOCAL.L_aussentemperatur_ist","value":"(-[0-9]+|[0-9]+)"
   reading02Expr $val / 10
   reading02Name KesselTemp
   reading02Regex CAPPL:FA\[0\].L_kesseltemperatur","value":"([0-9]+)"
   reading03Expr $val / 10
   reading03Name HeizKreis1_VL
   reading03Regex CAPPL:LOCAL.L_hk\[0\].vorlauftemp_ist","value":"([0-9]+)"
   reading04Expr $val / 10
   reading04Name HeizKreis2_VL
   reading04Regex CAPPL:LOCAL.L_hk\[1\].vorlauftemp_ist","value":"([0-9]+)"
   reading05Expr $val / 10
   reading05Name WarmWasserTemp
   reading05Regex CAPPL:LOCAL.L_ww\[0\].einschaltfuehler_ist","value":"([0-9]+)"
   reading06Expr $val / 10
   reading06Name SpeicherTempOben
   reading06Regex CAPPL:LOCAL.L_pu\[0\].einschaltfuehler_ist","value":"([0-9]+)"
   reading07Expr $val / 10
   reading07Name SpeicherTempMitte
   reading07Regex CAPPL:LOCAL.L_pu\[0\].ausschaltfuehler_ist","value":"([0-9]+)"
   reading08Expr $val / 10
   reading08Name SpeicherTempUnten
   reading08Regex CAPPL:LOCAL.L_sk\[0\].speichertemp_ist","value":"([0-9]+)"
   reading09Expr $val / 10
   reading09Name KollektorTemp
   reading09Regex CAPPL:LOCAL.L_sk\[0\].kollektortemp_ist","value":"(-[0-9]+|[0-9]+)"
   reading10Expr { $val % 99 }
   reading10Name KesselStatus
   reading10Regex CAPPL:FA\[0\].L_kesselstatus","value":"([0-9]+)"
   reading11Expr $val
   reading11Name SaugIntervall
   reading11Regex CAPPL:FA\[0\].L_saugintervall","value":"([0-9]+)"
   reading12Expr $val
   reading12Name BrennerLaufZeit
   reading12Regex CAPPL:FA\[0\].L_brennerlaufzeit_anzeige","value":"([0-9]+)"
   reading13Expr $val / 10
   reading13Name SolarErtrag
   reading13Regex CAPPL:LOCAL.ertrag\[0\].leistung_tag","value":"([0-9]+)"
   reading14Expr $val
   reading14Name BetriebsArt
   reading14Regex CAPPL:FA\[0\].betriebsart_fa","value":"([0-9]+)"
   requestData ["CAPPL:LOCAL.L_aussentemperatur_ist","CAPPL:FA[0].L_kesseltemperatur","CAPPL:LOCAL.L_hk[0].vorlauftemp_ist","CAPPL:LOCAL.L_hk[1].vorlauftemp_ist","CAPPL:LOCAL.L_ww[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].einschaltfuehler_ist","CAPPL:LOCAL.L_pu[0].ausschaltfuehler_ist","CAPPL:LOCAL.L_sk[0].speichertemp_ist","CAPPL:LOCAL.L_sk[0].kollektortemp_ist","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_kesselstatus","CAPPL:FA[0].L_saugintervall","CAPPL:FA[0].L_brennerlaufzeit_anzeige","CAPPL:LOCAL.ertrag[0].leistung_tag","CAPPL:FA[0].betriebsart_fa"]
   requestHeader1 Accept-Language: de
   requestHeader2 Cookie: language=de; pksession=$sid
   room       Heizung
   set1Data   {"CAPPL:FA[0].betriebsart_fa":"$val"}
   set1Map    0:Aus,1:Auto,2:Ein
   set1Name   Betriebsart
   setHeader1 Accept-Language: de
   setHeader2 Cookie: language=de; pksession=$sid
   setReAuthRegex Error 403: Forbidden
   setURL     http://192.168.68.250/?action=set
   sid1Data   username=xx&password=xxx&language=de&submit=Anmelden
   sid1Header1 Accept-Language: de
   sid1IDRegex pksession=([0-9]+);
   sid1IgnoreRedirects 1
   sidURL     http://192.168.68.250/index.cgi
   timeout    10
   userattr   event-min-interval event-on-change-reading reAuthRegex reading01Expr reading01Name reading01Regex reading02Expr reading02Name reading02Regex reading03Expr reading03Name reading03Regex reading04Expr reading04Name reading04Regex reading05Expr reading05Name reading05Regex reading06Expr reading06Name reading06Regex reading07Expr reading07Name reading07Regex reading08Expr reading08Name reading08Regex reading09Expr reading09Name reading09Regex reading10Expr reading10Name reading10Regex reading11Expr reading11Name reading11Regex reading12Expr reading12Name reading12Regex reading13Expr reading13Name reading13Regex reading14Expr reading14Name reading14Regex requestData requestHeader1 requestHeader2 set1Data set1Map set1Name setHeader1 setHeader2 setReAuthRegex setURL sid1Data sid1Header1 sid1IDRegex sid1IgnoreRedirects sidURL timeout


Das läuft bereits seit gestern, ein Tageswechsel war also schon da.

Danke für hilfreiche Tipps.

Jürgen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 03 März 2015, 18:56:15
Du must erst ein deltareading definieren
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: JueFi am 04 März 2015, 05:17:20
Zitat von: tupol am 03 März 2015, 18:56:15
Du must erst ein deltareading definieren

Schon viel besser jetzt :-)
Jetzt muss ich nur noch rausfinden, wie ich den Tageswert da raus bekomme um den in meinem Logfile zu speichern.
Im Moment sieht das so aus.
define PHeizStat statistics PHeiz
attr PHeizStat deltaReadings BrennerLaufZeit
attr PHeizStat singularReadings Pheiz:BrennerLaufZeit:Delta:(Hour|Day)

define nt.PHeizTag notify nt.PHeizTag {\
  fhem ('set PHeizTag_SolarErtrag ' .ReadingsVal('PHeiz','SolarErtrag','?'));;\
  fhem ('set PHeizTag_BrennerStd  ' .ReadingsVal('PHeiz','statBrennerLaufZeit','?'));;\
}

define FileLog_PHeizTag FileLog ./log/PHeizTag-%Y.log PHeizTag.*



Im Logfile PHeizTag.*:
2015-03-03_23:50:00 PHeizTag_SolarErtrag 0.1
2015-03-03_23:50:00 PHeizTag_BrennerStd Hour: 0 Day: 1 Month: 1 Year: 1 (since: 2015-03-03_20:29:48 )


Also das hier soll den "Day" Wert beinhalten:
fhem ('set PHeizTag_BrennerStd  ' .ReadingsVal('PHeiz','statBrennerLaufZeit','?'));;\

Vielen Dank
Jürgen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 11 April 2015, 10:04:51
Hallo,
ich habe mich in den letzten Tagen mit dem Modul beschäftigt und die Werte werden "statistifiziert"statEnergy_export

Hour: 0.691 Day: 1.114 Month: 9.493 Year: 9.493 (since: 2015-04-10 )

2015-04-11 09:54:25
statEnergy_exportLast

Hour: 0.109 Day: 8.379 Month: - Year: -

2015-04-11 07:59:55
statEnergy_import

Hour: 0.001 Day: 0.709 Month: 2.403 Year: 2.403 (since: 2015-04-10 )

2015-04-11 09:54:25
statEnergy_importLast

Hour: 0.147 Day: 1.694 Month: - Year: -

2015-04-11 07:59:55


Ich habe bisher zwei Zähler SDM630M-DC, die ausgelesen werden. Es soll noch einer dazu kommen.
Es wird das Netz, die PV-Anlage und die Batterie überwacht. Die kWh werden als Energy_import und Energy_export ausgegeben.
Leider werde ich nicht so recht schlau, wie ich die einzelnen Werte für Day, Month, Year in den Floorplan bekomme. Es sollten nur die Werte angezeigt werden, Plotten etc mache ich (noch) nicht.
Wie kann ich das Reading auseinander nehmen?
Wenn ich in den "Fred" schaue sind bei Antwort #26 Einzelwerte zu sehen. Diese sind bei mir aber nicht vorhanden.
Danke für eine Idee im Voraus.
Steffen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 11 April 2015, 10:46:56
Entweder singulare Readings definieren oder per Perlbefehl auseinandernehmen.

Wenn sich jemand mal zu einem Wiki-Eintrag durchringt, würde ich mich beteiligen.  ;)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 11 April 2015, 11:12:23
Das ging fix, danke.
Dann werde ich für Hour, Month und Year es mit je einem singularReading probieren, das ist für mich überschaubar. Leider ist Perl "noch" ein Buch mit sieben Siegeln, daher wäre ich für das Wiki ein schlechter Mitarbeiter.
Steffen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: vbs am 11 April 2015, 11:36:37
Hast du es schonmal mit dem Attribut "singularReadings" versucht?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 11 April 2015, 12:48:10
Habe dies nun eingetragen:define SDM630_PV_Statistik statistics SDM630M_PV
attr SDM630_PV_Statistik deltaReadings Energy_export,Energy_import
attr SDM630_PV_Statistik singularReadings Energy_export:energy:Delta:Hour|Energy_export:energy:Delta:Day||Energy_export:energy:Delta:Month|Energy_export:energy:Delta:Year|Energy_import:energy:Delta:Hour|Energy_import:energy:Delta:Day|Energy_import:energy:Delta:Month|Energy_import:energy:Delta:Year

Die Werte stehen aber nach wie vor so im Reading:statEnergy_export

Hour: 1.692 Day: 7.288 Month: 7.288 Year: 7.288 (since: 2015-04-11 )

2015-04-11 12:44:10
statEnergy_exportLast

Hour: 2.096 Day: 0.000 Month: - Year: - (since: 2015-04-10_21:05:59 )

2015-04-11 11:59:55
statEnergy_import

Hour: 0.000 Day: 0.293 Month: 0.293 Year: 0.293 (since: 2015-04-11 )

2015-04-11 12:44:10
statEnergy_importLast

Hour: 0.000 Day: 0.055 Month: - Year: - (since: 2015-04-10_21:05:59 )

2015-04-11 11:59:55

Es sollte doch nun zumindest für den Stundenwert ein einzelner Wert erscheinen. Ist aber unverändert.
Müssen die alten Einträge erst aus der fhem.save gelöscht werden?
Steffen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: vbs am 11 April 2015, 13:12:47
Wenn ich das richtig verstehe:
singularReadings <DeviceRegExp:ReadingRegExp>:statTypes:period
dann fehlt bei dir das Device. Und was ist "energy" bei dir?

Probier mal
attr SDM630_PV_Statistik singularReadings SDM630M_PV:Energy_export:Delta:Hour
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 11 April 2015, 22:43:16
Danke für die Hilfe, das energy war ein Überbleibsel von einem "Versuch" aus einem anderen "Fred".
Ich hatte es heute Nachmittag so eingetragen aber das deltaReadings vergessen.

define SDM630_PV_Statistik statistics SDM630M_PV
attr SDM630_PV_Statistik deltaReadings Energy_export,Energy_import
attr SDM630_PV_Statistik singularReadings SDM630M_PV:Energy_export:Delta:Hour|SDM630M_PV:Energy_export:Delta:Day|SDM630M_PV:Energy_export:Delta:Month|SDM630M_PV:Energy_export:Delta:Year|SDM630M_PV:Energy_import:Delta:Hour|SDM630M_PV:Energy_import:Delta:Day|SDM630M_PV:Energy_import:Delta:Month|SDM630M_PV:Energy_import:Delta:Year

Nun scheint es zu funktionieren, vielen Dank für die Hilfe. Es war und ist für mich nicht zu erkennen, das ein singularReadings ein deltaReadings bedingt.
Gibt es eine Möglichkeit, die "Startwerte" zu ändern, da diese in Papierform vorliegen?
Steffen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: oniT am 12 April 2015, 17:38:11
Hallo,

ich hänge mich auch gleich mal wieder mit an. Ist es möglich diesen Ausdruck zu verkürzen? Und wenn ja, wie würde dieser dann aussehen?


solarlog_.*:solar:Max:Hour|solarlog_.*:solar:Max:Day|solarlog_.*:solar:Max:Month|solarlog_.*:solar:Max:Year|solarlog_.*:solar:Min:Hour|solarlog_.*:solar:Min:Day|solarlog_.*:solar:Min:Month|solarlog_.*:solar:Min:Year|solarlog_.*:solar:Avg:Hour|solarlog_.*:solar:Avg:Day|solarlog_.*:solar:Avg:Month|solarlog_.*:solar:Avg:Year


Danke,

Gruß
Tino
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 18 April 2015, 00:17:39
Hallo tupol,

die Statistikwerte meiner DS1820 Temperatursensoren (reading temperature) werden mit dem statistics Modul noch nicht korrekt berechnet.  Das Problem liegt IMHO im sub statistics_doStatisticMinMax (Zeile 495). Der Wert ' 25.9' wird z.B. bei $value =~ s/(-?[\d.]).*/$1/e; gelöscht.
Mit $value =~ s/(-?[\d.]*)/$1/e funktioniert es bei mir.

Kannst Du mir noch einen Tipp geben, wie ich den Tagesdurchschnitt nur einmal am Tag in ein Logfile bringe?

@Tino: versuchs mal mit:
solarlog_.*:solar:(Max|Min|Avg):(Hour|Day|Month|Year)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 18 April 2015, 12:10:39
Der Fehler ist schon seit mehreren Monaten behoben.
Zum Loggen bieten sich die last-Readings an.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 24 April 2015, 13:26:05
ZitatDer Fehler ist schon seit mehreren Monaten behoben.
Ich verwende die neueste statistics Version vom 9.1.15. Es Funktioniert bei mir nur mit $value =~ s/(-?[\d.]*)/$1/e

Aus dem sub statistics_maxDecPlaces erhalte ich die Meldung:  Argument "ShowDate:" isn't numeric in numeric eq (==)
Folgendes liefert Dumper für @hidden in der aufrufenden Routine vor Übergabe:
$VAR1 = 'Sum:';
$VAR2 = 0;
$VAR3 = 'Time:';
$VAR4 = '21448087267';
$VAR5 = 'LastValue:';
$VAR6 = '';
$VAR7 = '19.5';
$VAR8 = 'LastTime:';
$VAR9 = '1429873996';
$VAR10 = 'ShowDate:';
$VAR11 = 'ShowDate:';
$VAR12 = 'DecPlaces:';
$VAR13 = '1';

Auch nachdem ich ein neues Statistik-device für die Temperaturen erstellt habe, kommen die gleichen Fehler.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 27 April 2015, 19:08:31
In der Version vom 9.1.15 sollte
495   $value =~ s/(-?[\d.]*).*/$1/e;
stehen (siehe auch SourceForge) und das entspricht Deinem Term.

Kannst Du bitte für das statistics-Device ein
attr global showInternalValues 1
list <device>
attr global showInternalValues 0

hier posten. Da ist vermutlich, etwas mit den Summen-Werten durcheinander geraten.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 27 April 2015, 22:48:27
Zitat495   $value =~ s/(-?[\d.]*).*/$1/e;
Mein Term funktioniert nur ohne ".*" !

Anbei mein device-list der Statistik:

Internals:
   DEF        T_Wohnen
   DEV_REGEXP T_Wohnen
   NAME       Heiz_Statistik
   NR         76
   NTFY_ORDER 10-Heiz_Statistik
   PREFIX     stat
   STATE      Updated stats for: T_Wohnen
   TYPE       statistics
   Readings:
     2015-04-24 12:50:57   .Puffer_mitte:temperatureDay Sum: 0 Time: 4289614866 LastValue:  41.2 LastTime: 1429872657 ShowDate: ShowDate: DecPlaces: 1
     2015-04-24 12:50:57   .Puffer_mitte:temperatureMonth Sum: 0 Time: 4289614866 LastValue:  41.2 LastTime: 1429872657 ShowDate: ShowDate: DecPlaces: 1
     2015-04-24 12:50:57   .Puffer_mitte:temperatureYear Sum: 0 Time: 4289614866 LastValue:  41.2 LastTime: 1429872657 ShowDate: ShowDate: DecPlaces: 1
     2015-04-27 22:06:06   .T_Wohnen:temperatureDay Sum: 0 Time: 331790443277 LastValue:  19.9 LastTime: 1430165166 ShowDate: ShowDate: DecPlaces: 1
     2015-04-27 22:06:06   .T_Wohnen:temperatureMonth Sum: 0 Time: 1252689727025 LastValue:  19.9 LastTime: 1430165166 ShowDate: ShowDate: DecPlaces: 1
     2015-04-27 22:06:06   .T_Wohnen:temperatureYear Sum: 0 Time: 1252689727033 LastValue:  19.9 LastTime: 1430165166 ShowDate: ShowDate: DecPlaces: 1
     2015-04-26 15:04:24   monitoredDevicesGPIO4 T_Wohnen
     2015-04-27 21:59:55   nextPeriodChangeCalc 2015-04-27 22:59:55
     2015-04-27 22:06:06   state           Updated stats for: T_Wohnen
   Fhem:
     modulVersion $Date: 2015-01-09 22:00:59 +0100 (Fri, 09 Jan 2015) $
Attributes:
   verbose    3


list T_Wohnen (Temperatursensor):
Internals:
   CHANGED
   DEF        10-000801ff7e6f
   ERRORCOUNT 0
   INTERVAL   60
   NAME       T_Wohnen
   NR         26
   STATE      T:  19.9 &deg;C ▴ | 22:42
   TYPE       GPIO4
   Readings:
     2015-04-27 22:06:06   statTemperatureDay Min: 0.0 Avg: 0.0 Max: 20.1
     2015-04-26 23:59:55   statTemperatureDayLast Min: 0.0 Avg: 0.0 Max: 20.4
     2015-04-27 22:06:06   statTemperatureMonth Min: 19.3 Avg: 0.0 Max: 21.1
     2015-04-27 22:06:06   statTemperatureYear Min: 19.3 Avg: 0.0 Max: 21.1
     2015-04-27 22:42:36   state           T:  19.9 &deg;C ▴ | 22:42
     2015-04-27 22:42:36   temperature      19.9
   Fhem:
     interfaces temperature
   Helper:
     _98_statistics Heiz_Statistik
Attributes:
   event-on-change-reading temperature
   model      DS1820
   room       GPIO4


Bislang wurde der Tagesdurchschnitt auch noch nie berechnet.
Hoffe es hilft dir weiter.

Gruß
Karlheinz
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 28 April 2015, 20:30:10
Zitat von: optimizer am 27 April 2015, 22:48:27
Mein Term funktioniert nur ohne ".*" !

Bei Dir sind die Hidden-Werte durcheinander. Nach LastValue hast Du zwei Leerzeichen. Wo kommen die her? Hat Dein Reading ein Leerzeichen am Anfang?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 01 Mai 2015, 00:42:49
ZitatHat Dein Reading ein Leerzeichen am Anfang?
Ja, das sieht ganz danach aus. Aber dafür sollte ja die $value Variable nur die Zahl weiterverarbeiten.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 01 Mai 2015, 13:34:07
Bitte einmal die neue Version testen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 02 Mai 2015, 21:59:53
Hallo tupol,

mit der neuen Version funktioniert es bislang einwandfrei. Danke.

Einen Feature-Request hätte ich noch :-)
Bei Stromverbrauch und vor allem bei Stromerzeugung verwende ich lieber den rollierenden 12-Monatswert anstatt Jahreswert. Im Vergleich zur 12-M-Vorperiode (last) hat man damit stets die Veränderung trotz saisonalen Schwankungen auf einen Blick. Dazu müssten die letzten 24 Monatswerte zwischengespeichert bzw. nachgelesen werden.
Ist das als zusätzlicher Statistikwert machbar?

Gruß
Karlheinz
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 02 Mai 2015, 22:56:15
Das ist zu speziell. Das sollte besser über eine Datenbanken erfolgen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 03 Mai 2015, 00:08:38
ZitatDas ist zu speziell. Das sollte besser über eine Datenbanken erfolgen.
:'(

Eine Warnung bekomme ich noch beim FHEM-Start:
2015.05.02 23:34:15 1: PERL WARNING: Argument "ShowDate:" isn't numeric in numeric eq (==) at ./FHEM/98_statistics.pm line 550.
2015.05.02 23:34:15 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 3782.


Das liegt wohl an nicht richtig geschriebenen Datensatz:      2015-05-02 23:44:02   .T_Wohnen:temperatureMonth Sum: 1840948.5 Time: 409115106969 LastValue: 20.2 LastTime: 1430603042 ShowDate: ShowDate: DecPlaces: 1

Habe die Werte einfach durch ShowDate: 0 in fhem.save ersetzt.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Posti123 am 20 Juni 2015, 08:52:16
Das Energiemessgerät HM-ES-TX-WM hat ein neues Reading "energyCalc" spendiert bekommen, da das Gerät selber nach 832kW/h überlauf den Wert wieder von selber auf 0 setzt. Auf energyCalc wird dann das delta des resets addiert. Leider ignoriert Statistics das Reading, auch mein Singularreading HAUS.STROM:energyCalc:Delta:(Hour|Day|Month|Year) hilft nicht.

Liegt dies am Statistics modul das es angepasst werden muss?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 20 Juni 2015, 14:54:00
Benutze bitte die Attribute: deltaReadings, durationReadings, minAvgMaxReadings, tendencyReadings
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Posti123 am 21 Juni 2015, 10:45:44
Hi,

mein Workaround war energyCalc zu den knowndevices hinzuzufügen aber ich hab im SVN gesehen das du es nun auch hinzugefügt hast. Danke!

VG
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 08 August 2015, 18:15:05
Hallo Tupol,

beim loggen eines energy-Readings (Zählerstand) verwende ich die Statistik-Berechnung bereits ausgiebig:
[font=courier]
energy               21402.5 2015-08-08 17:12:45
statEnergy             Hour: 0.0 Day: 26.8 Month: 193.7 Year: 2173.5 (since: 2015-04-20 ) 2015-08-08 16:59:55
statEnergyDay         26.8 2015-08-08 16:59:55
statEnergyDayLast  27.6 2015-08-07 23:59:56
statEnergyLast    Hour: 0.9 Day: 27.6 Month: 670.3 Year: - 2015-08-08 16:59:55[/font]

Zum Loggen von Delta-Tageswerten haben ich bereits ein singularReadings (vz280:energy:Delta:(Day|Month|Year)) angelegt.
Nun möchte ich ebenfalls einmal pro Tag den Zählerstand mitloggen:
vz280:energy:(Delta|Max):(Day|Month|Year)
Es wird aber nur ein statEnergyDayLast erzeugt.
Kann der *DayLast-Reading-Name beeinflusst werden um beide Readings zu erzeugen? Hast du einen anderen Vorschlag?

Gruß
optimizer
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 20 August 2015, 21:57:22
Max gibt es nicht bei delta readings. Versuch mal ein zweites statistics auf den stat wert. Bin mir aber nicht sicher, ob das funktioniert..
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 22 August 2015, 00:17:19
Wie vermutet wird auch in einer weiteren statistics-Definition kein Max-Eintrag bei Delta-Readings erzeugt.
Dass bei Delta-Reading von Haus aus kein MIN/MAX gerechnet wird, leuchtet mir ein.
Aber was spricht dagegen bei einem expliciten "singularReadings" die angegebenen statTypes zu errechnen, z.B. als statxxxxMaxDayLast?
Es würde das tägliche loggen von Zählerständen enorm erleichtern.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 22 August 2015, 10:15:51
Wie hast du das neue statistics definiert?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 23 August 2015, 22:42:38
ZitatWie hast du das neue statistics definiert?
Im Prinzip wie das erste, jedoch mit "Max" als Präfix nur mit einem singularreading:
Internals:
   CFGFN
   DEF        vz280 Max
   DEV_REGEXP vz280
   NAME       PV_Statistik_Max
   NR         733
   NTFY_ORDER 10-PV_Statistik_Max
   PREFIX     Max
   STATE      Updated stats for: vz280
   TYPE       statistics
   Readings:
     2015-08-21 15:35:39   monitoredDevicesVOLKSZAEHLER vz280
     2015-08-23 21:59:55   nextPeriodChangeCalc 2015-08-23 22:59:55
     2015-08-23 21:59:55   state           Updated stats for: vz280
   Fhem:
     modulVersion $Date: 2015-07-27 17:56:28 +0200 (Mon, 27 Jul 2015) $
Attributes:
   singularReadings vz280:energy:(Max):(Hour|Day)

Könntest du bei Delta-Readings nicht auch das DayLast für MinMax  automatisch einmal am Tag zu erzeugen?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 24 August 2015, 07:41:48
Mit dieser definition bildest du aber keine statistic des stat-wertes. Du must noch die readings definieren.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: cwagner am 24 August 2015, 17:50:23
Moin,
mit dieser Definition erstelle ich ein Statistik-Device:
define Statistik statistics Wetterstation|SW_.*|Switch_Heizkeller stat_

Von meinen verschiedenen Switchen erhalte ich die Statistiken. Einen Switch und einzelne Readings von Wetterstation möchte ich ausschließen:
attr Statistik excludedReadings Wetterstation:(rain|brightness),SW_Radio:.*

oder auch
attr Statistik excludedReadings Wetterstation:(rain|brightness)|SW_Radio:.*

schließen die Statistiken für den SW_Radio leider nicht aus. Was mache ich falsch?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 29 August 2015, 23:23:24
Hallo tupol,

dann hab ich wohl nicht verstanden, was du mit "statistic des stat-wertes" meinst.  :-[
Mit einem separaten Reading (Kopie von energy) + minAvgMaxReadings auf Kopie + singularReadings würde es zwar funktionieren, ich suche aber nach einem einfacheren Weg.
Ich finde ein zusätzlicher MinAvgMax u. *Last auch bei Delta-Readings würde dein Modul aufwerten.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: okiberlin am 08 September 2015, 20:59:20
Hallo tupol,

ist es möglich das Modul zu erweitern um auch das Reading windGust auszuwerten? Der LaCrosse TX22 liefert Windgeschwindigkeit und Böen.
Ich habe folgendes konfiguriert:

attr Wetter.Statistik singularReadings Wetter.Terrasse:rain:Delta:(Hour|Day)|Wetter.*:temperature:(Avg|Max|Min):(Day|Week|Month|Year)|Wetter.Terrasse:(windSpeed|windGust):Max:(Hour|Day)
attr Wetter.Statistik excludedReadings Wetter.*:humidity


Der Sensor Wetter.Terrasse liefert u.a. diese Readings:

2015-09-08 20:52:33   statWindSpeedHour Min: 0.0 Avg: 0.5 Max: 1.5
2015-09-08 19:59:55   statWindSpeedHourLast Min: 0.0 Avg: 0.8 Max: 2.6
2015-09-08 20:52:33   statWindSpeedHourMax 1.5
2015-09-08 19:59:55   statWindSpeedHourMaxLast 2.6
2015-09-08 20:51:53   state           T: 15.9 H: 57
2015-09-08 20:52:33   temperature     15.9
2015-09-08 20:52:33   windDirectionDegree 157.5
2015-09-08 20:52:33   windDirectionText SSE
2015-09-08 20:51:53   windGust        0.9
2015-09-08 20:52:33   windSpeed       0.4


windSpeed und die anderen Readings werden durch Wetter.Statistik korrekt berechnet. Nur bei windGust passiert leider nix.

Viele Grüße
oki
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 09 September 2015, 18:08:38
Ja ist möglich. Siehe commandref.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: okiberlin am 11 September 2015, 13:52:14
geht tatsächlich, ich hatte minAvgMaxReadings übersehen, peinlich :-[
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: gima84 am 05 Oktober 2015, 19:00:00
Hi, ich häng meine Frage hier einfach mal dran.

Ich habe das Module aktiviert:
define ErtragWaermepumpe statistics ebus
attr ErtragWaermepumpe deltaReadings Energieertrag


Im Geräte ebus gibts 4 Readings, die minütlich aktualisiert werden. Das Reading "Energieertrag" wird nur aller 2 Stunden aktualisiert. Im Event monitor, sehe ich jedoch 4 Einträge für das Statistikmodul (wenn sich die minütlichen Readings aktualisieren).

2015-10-05 18:58:18 GAEBUS ebus Vorlauf: 34.19 ok
2015-10-05 18:58:18 GAEBUS ebus statEnergieertrag: Hour: 0 Day: 10 Month: 28 Year: 28 (since: 2015-10-03 )
2015-10-05 18:58:18 GAEBUS ebus Rücklauf: 25.44 ok
2015-10-05 18:58:18 GAEBUS ebus statEnergieertrag: Hour: 0 Day: 10 Month: 28 Year: 28 (since: 2015-10-03 )
2015-10-05 18:58:18 GAEBUS ebus Wärmepumpenstatus: heat
2015-10-05 18:58:18 GAEBUS ebus statEnergieertrag: Hour: 0 Day: 10 Month: 28 Year: 28 (since: 2015-10-03 )
2015-10-05 18:58:18 GAEBUS ebus Energieintegral: -20
2015-10-05 18:58:18 GAEBUS ebus statEnergieertrag: Hour: 0 Day: 10 Month: 28 Year: 28 (since: 2015-10-03 )


Ich habe schon die Optionen ignoreDefaultAssignments mit 0 und 1 probiert. excludedReadings ebenfalls auf diese 4 Reading gesetzt. Hat leider alles nichts geholfen.

Gibts dazu eine Idee?

Gruß Martin
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 05 Oktober 2015, 19:31:12
Das ist korrekt. Die Statistik wird jedesmal aktualisiert, wenn ein notify-event auf dem Gerät erzeugt wird.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: gima84 am 05 Oktober 2015, 20:25:03
Danke für die Antwort. Gibts eine Möglichkeit das zu verhindern, oder macht das aus Architektursicht keinen Sinn?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: StefanW am 06 November 2015, 08:09:25
Hallo,

wäre es möglich, das Modul um das reading temperature2 zu erweitern?

Ich möchte nämlich bei einem TX25IT den Wert vom Kabelsensor auch mit erfassen.

Gruß
Stefan
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 01 Dezember 2015, 23:12:58
Hallo tupol,

im Sub statistics_doStatisticSpecialPeriod müsste while ( $#hidden > $specialPeriod ) { meiner Meinung nach so lauten: while ( $#hidden >= $specialPeriod ) { (s. Patch-Datei)

Diese Funktion hat mich dabei inspiriert, einen lang ersehnten Wunsch umzusetzen ;) : einen rollierenden Monatszeitraum (z.B. 12 Monate) mit dem davor liegenden Zeitraum vergleichen zu können.
Die neue Funktion "statistics_doStatisticSpecialPeriodMonth" mit dem neuen Attribut "specialDeltaPeriodMonth" erzeugt dann zwei Readings: stat*specialPeriodMonth u. stat*specialPeriodMonthLast

Eine weitere Funktion "ReadStatistik" hilft vielleicht auch anderen, die einen Hour/Day/Month/Year-StatistikWert aus so einem Reading
Hour: 0.2 Day: 11.8 Month: 11.8 Year: 123.0
ermitteln wollen: Z.B. gibt dann der Aufruf ReadStatistik("DeinDeviceName","statReadingName","Month") den jeweiligen Monatswert zurück.

Wäre schön, wenn du die Änderungen in das Modul aufnehmen könntest. (s. Patch-Datei)

Gruß
optimizer

PS: Als weitere Möglichkeit könnte man die Funktion noch allgemeiner gestalten, um alle Perioden und verschiedene Funktionen (sum, avg) zu ermöglichen.
z.B. mit Attribut specialDeltaPeriodNew 12 month avg
einen Durchschnitt über die letzten 12 Monate.
nur so 'ne Idee  :)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 02 Dezember 2015, 21:18:09
Hallo Optimizer,

Danke für die Vorschläge.
Das mit dem "while" erschließt sich mir aber nicht. Meines Erachtens ist da kein Fehler.

Für die specialPeriods müsste etwas allgemeineres ähnlich der singularReadings aufgebaut werden - mit mehreren Perioden für definierte Readings. Da habe ich ein statistics_doStatisticSpecialPeriod2 angefangen, bin aber noch nicht weit gekommen. Insbesondere die Attribute-Definition wird einfach immer unübersichtlicher

ReadStatistiks ist sinnvoll aber besser in myUtils und der Wiki aufgehoben. Für das statistics-Modul gibt es ja bereits singularReadings

Gruß

tupol
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 02 Dezember 2015, 23:49:56
Hallo tupol,

in der while Zeile sollte ">" durch ">=" ersetzt werden, sonst wird z.B. bei specialDeltaPeriodHour=2 eine Summe aus drei Readings gebildet.

<{ReadStatistik("DeinDeviceName","statEnergyGesamtverbrauch","Month")}>  usw. verwende ich in einer readingsGroup Tabelle ohne für jede Periode ein singularReading erstellen zu müssen. Das ist natürlich Geschmackssache.

Ein Universal specialPeriod 2.0 hört sich noch besser an. Wenn man das nur für delta-Readings ohne Device-Nennung machen würde, stell ich mir das nicht ganz so kompliziert vor. Wenn du Unterstützung brauchst, melde dich.

Gruß
optimizer
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 03 Dezember 2015, 18:24:49
Danke. "while"-bug ist gefixt.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 23 Dezember 2015, 10:52:48
Halo, da die Speicherkarte in meinem Raspi wieder mal defekt war, bin ich jetzt auf einen Cubietruck umgezogen. Das Statistics-Modul hatte bis November ohne Probleme bei mir funktioniert. Nach dem Umzug werden die Tagwerte endlos weitergezählt. Leider kann ich keinen Fehler bei mir finden. Ist aber eventuell auch meinem Wissen geschuldet.
In der fhem. cfg ist folgendes eingetragen:define SDM630_Haus_Statistik statistics SDM630M_Haus
attr SDM630_Haus_Statistik deltaReadings Energy_export,Energy_import
attr SDM630_Haus_Statistik singularReadings SDM630M_Haus:Energy_export:Delta:Hour|SDM630M_Haus:Energy_export:Delta:Day|SDM630M_Haus:Energy_export:Delta:Month|SDM630M_Haus:Energy_export:Delta:Year|SDM630M_Haus:Energy_import:Delta:Hour|SDM630M_Haus:Energy_import:Delta:Day|SDM630M_Haus:Energy_import:Delta:Month|SDM630M_Haus:Energy_import:Delta:Year

define SDM630_PV_Statistik statistics SDM630M_PV
attr SDM630_PV_Statistik deltaReadings Energy_export,Energy_import
attr SDM630_PV_Statistik singularReadings SDM630M_PV:Energy_export:Delta:Hour|SDM630M_PV:Energy_export:Delta:Day|SDM630M_PV:Energy_export:Delta:Month|SDM630M_PV:Energy_export:Delta:Year|SDM630M_PV:Energy_import:Delta:Hour|SDM630M_PV:Energy_import:Delta:Day|SDM630M_PV:Energy_import:Delta:Month|SDM630M_PV:Energy_import:Delta:Year

Es betrifft zwei "Stromzähler" SDM630, wo ich die Werte mit Energy_export und Energy_import auslese.
Dank im Voraus
Steffen
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 23 Dezember 2015, 19:51:03
Das scheint korrekt zu sein. Allerdings reicht ein statistics zu mit "SDM630M_Haus|SDM630M_PV"

Mach mal modul-verbose 5 an und untersuche den Log beim Tageswechsel
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 24 Dezember 2015, 07:28:16
Danke, mit "SDM630M_Haus|SDM630M_PV" würde doch aber bedeuten, das er alles in die statistics aufnimmt. Es werden auch noch andere Werte genutzt. Ich habe mal im log nachgeschaut, das einzige was da im Moment in Frage kommt ist eventuell backup (hatte ich bisher auf 23:59 eingestellt). Diese habe ich jetzt auf 00:05 eingestellt und werde den nächsten Tageswechsel mal mit verbose 5 anschauen.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 24 Dezember 2015, 12:13:56
Interessant ist, ob statistics im log den Tageswechsel erkennt. Dafür muss es kurz vor 24:00 laufen. Normalerweise 5 s.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: privat58 am 25 Dezember 2015, 05:08:27
Ich kann Entwarnung geben. Nachdem ich den backup Zeitpunkt nach Mitternacht verschoben habe, scheint es zu funktioniern. Es werden nun wieder korrekte Werte angezeigt.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: l2r am 08 Januar 2016, 10:47:46
hallo,

ich habe ein Frage zum statistics-Modul.

Ich nutze einen Temperatursensor (Bresser_Temp) für den ich Statistikwerte mit dem Modul erweitern möchte.

define Statistik statistics Bresser_Temp
attr Statistik ignoreDefaultAssignments 1
attr Statistik minAvgMaxReadings temperature,humidity,dewpoint
attr Statistik room TRX_WEATHER
attr Statistik singularReadings Bresser_Temp:temperature:Max:Day
attr Statistik tendencyReadings temperature,humidity,dewpoint


die minMaxAVG und Tendency-Readings werden sauber erzeugt. Das singularReading allerdings nicht.

Lösche ich die minMaxAvg und TendencyReadings, dann wird auch das singularReading erzeugt. Ist das normal?

Gruß Michael
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Mumpitz am 26 Februar 2016, 15:42:21
Hallo zusammen

Ich habe mir Anfangs Februar mal das Statistics Modul definiert, um damit eine schöne Darstellung des Stromverbrauchs zu bekommen. Zu diesem Zweck habe ich dazumal "stat_Adapter_Waschmaschine" definiert. Da ich mittlerweilen jedoch den Stromverbrauch anders logge, habe ich dieses define wieder gelöscht. (Kommandozeile delete stat_Adapter_Waschmaschine). Das hat auch funktioniert.

Nur bekomme ich jetzt in unregelmässigen Abständen diese Meldung im Global Logfile:

2016.02.26 15:35:01 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23729> line 559.
2016.02.26 15:33:50 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23632> line 559.
2016.02.26 15:33:30 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23574> line 559.
2016.02.26 15:32:11 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23464> line 559.
2016.02.26 15:31:52 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23405> line 559.
2016.02.26 15:31:25 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23341> line 559.
2016.02.26 15:30:35 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23275> line 559.
2016.02.26 15:30:17 1: PERL WARNING: Argument "stat_Adapter_Waschmaschine" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 752, <GEN23223> line 559.


ich habe die ganze cfg durchgesucht, es gibt nirgends mehr einen Eintrag der so lautet. Ebenso habe ich sämtliche FileLog die ich definiert habe durchgesucht, auch dort finde ich nirgends mehr einen Eintrag, dass noch auf das Statistics Modul verweiset...

hat jemand eine Idee wo ich noch suchen könnte oder woher das diese Meldung kommt?

Danke!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Bennemannc am 26 Februar 2016, 18:48:16
Hallo,

../log/fhem.save ?

Gruß Christoph
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Mumpitz am 26 Februar 2016, 19:51:54
auch dort lässt sich keinerlei Eintrag mit stat_Adapter_Waschmaschine finden!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Bennemannc am 26 Februar 2016, 20:28:31
Hallo,

es gibt noch eine Datei Event.types oder so ähnlich, da könnte noch etwas drinstehen. Kommen die Meldungen auch noch nach einem Neustart ?

Gruß Christoph
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Mumpitz am 28 Februar 2016, 13:19:37
Du meinst vermutlich die Datei eventTypes.txt, welche im log Verzeichnis liegt!?

Auch in dieser steht nirgends was von stat_Adapter_Waschmaschine und allgemein vom Statistics Modul  :-\

sonst noch eine Idee?
Titel: Antw:&quot;Statistics Modul&quot; Welche Geräte werden unterstützt?
Beitrag von: dev0 am 28 Februar 2016, 16:09:51
Vermutung: es ist noch ein SVG definiert, dass auf die Daten zugreifen möchte.
Sonst: attr global stacktrace 1
Titel: Antw:&quot;Statistics Modul&quot; Welche Geräte werden unterstützt?
Beitrag von: Mumpitz am 07 März 2016, 06:49:46
@dev0

Danke! Genau das war es. Obwohl ich die svg Dateien mehrfach angeschaut habe, ob da noch was definiert ist, habe ich die Plots alle gelöscht. Und siehe da, seit einer Woche keine Abstürze mehr.

Vielen Dank!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Jamo am 09 März 2016, 09:59:14
Hallo alle zusammen,
ich habe den Gassensor von Homematic, der wird auch nicht vom Statistic Modul unterstützt.

Nachdem ich aber 2 userreading mit "power" und "energy" mittels attribute erstellt habe,
wird auch der jetzt unterstützt, also das geht hervorragend.  :-)

Gruss, Ingolf.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Alveole am 27 März 2016, 22:23:49
Hallo,
ich versuche mich auch gerade an statistics mit einem KNX-Aktor.
Ich möchte gern die Aussentemperatur auswerten.

definiert habe ich:

define Garten_temp EIB 10c8
attr Garten_temp IODev EIB
attr Garten_temp alias Temperatur außen
attr Garten_temp dummy 1
attr Garten_temp model tempsensor
attr Garten_temp room Wetter

define Garten_temp_statistic statistics Garten_temp
attr Garten_temp_statistic room Wetter


Nun bekomme ich aber als Readings folgendes angezeigt:

ZitatstatStateDay
statStateDay   
7.7_&deg;C: 00:19:59 7.7_&deg;C_Count: 1 7.9_&deg;C: 00:09:59 7.9_&deg;C_Count: 1 8.1_&deg;C: 00:29:56 8.1_&deg;C_Count: 1 8.2_&deg;C 00:00:00 8.2_&deg;C: 00:05:02 8.2_&deg;C_Count 00:00:01 (since: 2016-03-27_21:11:16)

statStateMonth   
7.7_&deg;C: 00:19:59 7.7_&deg;C_Count: 1 7.9_&deg;C: 00:09:59 7.9_&deg;C_Count: 1 8.1_&deg;C: 00:29:56 8.1_&deg;C_Count: 1 8.2_&deg;C 00:00:00 8.2_&deg;C: 00:05:02 8.2_&deg;C_Count 00:00:01 (since: 2016-03-27_21:11:16)
   
statStateYear
7.7_&deg;C: 00:19:59 7.7_&deg;C_Count: 1 7.9_&deg;C: 00:09:59 7.9_&deg;C_Count: 1 8.1_&deg;C: 00:29:56 8.1_&deg;C_Count: 1 8.2_&deg;C 00:00:00 8.2_&deg;C: 00:05:02 8.2_&deg;C_Count 00:00:01 (since: 2016-03-27_21:11:16)
   
state
7.7 &deg;C

wie bekomme ich das in ein ordentliches Format was ich dann wieder mit einem notify einem dummy zuweisen kann?

Danke!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 28 März 2016, 09:00:25
Ein min-max-Reading für den state definieren. State ist per default ein duration -Reading
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Alveole am 28 März 2016, 09:45:29
Hallo tupol,
Du meinst folgendes?

attr Garten_temp_statistic minAvgMaxReadings state

DANKE!!!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Romoker am 24 April 2016, 15:45:08
Hallo,

ich möchte die Anzahl der state-Zustände "open" eines Sensors pro Stunde zählen. Standardmäßig werden für Duration-Readings nur Day|Month|Year unterstützt.
Definiere ich über Attribut "durationReadings state", werden auch nur statStateDay, statStateMonth und statStateYear im Gerät erstellt, obwohl zumindest in der deutschen Commandref http://fhem.de/commandref_DE.html#statistics (http://fhem.de/commandref_DE.html#statistics) auch "Stunde" funktionieren sollte.

Die Alternative eine expliziten "singularReadings" führt leider auch zu keinem Erfolg.

Internals:
   CFGFN
   DEF        AL_AZ4_Sensor_Btn_0[1-5]
   DEV_REGEXP AL_AZ4_Sensor_Btn_0[1-5]
   NAME       AL_statistics
   NR         10709
   NTFY_ORDER 10-AL_statistics
   PREFIX     stat
   STATE      Updated stats for: AL_AZ4_Sensor_Btn_03
   TYPE       statistics
   Readings:
     2016-04-24 13:34:37   monitoredDevicesCUL_HM AL_AZ4_Sensor_Btn_01,AL_AZ4_Sensor_Btn_02,AL_AZ4_Sensor_Btn_03,AL_AZ4_Sensor_Btn_04,AL_AZ4_Sensor_Btn_05
     2016-04-24 14:59:56   nextPeriodChangeCalc 2016-04-24 15:59:55
     2016-04-24 15:20:31   state           Updated stats for: AL_AZ4_Sensor_Btn_03
   Fhem:
     modulVersion $Date: 2016-04-03 12:58:45 +0200 (Sun, 03 Apr 2016) $
     nextPeriodChangeTime 1461506395
Attributes:
   ignoreDefaultAssignments 1
   room       Administration
   singularReadings AL_AZ4_Sensor_Btn_05:state:open:Hour


Für hilfreiche Hinweise bin ich dankbar.

Viele Grüße




Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 24 April 2016, 21:13:49
Für was benötigst du das genau?
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Romoker am 24 April 2016, 22:30:59
Bei dem Sensor handelt es sich um das 8-Kanal-Sendemodul HM-MOD-EM-8. An drei Kanaleingängen habe ich Bewegungssensoren angeschlossen. Die Sensoren wechseln bei Bewegung von "closed" auf "open". Ich möchte die Anzahl der Bewegungen über den Tag darstellen, um ein Bewegungsprofil darstellen zu können. Dazu reicht mir die Aggregation auf eine Stunde. Das könne ich auch mit dem Modul HourCounter realisieren, mit dem statistics-Modul wäre es aber eleganter.

Ich kann mir auch weitere Anwendungsfälle vorstellen, z.B. bei Verbrauchsmessungen auf Basis von Impulsen.

Viele Grüße
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 25 April 2016, 19:08:31
Es gibt im nächsten Update das Attribute durationPeriodHour

Für eine Verbrauchsmessung ist HourCounter besser geeignet.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Romoker am 25 April 2016, 20:44:18
Ich bin begeistert, wie schnell hier aus einer Frage eine Featurezusage wird. Vielen Dank!!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Raven am 02 Juli 2016, 14:45:15
Zitat von: tupol am 25 April 2016, 19:08:31
Für eine Verbrauchsmessung ist HourCounter besser geeignet.

Servus
Aus welchen Grund ist bitte HourCounter besser geeignet?

Ich würde gerne specialDeltaPeriods für ein Fensterkontakt definieren.
Was gebe ich bitte unter dem Gerätewert an? Duration? Open?


specialDeltaPeriods <Gerät:Gerätewert:Zeitraum:Anzahl1:Anzahl2:...>
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Florian_GT am 24 August 2016, 00:08:06
Sehr merkwürdig.  :o

Obwohl ich so definiert habe:
## TEMP
define stats_temp1 statistics temp_.*
attr stats_temp1 minAvgMaxReadings temperature
attr stats_temp1 singularReadings temp_.*:temperature:(Min|Avg|Max):(Hour|Day|Month|Year)

legt er immer statHumidityDay an

Dabei hat der Temperatur Sensor nur "temperature" und "state" als Readings.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Florian_GT am 24 August 2016, 00:23:21
Zitat von: afloria am 24 August 2016, 00:08:06
Sehr merkwürdig.  :o

Obwohl ich so definiert habe:
## TEMP
define stats_temp1 statistics temp_.*
attr stats_temp1 minAvgMaxReadings temperature
attr stats_temp1 singularReadings temp_.*:temperature:(Min|Avg|Max):(Hour|Day|Month|Year)

legt er immer statHumidityDay an


und auch schon selber gelöst.

Wenige Zeit später wird dann auch "humidity" als Reading angelegt durch das dewpoint module wenn ich das richtig sehe.

### ALLGEMEIN - HUMIDITY
define dew_all dewpoint dewpoint .* temperature humidity dewpoint
attr dew_all absFeuchte 1


Ich habe jetzt dht_.* als Device Regex eingetragen, so wird nicht mehr jedes Device versucht zu berechnen.

Könnte man bei Gelegenheit mal prüfen, warum das nicht zunächst prüft ob temperature und humidity auch vorhanden sind...
Dabei hat der Temperatur Sensor nur "temperature" und "state" als Readings.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Gruvol am 07 Oktober 2016, 16:04:13
Hallo allerseits,

ich habe vor meinen Stromverbrauch zu messen und will in einer Grafik monatlich angezeigt bekommen, welchen Verbrauch ich hatte.
Dabei habe ich mir mehrere Varianten der Umsetzung in fhem angeschaut. Diese hier scheint mir am vielversprechendsten zu sein.

Ich stelle mir aktuell die Frage, ob man das Statistics-Modul auch mit einer Datenbank kombinieren kann, da ich kein Fan von Textdateien bin und diese schnell unübersichtlich und statisch sind.
Zum anderen ist mir eines noch nicht ganz klar. Meine Aktoren, z.B. Fibaro WallPlugs liefern Werte in dessen Readings. Da ich diese Werte aber nach Möglichkeit nicht löschen möchte, ist die Frage, ob es Sinn macht, eigene Readings zu erstellen? Wenn ja, hat jemand Erfahrungen gemacht, wie man dies am elegantesten umsetzt?

Viele Grüße
Gruvol

Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Florian_GT am 18 Oktober 2016, 22:46:42
Zitat von: Gruvol am 07 Oktober 2016, 16:04:13
Hallo allerseits,

ich habe vor meinen Stromverbrauch zu messen und will in einer Grafik monatlich angezeigt bekommen, welchen Verbrauch ich hatte.
Dabei habe ich mir mehrere Varianten der Umsetzung in fhem angeschaut. Diese hier scheint mir am vielversprechendsten zu sein.

Ich stelle mir aktuell die Frage, ob man das Statistics-Modul auch mit einer Datenbank kombinieren kann, da ich kein Fan von Textdateien bin und diese schnell unübersichtlich und statisch sind.
Zum anderen ist mir eines noch nicht ganz klar. Meine Aktoren, z.B. Fibaro WallPlugs liefern Werte in dessen Readings. Da ich diese Werte aber nach Möglichkeit nicht löschen möchte, ist die Frage, ob es Sinn macht, eigene Readings zu erstellen? Wenn ja, hat jemand Erfahrungen gemacht, wie man dies am elegantesten umsetzt?

Viele Grüße
Gruvol

Sollte grundsätzlich möglich sein, steht bei mir jedoch auch nur auf der Todo Liste. Wenn ich es mal erarbeitet habe... schreibe ich dir... oder wenn ich mal Zeit habe, könnten wir uns da zusammen dransetzen...
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: optimizer am 30 März 2017, 18:34:55
Hallo,

zur rollierenden Verbrauchsmessung finde ich das Attribut specialDeltaPeriods echt super. Damit man schnell die vorhergehende Periode vergleichen kan,n habe ich die Funktion statistics_doStatisticSpecialPeriod2 um eine Berechnung der Vorgängerperiode erweitert. Damit ist dann z.B. ein saisonbereinigter 12-Monats-Vergleich des Stromverbrauchs oder -erzeugung leicht möglich. In einem readingsgroup sieht das dann z.B. so aus wie im Anhang (12Monate u. vorher).

Wäre natürlich schön, wenn die Änderungen ins Modul einfliessen würden:

sub statistics_doStatisticSpecialPeriod2 ($$$$$$)
{

   my ($hash, $dev, $readingName, $periodText, $decPlaces, $value) = @_;
   my $name = $hash->{NAME};
   my $pattern;
   
   my $specialDeltaPeriods = AttrVal($name, "specialDeltaPeriods", "");
   return   unless $specialDeltaPeriods;

   # Check if reading occures in attribute specialDeltaPeriods, extract period numbers
   my $devName = $dev->{NAME};
   $pattern = $devName . ":" . $readingName . ":" . $periodText . ':([\d:]+)';
   #better userinput-error-handling needed. check for missing arguments
   statistics_Log $hash, 3, "pattern: $pattern";
   return   unless $specialDeltaPeriods =~ $pattern;
   
   #Determine number of periods and maximal number
   my @periods = split /:/, $1;
   my $maxNumber=0;
   @periods = sort { $a <=> $b } @periods;
   $maxNumber = $periods[$#periods];
   my $PeriodsCount = @periods;                 #count elements in array, because $#periods not worked

   #Determine reading names
   my $statReadingName = $hash->{PREFIX} . ucfirst($readingName) . ucfirst($periodText);
   my $hiddenReadingName = ".".$devName . ":" . $readingName . $periodText;

  # Update hidden stack
   my @hidden = ();
   if (exists ($hash->{READINGS}{$hiddenReadingName}{VAL}))
      { @hidden = split / /, $hash->{READINGS}{$hiddenReadingName}{VAL}; }

   unshift @hidden, $value;
   statistics_Log $hash, 3, "Add $value to $hiddenReadingName";
   
   while ( $#hidden >= ($maxNumber * 2 ) ) {
      #while ( $#hidden >= ($maxNumber * 2 ) ) {
      my $lastValue = pop @hidden;
      statistics_Log $hash, 4, "Remove last value '$lastValue' from '$hiddenReadingName'";
   }
   
   #Calculate and write specialPeriodValues
   my $result = 0;
   my $counterHidden = 0;
   my $counterPeriods = 0;
   my @result_sum;
   my @result_sumLast;
   my @rValue;
   my @rValueLast;
   
   foreach (@periods) {
   statistics_Log $hash, 3, "$statReadingName Loop period $_ counterPeriods '$counterPeriods+1' from $PeriodsCount";
   $counterHidden = 0;                  # necessary for multiple periods
      foreach (@hidden) {
         $counterHidden++;
         statistics_Log $hash, 3, "$statReadingName ItemLoop value $_ counterHidden: $counterHidden ";   

         if ( $counterHidden < $periods[$counterPeriods] ) {
            $result_sum[$counterPeriods] += $_;
            $rValue[$counterPeriods] = sprintf "%.".$decPlaces."f (%d %s)", $result_sum[$counterPeriods], $counterHidden, $periodText;
            statistics_Log $hash, 3, "$statReadingName period $periods[$counterPeriods] not reaches yet. rValue $rValue[$counterPeriods] ";         
         }
         elsif ( $counterHidden == $periods[$counterPeriods] ) {
            $result_sum[$counterPeriods] += $_;
            $rValue[$counterPeriods] = sprintf "%.".$decPlaces."f", $result_sum[$counterPeriods];
            statistics_Log $hash, 3, "$statReadingName complete periode $periods[$counterPeriods] rValue $rValue[$counterPeriods] ";
         }
         
         #Begin Calc for Last Readings
         if ( $counterHidden  > ($periods[$counterPeriods] ) ) {
            if ( $counterHidden < ($periods[$counterPeriods] * 2 ) ) {
               $result_sumLast[$counterPeriods] += $_;
               $rValueLast[$counterPeriods] = sprintf "%.".$decPlaces."f (%d %s)", $result_sumLast[$counterPeriods], ($counterHidden-$periods[$counterPeriods]), $periodText;
               statistics_Log $hash, 3, "$statReadingName Last period $periods[$counterPeriods] not reaches yet. rValueLast $rValueLast[$counterPeriods] ";
            }
            elsif ( $counterHidden == ( $periods[$counterPeriods] * 2 ) ) {
               #calc for complete Last reading.
               $result_sumLast[$counterPeriods] += $_;
               $rValueLast[$counterPeriods] = sprintf "%.".$decPlaces."f", $result_sumLast[$counterPeriods];
               statistics_Log $hash, 3, "$statReadingName complete Last periode $periods[$counterPeriods] rValueLast: $rValueLast[$counterPeriods] ";
               last;          #calc is done. break out to next hidden item
            } 
         }
      }
      #write readings
      my $rName = $statReadingName . $periods[$counterPeriods];
      statistics_Log $hash, 3, "Set '$rName = $rValue[$counterPeriods]'";
      readingsBulkUpdate($dev, $rName, $rValue[$counterPeriods], 1);
     
      #write last readings
      $rName = $statReadingName . $periods[$counterPeriods] . "Last";
      statistics_Log $hash, 3, "Set '$rName = $rValueLast[$counterPeriods]'";
      readingsBulkUpdate($dev, $rName, $rValueLast[$counterPeriods], 1);

      $counterPeriods++;
   }

   # Store hidden stack
   $result = join( " ", @hidden );
   readingsSingleUpdate($hash, $hiddenReadingName, $result, 0);
   statistics_Log $hash, 3, "Set hidden $hiddenReadingName = $result ";

}


Gruß
optimizer
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Aeroschmelz am 03 September 2017, 14:36:41
Hallo,

kurze Frage. Kann es sein, dass die Kombination der attribute minAvgMaxReadings und tendencyReadings bei dem Modul nicht funktioniert? Verwende ich eines von beiden, so werden die entsprechenden Readings angelegt, verwende ich beide, legt das Modul keine neuen Readings an, ein Verbose 5 zeigt folgendes:


017.09.03 14:11:17 3: statistics: set myStats doStatistics
2017.09.03 14:11:17 4: statistics myStats: DoStatisticsAll.381 Doing statistics (period 0) for device 'Balkon'
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'temperature' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'humidity' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'pressure-nn' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'temperature' from attribute 'tendencyReadings' to statistic type 4.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'humidity' from attribute 'tendencyReadings' to statistic type 4.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'pressure-nn' from attribute 'tendencyReadings' to statistic type 4.
2017.09.03 14:11:17 5: statistics myStats: Notify.259 Notifications of myself received.
2017.09.03 14:11:17 4: statistics myStats: DoStatisticsAll.381 Doing statistics (period 0) for device 'Pressure'
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'temperature' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'humidity' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'pressure-nn' from attribute 'minAvgMaxReadings' to statistic type 5.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'temperature' from attribute 'tendencyReadings' to statistic type 4.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'humidity' from attribute 'tendencyReadings' to statistic type 4.
2017.09.03 14:11:17 5: statistics myStats: DoStatistics.432 Assigned reading 'pressure-nn' from attribute 'tendencyReadings' to statistic type 4



Hier die Definition, so wie ich sie verwenden möchte:


# Statistik für Temperatur und Luftfeuchtigkeit
define myStats statistics Balkon|Pressure
attr myStats DbLogExclude .*
attr myStats dayChangeTime 07:00
attr myStats excludedReadings Pressure:State|Pressure:temperature|Pressure:pressure
attr myStats ignoreDefaultAssignments 0
attr myStats minAvgMaxReadings dewpoint,temperature,humidity,pressure-nn
attr myStats room System
attr myStats singularReadings Balkon:temperature:(Min|Max):(Day|Week|Month|Year)|Balkon:humidity:(Min|Max):Day|Pressure:pressure-nn:(Min|Max):(Day|Week|Month|Year)
attr myStats tendencyReadings temperature,humidity,pressure-nn
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Aeroschmelz am 03 September 2017, 16:19:29
Ok, scheint wohl ein bekanntes Problem zu sein:

https://forum.fhem.de/index.php/topic,38535.msg310357.html#msg310357 (https://forum.fhem.de/index.php/topic,38535.msg310357.html#msg310357)

Allerdings habe ich das auch nicht aus der CommandRef herauslesen können. Habe das Wiki mal aktualisiert.
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: Alveole am 17 Februar 2018, 22:45:07
Hallo,
Ich hab ein Problem oder besser gesagtFragen
Ich würde gern statistics verwenden um meinen Gasverbrauch zu ermitteln.
Die Daten kommen von einem Reedkontakt per knx als Gesamtanzahl Impulse und entsprechen somit genau der Anzeige am Zähler.

Devices: Medien_Gas_haupt
Statistics so definiert:
define myStatistics statistics Medien_Gas_haupt
attr myStatistics deltaReadings state
attr myStatistics singularReadings Medien_Gas_haupt:state:Delta:(Day|Month|Year)


Soweit so gut.
Erste Frage:
Nur warum gibt's die Statistic Readings 2 mal und das kleingeschriebene wird nicht aktualisiert? Siehe Bild

Und zweites Probelem:
Wenn ich state als deltareading definieren, wie kann ich dann mein Temperaturwerte eines anderen Devices, die bei knx auch wie alle über state kommen, als minmaxreading definieren?

Und die dritte frage (ergänzt)
Er rechnet falsch. Wenn ich gestern 293 und heute über 200 verbraucht habe, warum steht dann bei stateMonth und stateYear nur der Wert von heute  und nicht die Gesamtsumme?

Danke für die Mühe für mein vielen Fragen!
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: tupol am 18 Februar 2018, 14:11:23
1. Du must die default-Werte von statistics ausschalten.
2. weiteres statistics
3. Anzeige ist m.E. korrekt. (since ....)
Titel: Antw:"Statistics Modul" Welche Geräte werden unterstützt?
Beitrag von: sash.sc am 26 März 2020, 17:20:53
Hallo zusammen.

Habe das Modul heute mal gestartet. Wollte auch ein ShellyEM der über MQTT eingebunden ist, mit in statistics aufnehmen.
Wird aber als unsuported angezeigt.

Warum ? Wie kann ich oder sonst wer abhilfe schaffen ?


Internals:
   CID        shellyem_B9E817
   DEF        shellyem_B9E817
   DEVICETOPIC MQTT2_shellyem_B9E817
   FUUID      5e283ef9-f33f-852e-13fa-b7e93869833a5502
   FVERSION   10_MQTT2_DEVICE.pm:0.215180/2020-03-25
   IODev      mqtt
   LASTInputDev mqtt
   MSGCNT     1299
   NAME       MQTT2_shellyem_B9E817
   NR         413
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt_MSGCNT 1299
   mqtt_TIME  2020-03-26 17:21:15
   READINGS:
     2020-02-21 15:36:19   _powerKZbeginn  74656.8
     2020-03-26 16:07:43   announce_fw_ver 20200309-104606/v1.6.0@43056d58
     2020-03-26 16:07:43   announce_id     shelly-EM_WK_KZ
     2020-03-26 16:07:43   announce_ip     192.168.2.83
     2020-03-26 16:07:43   announce_mac    A4CF12B9E817
     2020-03-26 16:07:43   announce_new_fw false
     2020-03-26 17:20:00   emeter_0_energy 0
     2020-03-26 17:21:15   emeter_0_power  0.00
     2020-03-26 17:21:15   emeter_0_reactive_power 0.00
     2020-03-26 17:20:00   emeter_0_returned_energy 0
     2020-03-26 17:20:00   emeter_0_total  88009.8
     2020-03-26 17:20:00   emeter_0_total_returned 2.2
     2020-03-26 17:21:15   emeter_0_voltage 236.23
     2020-03-26 17:20:00   emeter_1_energy 645
     2020-03-26 17:21:15   emeter_1_power  128.18
     2020-03-26 17:21:15   emeter_1_reactive_power 85.92
     2020-03-26 17:20:00   emeter_1_returned_energy 0
     2020-03-26 17:20:00   emeter_1_total  117877.2
     2020-03-26 17:20:00   emeter_1_total_returned 130.4
     2020-03-26 17:21:15   emeter_1_voltage 236.23
     2020-03-26 16:07:43   online          true
     2020-03-26 17:21:15   relay_0         off
   helper:
     _98_statistics myStat
Attributes:
   IODev      mqtt
   autocreate 1
   readingList shellyem_B9E817:shellies/shelly-EM_WK_KZ/online:.* online
shellyem_B9E817:shellies/shelly-EM_WK_KZ/relay/0:.* relay_0
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/power:.* emeter_0_power
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/reactive_power:.* emeter_0_reactive_power
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/voltage:.* emeter_0_voltage
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/power:.* emeter_1_power
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/reactive_power:.* emeter_1_reactive_power
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/voltage:.* emeter_1_voltage
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/energy:.* emeter_0_energy
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/returned_energy:.* emeter_0_returned_energy
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/total:.* emeter_0_total
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/0/total_returned:.* emeter_0_total_returned
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/energy:.* emeter_1_energy
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/returned_energy:.* emeter_1_returned_energy
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/total:.* emeter_1_total
shellyem_B9E817:shellies/shelly-EM_WK_KZ/emeter/1/total_returned:.* emeter_1_total_returned
shellyem_B9E817:shellies/shelly-EM_WK_KZ/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }
   room       10_EG->KiZi,MQTT
   setExtensionsEvent 1


Ich würde da gern die emeter_x_power und emeter_x_engery Readings einbeziehen !

Gruß und Danke !
Sascha