Hi zusammen,
mein Stromzählerableser liefert mir brav meist 15 minütig (mal fehlen ein paar Messwerte) den Zählerstand in ernergy, was sich prima plotten lässt.
Nun möchte ich den Verbrauch pro Stunde in einem Plot darstellen.
Dazu habe ich versucht mir ein Attribut diff_energy mit
userReadings diff_energy differential { ReadingsVal("StromZaehler","energy",0) * 3600 ;; }
zu erstellen. da steht aber immer nur 0 drin. Der Plot ist entsprechend langweilig.
Kann mir da jemand helfen?
Danke
Arnd
define:
define StromZaehler WMBUS FFD 14980283 1 2
attr StromZaehler IODev CUL_0
attr StromZaehler room WMBUS
attr StromZaehler userReadings diff_energy differential { ReadingsVal("StromZaehler","energy",0) * 3600 ;;;; }
define FileLog_StromZaehler FileLog ./log/StromZaehler-%Y.log StromZaehler
attr FileLog_StromZaehler logtype text
attr FileLog_StromZaehler room WMBUS
log:
2016-04-20_14:37:49 StromZaehler RSSI: -59
2016-04-20_14:37:49 StromZaehler LQI: 128
2016-04-20_14:37:49 StromZaehler diff_energy: 0
2016-04-20_14:37:49 StromZaehler 1_storage_no: 0
2016-04-20_14:37:49 StromZaehler 1_type: VIF_ENERGY_WATT
2016-04-20_14:37:49 StromZaehler 1_value: 88990400
2016-04-20_14:37:49 StromZaehler 1_unit: Wh
2016-04-20_14:37:49 StromZaehler 1_value_type: Instantaneous value
2016-04-20_14:37:49 StromZaehler 2_storage_no: 0
2016-04-20_14:37:49 StromZaehler 2_type: VIF_ACCESS_NO
2016-04-20_14:37:49 StromZaehler 2_value: 36233
2016-04-20_14:37:49 StromZaehler 2_unit:
2016-04-20_14:37:49 StromZaehler 2_value_type: Instantaneous value
2016-04-20_14:37:49 StromZaehler battery: ok
2016-04-20_14:37:49 StromZaehler energy: 88990.4
2016-04-20_14:37:49 StromZaehler unit: kWh
2016-04-20_14:37:49 StromZaehler is_encrypted: 0
2016-04-20_14:37:49 StromZaehler decryption_ok: 1
2016-04-20_14:37:49 StromZaehler no errors
2016-04-20_15:07:49 StromZaehler RSSI: -59.5
2016-04-20_15:07:49 StromZaehler LQI: 128
2016-04-20_15:07:49 StromZaehler diff_energy: 0
2016-04-20_15:07:49 StromZaehler 1_storage_no: 0
2016-04-20_15:07:49 StromZaehler 1_type: VIF_ENERGY_WATT
2016-04-20_15:07:49 StromZaehler 1_value: 88990600
2016-04-20_15:07:49 StromZaehler 1_unit: Wh
2016-04-20_15:07:49 StromZaehler 1_value_type: Instantaneous value
2016-04-20_15:07:49 StromZaehler 2_storage_no: 0
2016-04-20_15:07:49 StromZaehler 2_type: VIF_ACCESS_NO
2016-04-20_15:07:49 StromZaehler 2_value: 36747
2016-04-20_15:07:49 StromZaehler 2_unit:
2016-04-20_15:07:49 StromZaehler 2_value_type: Instantaneous value
2016-04-20_15:07:49 StromZaehler battery: ok
2016-04-20_15:07:49 StromZaehler energy: 88990.6
2016-04-20_15:07:49 StromZaehler unit: kWh
2016-04-20_15:07:49 StromZaehler is_encrypted: 0
2016-04-20_15:07:49 StromZaehler decryption_ok: 1
2016-04-20_15:07:49 StromZaehler no errors
Hast Du schon versucht die Aktualisierung des userReadings mit ":trigger" einzuschränken?
siehe auch hier: https://forum.fhem.de/index.php/topic,52165.msg439282.html#msg439282
Ich habe es probiert, wobei regex nich mein persönlicher :o Freund ist.
also habe ich den Eintrag gemacht:
userReadings diff_energy:energy differential { ReadingsVal("StromZaehler","energy",0)*3600.0;; }
und bekomme tatsächlich erstmals Werte, die auch noch passen! ;D
Danke,
Arnd
Solltest Du mal ein Update durchführen, müsstest D :energy durch :energy.* ersetzen.
Meine Updates enden immer mit
2016-04-22 17:52:34 Global global http://fhem.de/fhemupdate/FHEM/10_FS20.pm: Can't connect(1) to http://fhem.de:80: IO::Socket::INET: connect: timeout
hab das bisher ignoriert.
Hallo,
Ich habe mir dieses Beispiel als Vorlage benutzt.
*3600.0;;
*3600 denke ich ist die Zeit für die Differenz in Sekunden.
Was macht aber .0;; ?
Schöne Grüße
ThomasD