erledigt Stomzähler auslesen und aktuellen Verbauch Visualisieren

Begonnen von Inputsammler, 03 Januar 2015, 20:08:32

Vorheriges Thema - Nächstes Thema

Inputsammler

Hallo zusammen,

Ich lese meinen Stromzähler mit einen optisches USB Kabel und einen Script aus.
Er erhalte einige Werte
- Energie (Zählerstand komplett)
- Tarif 1 (Zählerstand Tarif1)
- Tarif 2 (Zählerstand Tarif 2)
Da ich ja immer nur die aktuellen Zählerstand habe würde ich gerne ausrechnen lassen die Differenz der stände ist.
Damit ich sehe wievielt ich dann verbraucht habe. Da ich keine Momentwert vom Zähler bekomme.

Die Daten bekomme ich im Durchschnitt alle 5 Minuten.

Ich habe mir mit Hilfe von aha1805 einen dummy mit ein Readings dafür angelegt
Und das Modul Statistic verwendet

Internals:
   NAME       dmy_strom
   NR         345
   STATE      Tarif2 11451.764
   TYPE       dummy
   Readings:
   2015-01-03 19:52:13   statStateDay    Tarif1_17881.915: 00:02:03 Tarif1_17881.915_Count: 71 Tarif1_17881.929: 00:00:02 Tarif1_17881.929_Count: 1 ..........
   2015-01-02 23:59:55   statStateDayLast Tarif1_17873.953: 00:01:54 Tarif1_17873.953_Count: 71 Tarif1_17873.962: 00:00:02 Tarif1_17873.962_Count: 1 .........
   2015-01-03 19:52:13   statStateMonth  Tarif1_17866.405: 00:01:12 Tarif1_17866.405_Count: 50 Tarif1_17866.407: 00:00:02 Tarif1_17866.407_Count: 1 ..........
   2014-12-31 23:59:55   statStateMonthLast Tarif1_17863.046: 00:00:01 Tarif1_17863.046_Count: 1 Tarif1_17863.097: 00:00:01 Tarif1_17863.097_Count: ...........
   2015-01-03 19:52:13   state           Tarif2 11451.764
Helper:
     _98_statistics Statistik
Attributes:
   room       Strom

Internals:
   DEF        dmy.*
   DEV_REGEXP dmy.*
   NAME       Statistik
   NR         349
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: dmy_strom
   TYPE       statistics
   Readings:
     2015-01-03 19:50:32   monitoredDevicesdummy dmy_strom
     2015-01-03 19:59:55   nextPeriodChangeCalc 2015-01-03 20:59:55
     2015-01-03 19:59:55   state           Updated stats for: dmy_strom
   Fhem:
     modulVersion $Date: 2015-01-01 20:35:10 +0100 (Thu, 01 Jan 2015) $
Attributes:
   dayChangeTime 00:00
   room       Strom

Leider komme ich damit jetzt nicht mehr weiter.
Dachte das mir das Modul die Differenz der beiden werte liefert.

Habt ihr für mich einen kleine Denkanstoß wie ich da vorgehen könnte.

Gruß Gerd
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.


Tion

Auch auf die Gefahr, das ich total daneben liege. Bau dir doch für deinen Dummy ein userReading.
Bei meinen Stromzähler musste ich die 3 Kanäle zusammenbringen.
In deinen Fall müsstest du es halt umbauen.
Sieht bei mir so aus:
attr CM180i userReadings energy_current { (ReadingsVal("CM180i","energy_ch1",0))+(ReadingsVal("CM180i","energy_ch2",0))+(ReadingsVal("CM180i","energy_ch3",0));;;; }

Gruß Volker
FHEM@CT||RFXTRX,CUL868@MAX,HM-Usb,JeeLink
Jee:TX29DTH-IT||Max:Thermostat,ShutterContact,
HM:SEC-MDIR,LC-SW1-PL2,LC-Dim1TPBU-FM,PB-2-WM55
RFX:FA20RF/2, HE501EU,ITL-230,OWL Intuition-lc,YCT-100,div Brennstuhl,IT 1500
FS20:IRU,KSE||FbDect 200,EG-PM2-LAN

Inputsammler

Hallo zusammen für die Anregungen,

Habe mich mal mit dem userReadings  beschäftigt. Leider habe es nur noch nicht ganz verstanden.

Bekomme alle 5 Minuten den Zählerstand der als reading --> energy z.Bp.: 2015-01-04_22:30:34 dmy_strom energy: 29361.142
mein dummy heißt --> dmy_strom

userReadings
energy_current difference { ReadingsVal("dmy_strom","energy",0);; }, Leistung differential { ReadingsVal("dmy_strom","energy",0);; }


nur leider bekomme ich dazwischen immer wieder eine null.
Was bedeutet die 0 in dem userReadings,
Wie muss ich dies konfigurieren habe ich da was übersehen.
Habe unten mal einen auszug von meine Strom Dummy gestellt.

Gruß und Danke
Gerd

2015-01-04_22:15:24 dmy_strom energy: 29360.973
2015-01-04_22:15:24 dmy_strom energy_current: 0.0390000000006694
2015-01-04_22:15:24 dmy_strom Leistung: 0.000128422415379899
2015-01-04_22:15:24 dmy_strom statEnergy: Hour: 0.206 Day: 21.387 Month: 21.387 Year: 21.387 (since: 2015-01-04_02:14:36 )
2015-01-04_22:15:24 dmy_strom energy_current: 0
2015-01-04_22:20:27 dmy_strom energy: 29361.022
2015-01-04_22:20:27 dmy_strom energy_current: 0.0489999999990687
2015-01-04_22:20:27 dmy_strom Leistung: 0.000161402680177432
2015-01-04_22:20:27 dmy_strom statEnergy: Hour: 0.255 Day: 21.436 Month: 21.436 Year: 21.436 (since: 2015-01-04_02:14:36 )
2015-01-04_22:20:27 dmy_strom energy_current: 0
2015-01-04_22:25:31 dmy_strom energy: 29361.073
2015-01-04_22:25:31 dmy_strom energy_current: 0.0509999999994761
2015-01-04_22:25:31 dmy_strom Leistung: 0.000168071014252932
2015-01-04_22:25:31 dmy_strom statEnergy: Hour: 0.306 Day: 21.487 Month: 21.487 Year: 21.487 (since: 2015-01-04_02:14:36 )
2015-01-04_22:25:31 dmy_strom energy_current: 0
2015-01-04_22:30:34 dmy_strom energy: 29361.142
2015-01-04_22:30:34 dmy_strom energy_current: 0.0689999999995052
2015-01-04_22:30:34 dmy_strom Leistung: 0.000227344851568683
2015-01-04_22:30:34 dmy_strom statEnergy: Hour: 0.375 Day: 21.556 Month: 21.556 Year: 21.556 (since: 2015-01-04_02:14:36 )
2015-01-04_22:30:34 dmy_strom energy_current: 0
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

fiedel

ZitatBekomme alle 5 Minuten den Zählerstand der als reading --> energy z.Bp.: 2015-01-04_22:30:34 dmy_strom energy: 29361.142

Dann könntest du "meine" Berechnungsvariante benutzen und hier abgucken weiter unten bei "Berechnen, Loggen und Plotten von Strom- und Gasverbrauchswerten"

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Inputsammler

Also vielen Dank für euere Infos.

@fiedel deine Option die Teste ich auch noch aus vielleicht ist dies dann sogar besser .. Aber noch am anpassen .... ??? :o

Soweit funktioniert es auch recht gut.  ;D
define dmy_strom dummy
attr dmy_strom event-min-interval energy_current:180,Leistung:180
attr dmy_strom room Strom
attr dmy_strom setList setreading
attr dmy_strom userReadings energy_current difference { ReadingsVal("dmy_strom","energy",0);;;; }, Leistung differential { ReadingsVal("dmy_strom","energy",0);;;; }
define fl_strom FileLog ./log/Strom_aha-%Y-%m.log dmy_strom:.*
attr fl_strom room Strom
define Statistik statistics dmy.*
attr Statistik dayChangeTime 00:00
attr Statistik room Strom


Nur ich bekomme ab und zu eine Reading von  von energy_current=0  >:(
Wegen dem Modul Statistic.

Jetzt meine Fragen kann man das irgendwie verhinder readings mit 0 ins log geschrieben wird.
Durch diesen Attribut  habe ich es schon minimiert
attr dmy_strom event-min-interval energy_current:180,Leistung:180

Gruß und Danke :)
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

DerFrickler

Was für einen Wert liefert Dir energy_current und wer liefert Dir diesen Wert? Im Grunde bedeutet energy_current ja nur dass es aktuell bei Dir dunkel sein sollte und dein Rechner gerade eben auf Akkubetrieb läuft. Ich nehme jetzt einfach mal an dass es sich um elektrische Energy (der Name suggeriert es) mit der Einheit kWh handelt.

Dann ist mir beim Studieren der Commandref aufgefallen dass beim differential durch die Anzahl der vergangenen Sekunden dividiert wird. d.h., wir hätten dann einen Wert kWh/s, demnach müsste man hier noch einen Korrekturfaktor (3600) mit einfliessen lassen und hätte dann aber die elektrische Leistung in kW.

Oder habe ich hier was falsch verstanden?

Inputsammler

Hey DerFrickler,

Ach ja (peinlich) bei differential hab ich das voll vergessen. Da hast du recht. Das ist leider nur kwh/s.

Also ich lesen meinen Stromzähler aus. Ich bekomme leider immer nur den aktuellen Zählerstand zurück geliefert. Der hat die Reading Variable energy.

Bei dem Modul statistic gibt es die Variable energy_current. Der daraus eine Statistik macht. Das heißt der rechnet mit  die Differenz zwischen den ausgelesen readings von energy aus.
Soweit so gut. Das macht er unmittelbar nach dem der reading an fhem übermittelt worden ist. Ich habe ihn schon zeitlich minimiert wann er das machen darf.  Alle (180 Sekunden)
Jetzt kommt das Problem sobald ein neues Reading an fhem übermittelt wir schlägt auch das Attribut userreadings zu. Und bei der Berechnung der Statistikwerte zu jeder vollen Stunde werden dann die Reading neu geschrieben. Aber in der Zwischenzeit ist kein neuer Zählerstand eingelesen worden. Dadurch werden für current_energy und Leistung immer der Wert dann 0 erzeugt.

Wie kann ich das verhindern oder steuern das die userreadings nur erzeugt wenn auch das Reading energy kommt.

Danke für die Hilfe.

Gruß Gerd


Gesendet von meinem iPad mit Tapatalk
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

DerFrickler

#8
define dmy_strom dummy
attr dmy_strom event-min-interval energy_current:180,Leistung:180
attr dmy_strom room Strom
attr dmy_strom setList setreading
attr dmy_strom userReadings energy_current difference { ReadingsVal("dmy_strom","state",0);;;; }, Leistung differential { ReadingsVal("dmy_strom","state",0);;;; }

auf ein event-on-change-reading kann man hier sicherlich verzichten, da man immer von einem veränderten Zählerwert ausgehen kann... es sei denn du betreibst mehrere USVs die im Falle eines Black-Outs deine Netzwerkinfrastruktur weiter betreiben

Du definierst ein notify auf dein Device und dem relevanten Reading, das dir die Energiewerte liefert.

define notify.<mein Device>.energy notify <mein Device und das Reading welches den Messwert enthält>.* set dmy_strom $EVTPART1


D.h., das Reading state von dmy_strom enthält jetzt deinen aktuellen Zählerstand... ändert sich jetzt der Zählerstand (respektive der state), ändern sich auch die beiden userReadings.

die userReadings energy_current und Leistung enthalten jetzt Deine Werte, die eigentlich nur dann aktualisiert werden, wenn auch ein neuer Messwert übertragen wird. Demnach sollte keiner der Werte jemals noch eine 0 enthalten. Es sei denn (wie oben angedeutet) deine Netzwerkinfrastruktur übersteht auch einen Blackout und der Zähler zählt wirklich nichts innerhalb der Messperiode. Dann ist der Wert 0 aber auch richtig.

Und jetzt kommen wir zu der Frage was du erreichen willst... beide Tarife einzeln oder einen gesamten oder alles zusammen?

bei "alles zusammen" würde ich wie folgt vorgehen:

define dmy_strom dummy
attr dmy_strom room Strom
attr dmy_strom userReadings (der Übersicht halber liste ich jetzt mal die readings nicht syntaxgerecht auf)

     energy_current_total
     energy_current_tarif1
     energy_current_tarif2 (alle 3 userReadings werden über ein jeweiliges Notify beschrieben)

     delta_total difference { ReadingsVal("dmy_strom","energy_current_total",0);;;; }
     delta_tarif1 difference { ReadingsVal("dmy_strom","energy_current_tarif1",0);;;; }
     delta_tarif2 difference { ReadingsVal("dmy_strom","energy_current_tarif2",0);;;; }

über das Attribut stateFormat könnte man dann durchaus das Internal STATE noch schön mit den berechneten Werten herrichten um es dann anzeigen zu lassen.

delta_total, delta_tarif1 und delta_tarif2 werden dann ins Log-File geschrieben bzw. in die Statistik eingelesen... wie auch immer das dann geschieht.

Anmerkung meinerseits: Um sicherzugehen dass nicht ein ReadingsVal dir über den "default" eine 0 beschert, würde ich den Default-Wert in ReadingsVal einfach mal auf einen Fantasiewert setzen, den Du sofort im Log erkennen kannst.. z.B. "0110010001110101011011010110110101111001"  ;) kannst den Wert ja mal umrechnen in ASCII.

EDIT: Die Idee mit dem kombinierten dummy wird so nicht funktionieren weil... ein Messwert geht ein und erzeugt ein Event, z.B. Tarif1, was passiert dann mit den anderen userReadings... werden die auch neu berechnet? Würde man dann grundsätzlich 0 Werte erzeugen weil sich ja mit dem Event für Tarif1 der Wert für Tarif2 noch nicht geändert hat? Kannst es ja mal ausprobieren und wenn es nicht klappt dann definierst du halt 3 dummies.

aber grundsätzlich sollte die Kausalkette wie folgt aussehen: Ein Messwert wird generiert und ein Event vom Device ausgelöst -> ein notify erkennt das event und schreibt den Value in das Reading state vom dummy -> wir gehen davon aus dass der Value grundsätzlich verschieden ist, ist er nicht verschieden, dann ist der Wert 0 korrekt oder der Zähler defekt -> das Reading state vom dummy ändert sich und führt dazu dass das userReading (oder die userReadings) neu ermittelt wird -> die Änderung des userReadings generiert ein Event was dann von einem Log-File oder von statistics erkannt wird ... und...und...und...

Inputsammler

Danke Dir DerFrickler,

Das ist eine sehr gute Idee ....

Sieht soweit so gut aus.
energy_current difference { ReadingsVal("dmy_strom","state",0);; }, Leistung differential { ReadingsVal("dmy_strom","state",0)*3600;; } 
define notify.dmy_strom.energy notify dmy_strom:energy:.* set dmy_strom $EVTPART1
ich bekomme auch im Status die erwünschten readings.
Nur leider weiß ich nicht warum in der log datei bei energy_current immer 0 drin steht aber in der reading Übersicht vom FHEM steht es richtig drinnen :o ???
Da muss ich morgen mal (heute abend) nochmals genau schauen.

Gruß Gerd

Und die Binär Code ist ein dummy :-)

Danke vorerst .. wird wenn ich ausgeschlafen bin nochmals getestet.


Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

DerFrickler

das hier:
Internals:
   CFGFN
   NAME       test.energiebedarf
   NR         203
   STATE      Zählerstand 54500 Wh
   TYPE       dummy
   Readings:
     2015-01-09 11:16:49   Energie         1
     2015-01-09 11:16:49   Leistung        23.9440531098403
     2015-01-09 11:16:49   Zaehlerstand    54500 Wh
     2015-01-09 11:16:49   state           54500
Attributes:
   room       Test
   stateFormat {sprintf("Zählerstand %.0f Wh",ReadingsVal($name,"state",0))}
   userReadings Zaehlerstand {sprintf("%.0f Wh",ReadingsVal($name,"state",0))}, Energie difference {ReadingsVal($name,"state",0)}, Leistung differential {ReadingsVal($name,"state",0)*3600}


zusammen mit dem hier:

Internals:
   CFGFN
   DEF        FBDECT_20000:energy:.* set test.energiebedarf $EVTPART1
   NAME       notify.test.energiebedarf
   NOTIFYDEV  FBDECT_20000
   NR         204
   NTFY_ORDER 50-notify.test.energiebedarf
   REGEXP     FBDECT_20000:energy:.*
   STATE      2015-01-09 11:19:20
   TYPE       notify
Attributes:
   room       Test


und dem hier:

Internals:
   CFGFN
   DEF        ./log/TestEnergiebedarf.log test.energiebedarf.*
   NAME       fl.test.energiebedarf
   NR         205
   NTFY_ORDER 50-fl.test.energiebedarf
   REGEXP     test.energiebedarf.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/TestEnergiebedarf.log
   logfile    ./log/TestEnergiebedarf.log
Attributes:
   room       Test


liefert folgenden Output:

2015-01-09_11:16:50 test.energiebedarf 54500
2015-01-09_11:16:50 test.energiebedarf Zaehlerstand: 54500 Wh
2015-01-09_11:16:50 test.energiebedarf Leistung: 23.9440531098403
2015-01-09_11:16:50 test.energiebedarf Energie: 1
2015-01-09_11:19:20 test.energiebedarf 54501
2015-01-09_11:19:20 test.energiebedarf Zaehlerstand: 54501 Wh
2015-01-09_11:19:20 test.energiebedarf Leistung: 23.9004200071221
2015-01-09_11:19:20 test.energiebedarf Energie: 1


Wichtig ist natürlich dass energy nur gesendet wird wenn auch Änderungen erfolgt sind, was bei einem Zähler am Hausanschluss sicherlich kein Problem sein sollte. So nebenbei beachte man auch bitte dass bei mir der Wert in Wh geliefert wird.

Zaehlerstand ist dann (wie der Name schon sagt) der aktuelle Zählerstand

Leistung die zuletzt ermittelte Leistung aus den Energiewerten. Im Grunde ist dieser Wert unsinnig, da eine Leistungsmessung eine Momentaufnahme sein sollte und nicht aus Zeitwerten ermittelt wird; möglicherweise wurde der hier berechnete Wert innerhalb der Messperiode nicht mal über einen repräsentativ langen Zeitraum erreicht. D.h., es würde nur dann ein sinnvoller Wert bei rauskommen wenn der Energiebedarf wirklich über dem Zeitraum konstant ist, was dann wohl eher theoretischer Natur ist. Bei meinen doch recht kleinen Werten weicht er grundsätzlich um 1,1 W ab. Hier passt hier dann irgendwie die Aussage: Wer misst misst Mist

Aber: Hier bin ich eher der Theoretiker der schon bei der Bezeichnung "Stromverbrauch" Plaque auf den Zähnen bekommt. Wenn es in der Praxis und im Volksmund anders gehandhabt wird, dann bitte.

Energie ist dann halt das Delta des Energiebedarfs über den Messzeitraum.

Fazit: Keine 0-Werte im Log! Das wars ja was du erreichen wolltest.

tupol

Ich interpretiere hier mal einfach das was in der commandref von statistics steht.

Ein Energieverbrauch (Zählerstand) muss als "deltareading" ausgewertet werden.
Wenn statistics das einzelne Reading nicht automatisch kennt und zuordnet, muss es explizit in dem entsprechenden Attribute angegeben werden.
z.B. "attr ... deltaReadings energy_current_total,energy_current_tarif1,energy_current_tarif2"

Wenn statistics kein Reading zuordnen kann, wertet es standardmässig den "state" als Duration aus.

statistics kann auch nicht ein einzelnes Reading aus einem Sammelreading extrahieren.

DerFrickler

was man da so alles rauslesen kann  ;)

bezogen auf die Inputdaten energy, Tarif1 und Tarif2 würde meines Erachtens für statistics eh nur ein Delta im Zusammenhang mit delta Readings (falls man das Delta aller Reading bestimmen möchte) oder auch singularReadings (dann halt für einzelne Readings) in Frage kommen. Min/Avg/Max gibt ja nur Startwert, Endwert und Mittelwert des Messzeitraums, Tendenz sollte naturgemäss steigend sein und da wir keine Zustände haben (abgesehen von zuViel ;D) macht Duration auch keinen Sinn.

demnach sollte das obige Verhalten auch über das statistics Modul mit dem Attribut singularReadings und dem Wert <device>:energy:Delta:Hour realisierbar sein, wobei hier das device nicht erst der dummy sein muss, sondern gleich der Stromzähler.

mal abwarten, für meine FBDECT gibt es dann in knapp 1 Stunde hoffentlich die ersten Werte.

Zu der Definition von Statistics selbst...


<GeräteNameRegExp>
Regulärer Ausdruck für den Gerätenamen. !!! Nicht die Gerätewerte !!!


gemäß den Beispiel in der Commandref habe ich folgendes eingegeben: define statistics.test.energiebedarf01 statistics FBDECT_2000

diese Definition "wartet sich jetzt nen Wolf..." Waiting for notifications. Allem Anschein nach passiert erst etwas wenn man dem FBDECT_2000 ein .* hinzufügt.

Noch mal eine Anmerkung: Falls das Stromzähler Device selbst auch userReadings zulässt und man lediglich Daten zum "loggen" bereitstellen will, kann man prinzipiell auch auf den Umweg mit dem Dummy verzichten und die userReadings im Stromzähler Device integrieren.

tupol

Zitat von: DerFrickler am 09 Januar 2015, 14:37:39
gemäß den Beispiel in der Commandref habe ich folgendes eingegeben: define statistics.test.energiebedarf01 statistics FBDECT_2000

diese Definition "wartet sich jetzt nen Wolf..." Waiting for notifications. Allem Anschein nach passiert erst etwas wenn man dem FBDECT_2000 ein .* hinzufügt.
Das wundert mich. Kann ich mal ein list von statistics und vom FB_DECT_2000 sehen?

singularReadings dient nur der Markierung von Readings die zusätzlich einzeln aufgeführt werden sollen. DeltaReadings ist trotzdem notwendig. Plots kann man auch aus Sammelreadings bilden. Man muss es dann über reguläre Ausdrücke aufspalten.

Inputsammler

#14
Hallo zusammen,

Habe mein statisic modul so konfiguriert
Internals:
   DEF        dmy.*
   DEV_REGEXP dmy.*
   NAME       Statistik
   NR         346
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: dmy_strom
   TYPE       statistics
   Readings:
     2015-01-08 23:02:05   monitoredDevicesdummy dmy_strom
     2015-01-09 13:59:55   nextPeriodChangeCalc 2015-01-09 14:59:55
     2015-01-09 14:38:01   state           Updated stats for: dmy_strom
   Fhem:
     modulVersion $Date: 2015-01-01 20:35:10 +0100 (Thu, 01 Jan 2015) $
Attributes:
   dayChangeTime 00:00
   room       Strom


In der Command ref steht das readings energy_current und energy unterstützt wird ohne groß was zu ändern.
Es unterscheidet in vier Statistik-Typen denen bereits standardmässig Gerätewerte zugeordnet sind:
Min|Avg|Max Minimum, Durchschnitt und Maximum von Momentanwerten:
über den Zeitraum Tag, Monat und Jahr:
brightness, current,[b] energy_current[/b], humidity, temperature, voltage
über den Zeitraum Stunde, Tag, Monat und Jahr:
wind, wind_speed, windSpeed
Delta Differenz zwischen Anfangs- und Endwerte innerhalb eines Zeitraums (Stunde, Tag, Monat, Jahr):
count, energy, energy_total, power, total, rain, rain_rate, rain_total


energy --> Zählerstand als reading durch das externe Script mit
setreading dmy_strom energy variable

energy_current --> Unterschied zählerstand = userReadings energy_current difference..... den Unterschied.

Listing von meinen dummy
Internals:
   NAME       dmy_strom
   NR         344
   STATE      29417.320
   TYPE       dummy
   Readings:
     2015-01-09 14:53:12   Leistung        0.284769418084352
     2015-01-08 23:53:40   Version         B150100
     2015-01-09 14:53:12   energy          29417.320
     2015-01-09 14:53:12   energy_current  0
     2015-01-09 14:53:12   statEnergy      Hour: 0.209 Day: 5.212 Month: 55.551 Year: 55.551 (since: 2015-01-05 )
     2015-01-09 13:59:55   statEnergyLast  Hour: 0.430 Day: 17.558 Month: - Year: -
     2015-01-09 14:53:12   statEnergy_currentDay Min: 0.00000000000000000 Avg: 0.02799731328241071 Max: 0.13500000000203699
     2015-01-08 23:59:55   statEnergy_currentDayLast Min: 0.00000000000000000 Avg: 0.05835877314813889 Max: 0.39700000000084401
     2015-01-09 14:53:12   statEnergy_currentMonth Min: 0.00000000000000000 Avg: 0.03697583296683897 Max: 0.54100000000107695 (since: 2015-01-04_02:14:36 )
     2015-01-09 14:53:12   statEnergy_currentYear Min: 0.00000000000000000 Avg: 0.03697599845866562 Max: 0.54100000000107695 (since: 2015-01-04_02:14:36 )
     2015-01-09 14:53:12   state           29417.320
   Helper:
     _98_statistics Statistik
Attributes:
   event-min-interval energy_current:250,Leistung:250
   room       Strom
   userReadings energy_current difference { ReadingsVal("dmy_strom","energy",0);; }, Leistung differential { ReadingsVal("dmy_strom","energy",0)*3600;; }

   
Das mit dem status und dem notify ist eine sehr gute idee. Aber leider schreibt er mir den status den ich in meine Dummy bekomme nicht in das log file.
wenn ich aber manuell das mache mit set dmy_strom 12343 dann steht es schon im log drinnen. Ich bekomme auch die readings (state).
Zuhause forsche ich dann noch weiter .....

Vielen DANKE nochmals .....

Ja die DECT 200 sind ein gutes Versuchsopjekt da habe ich auch 3 ....

Internals:
   CFGFN
   DEF        dmy_strom:energy:.* set dmy_strom $EVTPART1
   NAME       notify.dmy_strom.energy
   NOTIFYDEV  dmy_strom
   NR         398
   NTFY_ORDER 50-notify.dmy_strom.energy
   REGEXP     dmy_strom:energy:.*
   STATE      2015-01-09 14:58:16
   TYPE       notify
Attributes:
   room       Strom


Internals:
   DEF        ./log/Strom_aha-%Y-%m.log dmy_strom:.*
   NAME       fl_strom
   NOTIFYDEV  dmy_strom
   NR         345
   NTFY_ORDER 50-fl_strom
   REGEXP     dmy_strom:.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Strom_aha-2015-01.log
   logfile    ./log/Strom_aha-%Y-%m.log
   Pos:
Attributes:
   room       Strom

die logs direkt unter FHEM
2015-01-09 15:13:26 dummy dmy_strom energy: 29417.481
2015-01-09 15:13:26 dummy dmy_strom energy_current: 0.0339999999996508
2015-01-09 15:13:26 dummy dmy_strom Leistung: 0.40310109631403
2015-01-09 15:13:26 dummy dmy_strom statEnergy: Hour: 0.125 Day: 5.373 Month: 55.712 Year: 55.712 (since: 2015-01-05 )
2015-01-09 15:13:26 dummy dmy_strom 29417.481
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.