Verbrauchszähler ->Tages-, Monats-, Jahressummen ?

Begonnen von cs-online, 15 März 2017, 21:02:19

Vorheriges Thema - Nächstes Thema

cs-online

Hallo,

ich bin hier irgendwie noch nicht fündig geworden, obwohl ich mir nicht vorstellen kann, daß das noch nicht existiert...

Also ich habe seit ein paar Tagen einen SML-Stromzähler über das OBIS-Modul eingebunden. Das gibt Momentanleistung und Gesamtzählerstand aus. Ich hätte nun gerne vom aktuellen Tag, vom Monat und dem Jahr (evtl. 12 Monate rollierend) die Verbrauchssummen. Hourcounter hab ich probiert, aber der zählt Impulse, was er bei meinem Gaszähler und dem Wasserzähler auch prima macht. Aber ich habe ja keine Impulse, nur Zählerstände...

Kann mir jemand einen Tip geben ? Zum Selber programmieren fehlt leider im Moment die Zeit...

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

majorshark

Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Omega-5

#2
Oder versuch es mal mit dem "statistics" Modul. Bei meinem Zähler habe ich folgendes eingebunden:

define Statistik statistics zaehler
attr Statistik deltaReadings Zählerstand-Tarif-2-Bezug,Zählerstand-Tarif-1-Bezug
attr Statistik ignoreDefaultAssignments 1
attr Statistik minAvgMaxReadings Momentanleistung
attr Statistik room System


list Statistik

Internals:
   DEF        zaehler
   DEV_REGEXP zaehler
   NAME       Statistik
   NR         61
   NTFY_ORDER 10-Statistik
   PREFIX     stat
   STATE      Updated stats for: zaehler
   TYPE       statistics
   Readings:
     2017-03-15 21:20:11   .zaehler:MomentanleistungDay Sum: 164879442.2 Time: 76814 LastValue: 245.30 LastTime: 1489609211 ShowDate: 0 DecPlaces: 2
     2017-03-15 21:20:11   .zaehler:MomentanleistungHour Sum: 346755.9 Time: 1216 LastValue: 245.30 LastTime: 1489609211 ShowDate: 0 DecPlaces: 2
     2017-03-15 21:20:11   .zaehler:MomentanleistungMonth Sum: 3250976744 Time: 1286388 LastValue: 245.30 LastTime: 1489609211 ShowDate: 0 DecPlaces: 2
     2017-03-15 21:20:11   .zaehler:MomentanleistungYear Sum: 21382528414.4 Time: 6383908 LastValue: 245.30 LastTime: 1489609211 ShowDate: 0 DecPlaces: 2
     2017-03-15 21:20:11   .zaehler:Zählerstand-Tarif-1-Bezug LastValue: 61561651.10 ShowDate: 0 DecPlaces: 2
     2017-03-15 21:20:11   .zaehler:Zählerstand-Tarif-2-Bezug LastValue: 15800864.60 ShowDate: 0 DecPlaces: 2
     2015-04-25 11:09:41   .zaehler:stateDay disconnected: 40135 (since: 2015-03-10_08:56:20) lastState: opened disconnected_Count: 1 opened_Count: 1 showDate: 0 lastTime: 1429952981 opened: 51
     2015-04-25 11:09:41   .zaehler:stateMonth disconnected: 2113735 (since: 2015-03-10_08:56:20) lastState: opened disconnected_Count: 1 showDate: 0 opened_Count: 1 lastTime: 1429952981 opened: 51
     2017-03-13 22:08:43   monitoredDevicesSMLUSB zaehler
     2017-03-15 20:59:55   nextPeriodChangeCalc 2017-03-15 21:59:55
     2017-03-15 21:20:11   state           Updated stats for: zaehler
   Fhem:
     modulVersion $Date: 2016-09-27 21:25:42 +0200 (Tue, 27 Sep 2016) $
     nextPeriodChangeTime 1489611595
Attributes:
   deltaReadings Zählerstand-Tarif-2-Bezug,Zählerstand-Tarif-1-Bezug
   ignoreDefaultAssignments 1
   minAvgMaxReadings Momentanleistung
   room       System


Im Obismodul zaehler bekomme ich dann die zusätzlichen Readings:

ZitatstatMomentanleistungDay  Min: 38.50 Avg: 2132.57 Max: 22602.80      2017-03-15 21:29:37
statMomentanleistungDayLast       Min: 38.70 Avg: 2366.00 Max: 23185.50       2017-03-14 23:59:55
statMomentanleistungHour            Min: 243.70 Avg: 272.61 Max: 403.20           2017-03-15 21:29:37
statMomentanleistungHourLast     Min: 244.90 Avg: 376.11 Max: 5855.10         2017-03-15 20:59:55
statMomentanleistungMonth         Min: 38.10 Avg: 2526.21 Max: 26749.70       2017-03-15 21:29:37
statMomentanleistungMonthLast  Min: 37.60 Avg: 2898.38 Max: 27049.00       2017-02-28 23:59:55
statMomentanleistungYear           Min: 37.60 Avg: 3349.17 Max: 33148.20       2017-03-15 21:29:37
statMomentanleistungYearLast    Min: 24.70 Avg: 790.69 Max: 30712.30         2016-12-31 23:59:55
statZählerstand-Tarif-1-Bezug         Hour: 26.60 Day: 39713.80 Month: 773416.50 Year: 5293302.70       2017-03-15 21:30:41
statZählerstand-Tarif-1-BezugLast  Hour: 24.50 Day: 49015.90 Month: 1787530.60 Year: 20866952.80   2017-03-15 20:59:55
statZählerstand-Tarif-2-Bezug         Hour: 113.80 Day: 6143.20 Month: 128072.80 Year: 553052.50         2017-03-15 21:30:41
statZählerstand-Tarif-2-BezugLast  Hour: 340.90 Day: 7850.40 Month: 113850.10 Year: 5500962.10       2017-03-15 20:59:55

Gruß Friedrich
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

cs-online

Hallo,

danke für die Antworten,aber irgendwie ist das noch nicht das, was ich suche. Ich habe immer einen Zählerstand, also wieviel der Zähler tatsächlich anzeigt, keine Impulse. Ich hätte gerne, was über Tag, Monat Jahr verbraucht wird. Das statitistics zeigt nur die Statistischen Werte, also min, max, Mittelwert, etc. , der ElectricityCalculator zählt Impulse. Gibt's da noch was anderes ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Omega-5

Zitat von: cs-online am 17 März 2017, 17:09:58
Das statitistics zeigt nur die Statistischen Werte, also min, max, Mittelwert, etc.
Schau da bitte nochmal genau hin.
attr Statistik deltaReadings Zählerstand-Tarif-2-Bezug,Zählerstand-Tarif-1-Bezug
ergibt folgende Readings:
ZitatstatZählerstand-Tarif-1-Bezug         Hour: 26.60 Day: 39713.80 Month: 773416.50 Year: 5293302.70       2017-03-15 21:30:41
statZählerstand-Tarif-1-BezugLast  Hour: 24.50 Day: 49015.90 Month: 1787530.60 Year: 20866952.80   2017-03-15 20:59:55
statZählerstand-Tarif-2-Bezug         Hour: 113.80 Day: 6143.20 Month: 128072.80 Year: 553052.50         2017-03-15 21:30:41
statZählerstand-Tarif-2-BezugLast  Hour: 340.90 Day: 7850.40 Month: 113850.10 Year: 5500962.10       2017-03-15 20:59:55
und das ist doch genau das was du suchst, z.B. die Differenz zwischen dem Ablesewert von vor einer Stunde und dem jetzigen Ablesewert, in "statZählerstand-Tarif-1-Bezug         Hour: 26.60"
Bei mir gibt es nur einen Zweitarif-Zähler.

Gruß Friedrich
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

cs-online

Hallo Friedrich,

gut, daß Du so hartnäckig bist, den unteren Teil hatte ich tatsächlich vor lauter readings übersehen (schäm) ! Ich werde das heute abend nochmal probieren, das sieht tatsächlich genau so aus :-)

Danke Dir !!!

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Frank_Huber

ich mach das mit User-Readings in einem Dummy. Das statistics hat mir zuviel Overhead...
ein Dummy wo ich alle Verbrauchswerte sammle (Strom/Pellets/Wasser)
und mehrere at's die den Verbrauch errechnen.

mit dem at unten im Code berechne ich täglich den Stromverbrauch.
Will aber demnächst noch einen zweiten at definieren für den Monatsverbrauch.

was macht der unten:

Abholen Wert1 = aktueller Zählerstand
Errechnen Wert2 = Wh /1000 = KWh
Abholen Wert3 = Zählerstand Vortag
Errechnen Wert 4 = aktueller Stand Minus Stand Vortag = Verbrauch
Setzen Vortagszählerstand in dummy
Setzen aktueller Stand in dummy
Setzen Verbrauchter Strom in dummy


define Stromverbrauch at *00:01:00 {\
my $wert1=ReadingsVal("Stromzaehler","total_consumption","--");;;;\
my $wert2=$wert1/1000;;;;\
my $wert3=ReadingsVal("Verbrauch","Stromzaehler","--");;;;\
my $wert4=$wert2-$wert3;;;;\
fhem("setreading Verbrauch StromzaehlerVortag $wert3");;;;\
fhem("setreading Verbrauch Stromzaehler $wert2");;;;\
fhem("setreading Verbrauch Stromverbrauch $wert4");;;;\
}
attr Stromverbrauch group Energie
attr Stromverbrauch room zentrale Funktionen

cs-online

Hallo Frank,

das ist auch ein netter Ansatz, so hatte ich das ursprünglich auch mal vor, hab ich dann aber verworfen.

@Friedrich: so wie Du beschrieben hast, klappt das wirklich gut, mein Fehler war, daß ich "Zählerstand-Tarif-2-Bezug,Zählerstand-Tarif-1-Bezug" nicht durch mein "total_consumption" ersetzt hatte und der deshalb gar keinen Zähler aufgebaut hatte...

Vorteil von Statistics ist auch, daß ich mehrere Readings auswerten lassen kann ohne neu Code schreiben zu müssen :-) Soweit erstmal sehr zufrieden, nun noch die Readings zerlegen und in einzelne Dummys schreiben, dann ists ganz fertig :-)

Danke und Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

majorshark

Der ElectricityCalculator zählt selbst keine Impulse. Du musst dem ElectricityCalculator den Zählerstand liefern und er mach die dann genau die Werte daraus die Du haben möchtest. Die meisten jedenfalls.

Hier mal die Readings von einem der vier ElectricityCalculator die ich am laufen habe.
VersorgerZaehler_total_consumption_Ch1_CounterCurrent 15728.852 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_CounterDay1st 15726.762 2017-03-22 00:04:14
VersorgerZaehler_total_consumption_Ch1_CounterDayLast 15726.740 2017-03-22 00:04:14
VersorgerZaehler_total_consumption_Ch1_CounterMeter1st 15006.3078 2017-01-07 12:00:01
VersorgerZaehler_total_consumption_Ch1_CounterMeterLast 15006.279 2017-01-07 12:00:01
VersorgerZaehler_total_consumption_Ch1_CounterMonth1st 15546.953 2017-03-01 00:02:02
VersorgerZaehler_total_consumption_Ch1_CounterMonthLast 15546.932 2017-03-01 00:02:02
VersorgerZaehler_total_consumption_Ch1_CounterYear1st 15006.3078 2017-01-07 12:00:01
VersorgerZaehler_total_consumption_Ch1_CounterYearLast 15006.279 2017-01-07 12:00:01
VersorgerZaehler_total_consumption_Ch1_EnergyCostDay 0.560 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyCostDayLast 2.829 2017-03-22 00:04:14
VersorgerZaehler_total_consumption_Ch1_EnergyCostMeter 193.642 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyCostMonth 48.749 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyCostMonthLast 69.173 2017-03-01 00:02:02
VersorgerZaehler_total_consumption_Ch1_EnergyCostYear 193.642 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyDay 2.090 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyDayLast 10.557 2017-03-22 00:04:14
VersorgerZaehler_total_consumption_Ch1_EnergyMeter 722.544 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyMonth 181.899 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_EnergyMonthLast 258.109 2017-03-01 00:02:02
VersorgerZaehler_total_consumption_Ch1_EnergyYear 722.544 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_FinanceReserve 476.358 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_MonthMeterReading 10 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_PowerCurrent 0.000 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_PowerDayAver 143.210 2017-03-22 14:44:16
VersorgerZaehler_total_consumption_Ch1_PowerDayMax 645.847 2017-03-22 05:44:15
VersorgerZaehler_total_consumption_Ch1_PowerDayMin 0 2017-03-22 07:09:18
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

optimizer

#9
Hallo Christian,

im statistics Modul gibt es dazu das Attribut "specialDeltaPeriods", dass Delta-Readings z.B. für 12 Monate rollierend durchführt.
Dazu habe ich die Funktion noch erweitert, damit ich auch die Vorperiode sehe. Siehe dazu meine Änderung: 
https://forum.fhem.de/index.php/topic,23771.msg613940.html#msg613940
Leider noch nicht im statistics-Modul enhalten. Wenn es mehrere Interessenten gibt, steigt die Einbau-Wahrscheinlichkeit  :D

Gruß
Karlheinz