Erweiterung KS300 um Statistikmodul - oder besser gleich in eigenes Modul?

Begonnen von tupol, 29 April 2014, 20:38:12

Vorheriges Thema - Nächstes Thema

tupol

Hallo Rudi,

besteht Interesse, dass KS300-Modul um ein Statistikmodul zu erweitern? Ich habe für das Jsonmeter etwas gebastelt was in folgenden Readings endet:

statElectricityConsumed            Hour: 18 Day: 60 Month: 60 Year: 60 (since: 2014-04-29_19:51:18 )   2014-04-29 20:04:54
statElectricityConsumedLast     Hour: 42 Day: - Month: - Year: - (since: 2014-04-29_19:51:18 )            2014-04-29 20:00:54
statElectricityPowerDay            Min: 104 Avg: 347 Max: 3326                                                                  2014-04-29 20:04:54
statElectricityPowerDayLast      Min: 77 Avg: 328 Max: 3624                                                                   2014-04-29 00:00:42
statElectricityPowerMonth        Min: 77 Avg: 338 Max: 4530 (since: 2014-04-26_11:15:25 )                  2014-04-29 20:04:54
statElectricityPowerYear            Min: 77 Avg: 338 Max: 4530 (since: 2014-04-26_11:15:25 )                 2014-04-29 20:04:54

Das ganze wird aber nur erzeugt (und berechnet), wenn "attr <device> doStatistics 1"


Korrektur
vielleicht macht es Sinn das Average-Modul um die Deltafunktionen zu erweitern??


tupol

Je mehr ich mich mit diesem unübersichtlichen Thema beschäftige (gerade habe ich rain entdeckt und die Möglichkeiten von dblog und webcharts), um so mehr tendiere ich zu einem eigenem helper-Modul.

Oder gibt es auch eine einfache Möglichkeit in SVG eine Tages- oder Monatsstatistik (Deltawerte) anzuzeigen mit dblog als Input?

Gruß

tupol

rudolfkoenig

ZitatKS300-Modul um ein Statistikmodul zu erweitern?

Ich bin inzwischen auch der Ansicht, dass sowas nicht in die einzelne Module gehoert, sondern entweder in average, oder in einem aehnlichen Hilfsmodul.
Zu dblog kann ich nix sagen, mit FileLog kann man delta-h und delta-d verwenden.

Tobias

Zitat von: rudolfkoenig am 30 April 2014, 08:10:45
Zu dblog kann ich nix sagen, mit FileLog kann man delta-h und delta-d verwenden.
DbLog kennt auch delta-h und delta-d. Sogar delta-t kennt es...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

tupol

Stimmt.   ??? Jetzt habe ich es in der commandref gefunden und richtig zuordnen können. Wäre schön, wenn Du der Beschreibung noch etwas Gliederung (Fettdruck?) gibts, da Dein Modul ja schon recht komplex ist.  ;) Ich hatte, mangels Gliederung, oben angefangen zu lesen und im unteren Teil den Faden verloren bzw. aufgegeben es komplett zu verstehen.

Wenn ich mir was wünschen darf, dann würde ich mich freuen, für die zusammenfasssenden Readings (T: 12 H: 65) auch so eine Positionszahl zu bekommen, wie es sie in FileLog gibt. Das würde die Auswerteausdrücke extrem vereinfachen.

Tobias

Die zusammenfassenden readings stehen im reading "state"

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

tupol

Bei mir heißt es data.
Aber ich muss es mit
#DbLog Wettersensor:data:0:delta-h:$val=~s/.*\sR..([\d.]*).*/$1/eg
ausschneiden.
In FileLog sieht es bedeutend einfacher aus:
#FileLog 10:Wettersensor.T:0:delta-h


tupol

Ich habe dann mal eine erste Version des Moduls 98_statistics.pm hochgeladen. Es realisiert meinen obige Vorschlag siehe commandref http://fhem.de/commandref_DE.html#statistics.

Es wird, wie üblich, Stück für Stück zusätzliche Features erhalten und zum gegebenen Zeitpunkt im Ankündigungsbereich vorgestellt.

rabbe

Hallo,

hört sich sehr gut an. Wenn ich das richtig verstehe, ist eine der Zielsetzung am Ende auch wie schon bei deinem Powermeter-Modul in Bezug auf die FD200 einen Tages-, Monats- und Jahresverbrauchswert zu erhalten?

Gruß rabbe
Wheezy@MeLE A2000 (A10) | FHEM 5.6 | CUL433 | CUL868 | FRITZ!Box 7362SL --- CUL_WS: AS(H)2000, S2001I(D/A), WS7000-15/16/20, S300TH, S555TH, ASH555, KS555 | CUL_TX: TX3P | FS20: FS20 STR-2 | FBAHA, FBDECT: FRITZ!Dect 200 | Calendar | ENIGMA2 | JSONMETER | PROPLANTA | SYSMON

Tobias

Vote für die Erweiterung des Statistikmoduls für die PCA301 Geräte. Hier habe ich ein Workarround dazu:
http://forum.fhem.de/index.php/topic,11648.msg165832.html#msg165832
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

tupol

Das wird ab Zeile 52 konfiguriert. Ich brauche Gerätetyp (modul) und Gerätewert von Euch.


##############################################################
# Syntax: deviceType, readingName, statisticType, decimalPlaces
#     statisticType: 0=noStatistic | 1=minMaxAvg | 2=deltaTime | 3=stateTimeCount
##############################################################
  my @knownDeviceReadings = (
    ["CUL_WS", "humidity", 1, 0]
   ,["CUL_WS", "temperature", 1, 1]
   ,["KS300", "humidity", 1, 0]
   ,["KS300", "temperature", 1, 1]
   ,["KS300", "wind", 1, 0]
   ,["KS300", "rain", 2, 1]
   ,["FBDECT", "current", 1, 3]
   ,["FBDECT", "energy", 2, 0]
   ,["FBDECT", "power", 1, 1]
   ,["FBDECT", "voltage", 1, 1]
  );

Tobias

hab mir mal den code angeschaut...
schön wäre es wenn man zusätzlich in der @knownDeviceReadings Variable eigene Readings mit Funktion definieren kann. Im PCA301 Fall also "Max-Min as DailyConsumption"

Schön wäre es auch wenn man als Quelle DbLog einstellen könnte. Denn bei einem FHEM-Restart sind alle schön ambitioniert gesammelten Statistiken hinüber  :'(
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

tupol

Deinen ersten Teil verstehe ich nicht. Ich brauche, wie gesagt, einen Modulnamen und einen Gerätewert.

Die Werte sollten nach einem Restart erhalten bleiben. Ich habe jetzt mal zur Sicherheit noch ein stündliches "WriteStatefile()" eingefügt. Ich hoffe, das hat keine negativen Effekte auf andere Sachen in FHEM.


cwagner

Hallo,

würde gerne Deinem Tipp folgen, anstelle von rain und average mit statistics zu experimentieren. Allerdings scheint meine Wetterstation nicht erkannt zu werden.
Hier mein aktuelles Listing in der Hoffnung, dass Du damit alle Infos hast, um das Modul mit der Homematic-Wetterstation HM-WDS100-C6-O bekannt zu machen:

Internals:
   CFGFN      ./FHEM/wetter.cfg
   CUL_0_MSGCNT 23
   CUL_0_RAWMSG A135786701DBB9A0000000058610EE2C000062C09::-76.5:CUL_0
   CUL_0_RSSI -76.5
   CUL_0_TIME 2014-05-12 22:08:41
   DEF        1DBB9A
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     23
   NAME       Wetterstation
   NR         300
   STATE      T: 8.8 H: 97 W: 0 R: 1123.95 IR: 0 WD: 30 WDR: 67.5 S: 44 B: 9
   TYPE       CUL_HM
   lastMsg    No:57 - t:70 s:1DBB9A d:000000 0058610EE2C000062C09
   protLastRcv 2014-05-12 22:08:41
   rssi_at_CUL_0 avg:-77.17 min:-78.5 max:-76 lst:-76.5 cnt:23
   Readings:
     2014-05-12 21:15:51   Activity        alive
     2014-05-06 21:54:06   D-firmware      1.3
     2014-05-06 21:54:06   D-serialNr      JEQ0532158
     2014-05-12 22:09:22   Rel_Luftdruck   1012
     2014-05-12 22:08:41   T_avg_day       9.0
     2014-05-12 22:08:41   T_avg_month     11.0
     2014-05-12 22:08:41   T_cum_day       719677
     2014-05-12 22:08:41   T_cum_month     12258567.9
     2014-05-12 00:45:50   T_max_day       9.5
     2014-05-07 12:06:52   T_max_month     16.4
     2014-05-12 21:35:15   T_min_day       8.6
     2014-05-09 21:16:11   T_min_month     8.3
     2014-05-12 22:06:15   Taupunkt        8.4
     2014-05-12 07:38:31   Windchill       9
     2014-05-12 22:08:41   brightness      9
     2014-05-12 21:15:30   brightness_avg_day 9.5
     2014-05-12 21:15:30   brightness_avg_month 14.1
     2014-05-12 21:15:30   brightness_cum_day 730019
     2014-05-12 21:15:30   brightness_cum_month 15687732
     2014-05-12 07:38:30   brightness_max_day 18.0
     2014-05-07 12:19:29   brightness_max_month 198.0
     2014-05-12 02:24:52   brightness_min_day 9.0
     2014-05-06 22:01:22   brightness_min_month 9
     2014-05-12 22:08:41   humidity        97
     2014-05-12 21:17:51   humidity_avg_day 96.1
     2014-05-12 21:17:51   humidity_avg_month 92.3
     2014-05-12 21:17:51   humidity_cum_day 7369769
     2014-05-12 21:17:51   humidity_cum_month 102786549
     2014-05-12 06:48:28   humidity_max_day 97.0
     2014-05-08 23:10:07   humidity_max_month 99.0
     2014-05-12 01:59:39   humidity_min_day 93.0
     2014-05-07 12:11:46   humidity_min_month 73.0
     2014-05-12 22:08:41   isRaining       0
     2014-05-12 22:08:41   rain            1123.95
     2014-05-12 22:03:34   rain_calc_all   cH: 0.8 lH: 0.2 cD: 1.0 lD: 13.6 IR: 1 Rnow: 2.4 Rdif: 0.299999999999955
     2014-05-12 22:03:34   rain_calc_d_curr 1.0
     2014-05-12 21:15:30   rain_calc_d_last 13.6
     2014-05-12 21:15:30   rain_calc_d_start 956.4
     2014-05-12 21:15:30   rain_calc_d_trig_tsecs 1399960200
     2014-05-12 22:03:34   rain_calc_h_curr 0.8
     2014-05-12 21:50:48   rain_calc_h_last 0.2
     2014-05-12 21:50:48   rain_calc_h_start 956.6
     2014-05-12 21:50:48   rain_calc_h_trig_tsecs 1399927800
     2014-05-12 22:03:34   rain_calc_now_diff 0.299999999999955
     2014-05-12 22:03:34   rain_calc_now_rate 2.4
     2014-05-12 22:03:34   rain_calc_now_value 957.4
     2014-05-12 22:03:34   rain_calc_tsecs 1399925014
     2014-05-12 22:08:41   state           T: 8.8 H: 97 W: 0 R: 1123.95 IR: 0 WD: 30 WDR: 67.5 S: 44 B: 9
     2014-05-12 22:08:41   sunshine        44
     2014-05-12 22:08:41   temperature     8.8
     2014-05-12 22:08:41   windDirRange    67.5
     2014-05-12 22:08:41   windDirection   30
     2014-05-12 22:08:41   windSpeed       0
     2014-05-12 07:38:30   windSpeed_avg_day 3.7
     2014-05-12 07:38:30   windSpeed_avg_month 1.5
     2014-05-12 07:38:30   windSpeed_cum_day 101210.4
     2014-05-12 07:38:30   windSpeed_cum_month 1629703.3
     2014-05-12 02:09:38   windSpeed_max_day 10.9
     2014-05-11 13:24:06   windSpeed_max_month 20.9
     2014-05-12 00:07:42   windSpeed_min_day 0.0
     2014-05-06 22:01:22   windSpeed_min_month 0
   Helper:
     _98_statistics Statistik
     mId        0040
     rxType     4
     Io:
       newChn     +1DBB9A,00,01,1E
       nextSend   1399925321.68337
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_0:
         avg        -77.1739130434783
         cnt        23
         lst        -76.5
         max        -76
         min        -78.5
Attributes:
   IODev      CUL_0
   actCycle   001:00
   actStatus  alive
   autoReadReg 1_restart
   event-on-change-reading state,windSpeed,humidity,brightness,temperature,Rel_Luftdruck,rain.*,isRaining
   expert     2_full
   firmware   1.3
   model      HM-WDS100-C6-O
   peerIDs
   room       Wetter
   serialNr   JEQ0532158
   subType    THSensor


Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

tupol

Hallo Christian,

bitte einmal das Modul im Anhang testen.