Neues Modul: ElectricityCalculator

Begonnen von Sailor, 26 August 2016, 21:05:35

Vorheriges Thema - Nächstes Thema

Mellowback

Ja das würde mich auch mal interessieren, habe auch ab und zu negative Werte.

roelb

I have run into negative values from time to time. In my case, it happens when the reporting device erroneously reports 0 instead of the actual value, which is then used as Day1stValue, resulting in corrupted data for 2 days, or even longer if this happens on the first of the month or year.

Unfortunately, there is no way to filter out these anomalies in the calculator modules. A simple filter, controlled by an attribute such as "value_always_increases" or similar, which, if set, ignore values lower than the current reading will fix that.

Also, it might be a good idea to merge the three Calculator modules into a single generic module, there is a lot of code duplication right now, which is completely unneccessary. And the option to disable generation of certain readings would be great as well. For example, I have no need for all the cost calculations and corresponding readings, but there is no way to turn those off.

@Sailor: if you don't have time for this, I'd be willing to have a look at merging the functionality into a single generic module.

R1F800

ibt es aktuell bekannte bugs im o.g. Modul die ggf mit dem letzten update gekommen sind? Ich habe keine validen Werte mehr für die täglichen Werte, und einige Variablen kommen mir von der Benennung her "unbekannt" vor

es geht um die Kaskade Device_Counter_CounterVariablenname
Und so werden die beiden Readings GPIO26_Counter_EnergyDay 0.00700 und GPIO26_Counter_EnergyDayLast 0.01600
nicht mehr mit plaudiblen Werten gefüllt.


[code]define WPVerbrauch ElectricityCalculator GPIO26.*
attr WPVerbrauch BasicPricePerAnnum 0
attr WPVerbrauch Currency €
attr WPVerbrauch DecimalPlace 5
attr WPVerbrauch ElectricityCounterOffset 0
attr WPVerbrauch ElectricityKwhPerCounts 0.001
attr WPVerbrauch ElectricityPricePerKWh 0.2863
attr WPVerbrauch MonthOfAnnualReading 7
attr WPVerbrauch MonthlyPayment 0
attr WPVerbrauch ReadingDestination CalculatorDevice
attr WPVerbrauch SiPrefixPower W
attr WPVerbrauch alias Stromverbrauch Heizung
attr WPVerbrauch group Verbrauch
attr WPVerbrauch icon measure_power@orange
attr WPVerbrauch room HOME
attr WPVerbrauch stateFormat {sprintf("%.1f kWh",ReadingsVal("WPVerbrauch","GPIO26_Counter_CounterCurrent",99.9))}
#   DEF        GPIO26.*
#   FUUID      5c48ae88-f33f-0b1b-05ac-55db2a3fb6957fca
#   NAME       WPVerbrauch
#   NOTIFYDEV  GPIO26.*
#   NR         88
#   NTFY_ORDER 10-WPVerbrauch
#   REGEXP     GPIO26.*
#   STATE      33638.3 kWh
#   TYPE       ElectricityCalculator
#   eventCount 18
#   READINGS:
#     2025-01-16 07:50:58   GPIO26_Counter_CounterCurrent 33638.30000
#     2025-01-16 00:39:31   GPIO26_Counter_CounterDay1st 33638.29300
#     2025-01-16 00:39:31   GPIO26_Counter_CounterDayLast 33638.29200
#     2024-07-07 21:19:10   GPIO26_Counter_CounterMeter1st 31900.78300
#     2024-07-07 21:19:10   GPIO26_Counter_CounterMeterLast 31900.78200
#     2025-01-01 00:30:06   GPIO26_Counter_CounterMonth1st 33638.03400
#     2025-01-01 00:30:06   GPIO26_Counter_CounterMonthLast 33638.03300
#     2025-01-01 00:30:06   GPIO26_Counter_CounterYear1st 33638.03400
#     2025-01-01 00:30:06   GPIO26_Counter_CounterYearLast 33638.03300
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyCostDay 0.00200
#     2025-01-16 00:39:31   GPIO26_Counter_EnergyCostDayLast 0.00458
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMeter 497.45112
#     2024-07-07 21:19:10   GPIO26_Counter_EnergyCostMeterLast 1191.66635
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMonth 0.07616
#     2025-01-01 00:30:06   GPIO26_Counter_EnergyCostMonthLast 234.50948
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyCostYear 0.07616
#     2025-01-01 00:30:06   GPIO26_Counter_EnergyCostYearLast 1097.42569
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyDay 0.00700
#     2025-01-16 00:39:31   GPIO26_Counter_EnergyDayLast 0.01600
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyMeter 1737.51700
#     2024-07-07 21:19:10   GPIO26_Counter_EnergyMeterLast 3844.08500
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyMonth 0.26600
#     2025-01-01 00:30:06   GPIO26_Counter_EnergyMonthLast 819.10400
#     2025-01-16 07:50:58   GPIO26_Counter_EnergyYear 0.26600
#     2025-01-01 00:30:06   GPIO26_Counter_EnergyYearLast 3833.13200
#     2025-01-16 07:50:58   GPIO26_Counter_FinanceReserve -497.45112
#     2025-01-16 07:50:58   GPIO26_Counter_MonthMeterReading 7
#     2025-01-16 07:50:58   GPIO26_Counter_PowerCurrent 13.33333
#     2025-01-16 07:50:58   GPIO26_Counter_PowerDayAver 6.31853
#     2025-01-16 06:32:02   GPIO26_Counter_PowerDayMax 22.64151
#     2025-01-16 04:22:13   GPIO26_Counter_PowerDayMin 0
#   helper:
#     gets:
#       2025-01-16 07:50:58   GPIO26_Counter_CounterCurrent 33638.30000
#       2025-01-16 00:39:31   GPIO26_Counter_CounterDay1st 33638.29300
#       2025-01-16 00:39:31   GPIO26_Counter_CounterDayLast 33638.29200
#       2024-07-07 21:19:10   GPIO26_Counter_CounterMeter1st 31900.78300
#       2024-07-07 21:19:10   GPIO26_Counter_CounterMeterLast 31900.78200
#       2025-01-01 00:30:06   GPIO26_Counter_CounterMonth1st 33638.03400
#       2025-01-01 00:30:06   GPIO26_Counter_CounterMonthLast 33638.03300
#       2025-01-01 00:30:06   GPIO26_Counter_CounterYear1st 33638.03400
#       2025-01-01 00:30:06   GPIO26_Counter_CounterYearLast 33638.03300
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostDay 0.00200
#       2025-01-16 00:39:31   GPIO26_Counter_EnergyCostDayLast 0.00458
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMeter 497.45112
#       2024-07-07 21:19:10   GPIO26_Counter_EnergyCostMeterLast 1191.66635
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMonth 0.07616
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyCostMonthLast 234.50948
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostYear 0.07616
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyCostYearLast 1097.42569
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyDay 0.00700
#       2025-01-16 00:39:31   GPIO26_Counter_EnergyDayLast 0.01600
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyMeter 1737.51700
#       2024-07-07 21:19:10   GPIO26_Counter_EnergyMeterLast 3844.08500
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyMonth 0.26600
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyMonthLast 819.10400
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyYear 0.26600
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyYearLast 3833.13200
#       2025-01-16 07:50:58   GPIO26_Counter_FinanceReserve -497.45112
#       2025-01-16 07:50:58   GPIO26_Counter_MonthMeterReading 7
#       2025-01-16 07:50:58   GPIO26_Counter_PowerCurrent 13.33333
#       2025-01-16 07:50:58   GPIO26_Counter_PowerDayAver 6.31853
#       2025-01-16 06:32:02   GPIO26_Counter_PowerDayMax 22.64151
#       2025-01-16 04:22:13   GPIO26_Counter_PowerDayMin 0
#     sets:
#       2025-01-16 07:50:58   GPIO26_Counter_CounterCurrent 33638.30000
#       2025-01-16 00:39:31   GPIO26_Counter_CounterDay1st 33638.29300
#       2025-01-16 00:39:31   GPIO26_Counter_CounterDayLast 33638.29200
#       2024-07-07 21:19:10   GPIO26_Counter_CounterMeter1st 31900.78300
#       2024-07-07 21:19:10   GPIO26_Counter_CounterMeterLast 31900.78200
#       2025-01-01 00:30:06   GPIO26_Counter_CounterMonth1st 33638.03400
#       2025-01-01 00:30:06   GPIO26_Counter_CounterMonthLast 33638.03300
#       2025-01-01 00:30:06   GPIO26_Counter_CounterYear1st 33638.03400
#       2025-01-01 00:30:06   GPIO26_Counter_CounterYearLast 33638.03300
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostDay 0.00200
#       2025-01-16 00:39:31   GPIO26_Counter_EnergyCostDayLast 0.00458
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMeter 497.45112
#       2024-07-07 21:19:10   GPIO26_Counter_EnergyCostMeterLast 1191.66635
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostMonth 0.07616
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyCostMonthLast 234.50948
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyCostYear 0.07616
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyCostYearLast 1097.42569
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyDay 0.00700
#       2025-01-16 00:39:31   GPIO26_Counter_EnergyDayLast 0.01600
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyMeter 1737.51700
#       2024-07-07 21:19:10   GPIO26_Counter_EnergyMeterLast 3844.08500
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyMonth 0.26600
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyMonthLast 819.10400
#       2025-01-16 07:50:58   GPIO26_Counter_EnergyYear 0.26600
#       2025-01-01 00:30:06   GPIO26_Counter_EnergyYearLast 3833.13200
#       2025-01-16 07:50:58   GPIO26_Counter_FinanceReserve -497.45112
#       2025-01-16 07:50:58   GPIO26_Counter_MonthMeterReading 7
#       2025-01-16 07:50:58   GPIO26_Counter_PowerCurrent 13.33333
#       2025-01-16 07:50:58   GPIO26_Counter_PowerDayAver 6.31853
#       2025-01-16 06:32:02   GPIO26_Counter_PowerDayMax 22.64151
#       2025-01-16 04:22:13   GPIO26_Counter_PowerDayMin 0
#   system:
#     DecimalPlace %.5f
#     SecondsToday 86400
#     SiPrefixPowerFactor 1
#
setstate WPVerbrauch 33638.3 kWh
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_LastDV 0.00100
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_LastDt 270
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_LastUpdateTimestampUnix 1737010258
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_PowerDayCount 6
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_PowerDaySum 37.91115
setstate WPVerbrauch 2025-01-16 07:50:58 .GPIO26_Counter_PrevRead 33638.30000
setstate WPVerbrauch 2025-01-16 07:50:58 .ReadingDestinationDeviceName WPVerbrauch
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_CounterCurrent 33638.30000
setstate WPVerbrauch 2025-01-16 00:39:31 GPIO26_Counter_CounterDay1st 33638.29300
setstate WPVerbrauch 2025-01-16 00:39:31 GPIO26_Counter_CounterDayLast 33638.29200
setstate WPVerbrauch 2024-07-07 21:19:10 GPIO26_Counter_CounterMeter1st 31900.78300
setstate WPVerbrauch 2024-07-07 21:19:10 GPIO26_Counter_CounterMeterLast 31900.78200
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_CounterMonth1st 33638.03400
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_CounterMonthLast 33638.03300
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_CounterYear1st 33638.03400
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_CounterYearLast 33638.03300
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyCostDay 0.00200
setstate WPVerbrauch 2025-01-16 00:39:31 GPIO26_Counter_EnergyCostDayLast 0.00458
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyCostMeter 497.45112
setstate WPVerbrauch 2024-07-07 21:19:10 GPIO26_Counter_EnergyCostMeterLast 1191.66635
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyCostMonth 0.07616
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_EnergyCostMonthLast 234.50948
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyCostYear 0.07616
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_EnergyCostYearLast 1097.42569
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyDay 0.00700
setstate WPVerbrauch 2025-01-16 00:39:31 GPIO26_Counter_EnergyDayLast 0.01600
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyMeter 1737.51700
setstate WPVerbrauch 2024-07-07 21:19:10 GPIO26_Counter_EnergyMeterLast 3844.08500
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyMonth 0.26600
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_EnergyMonthLast 819.10400
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_EnergyYear 0.26600
setstate WPVerbrauch 2025-01-01 00:30:06 GPIO26_Counter_EnergyYearLast 3833.13200
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_FinanceReserve -497.45112
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_MonthMeterReading 7
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_PowerCurrent 13.33333
setstate WPVerbrauch 2025-01-16 07:50:58 GPIO26_Counter_PowerDayAver 6.31853
setstate WPVerbrauch 2025-01-16 06:32:02 GPIO26_Counter_PowerDayMax 22.64151
setstate WPVerbrauch 2025-01-16 04:22:13 GPIO26_Counter_PowerDayMin 0

[/code]
Summende Grüße
Ingo

Sailor

Hallo R1F800 (Ist das ein integrierter Schaltkreis? ;) )

Zitat von: R1F800 am 17 Januar 2025, 07:39:55Gibt es aktuell bekannte bugs im o.g. Modul die ggf mit dem letzten update gekommen sind?
Ich habe schon seit Ewigkeiten kein Update mehr an dies XCalculator Modulen vorgenommen.


Zitat von: R1F800 am 17 Januar 2025, 07:39:55Ich habe keine validen Werte mehr für die täglichen Werte, und einige Variablen kommen mir von der Benennung her "unbekannt" vor

es geht um die Kaskade Device_Counter_CounterVariablenname
Und so werden die beiden Readings GPIO26_Counter_EnergyDay 0.00700 und GPIO26_Counter_EnergyDayLast 0.01600
nicht mehr mit plaudiblen Werten gefüllt.

Auf den ersten Blick sehe ich auch nichts.
Eine wirklich aussagefähige Beurteilung kann ich nur machen, wenn ich einen Graph des GPIO26_Counter_CounterCurrent sehe, seit dem Zeitpunkt wo der Fehler aufgetreten ist.

Gruß
    Sailor
******************************
Man wird immer besser...

R1F800

just zum 01.01.25 hat sich die Datenlage pulverisiert
Summende Grüße
Ingo

Sailor

Moin

Zitat von: R1F800 am 17 Januar 2025, 09:43:10just zum 01.01.25 hat sich die Datenlage pulverisiert

Prima - Einen Schritt weiter...

Dann bitte auch noch einen Graphen der Quelle: GPIO26

Gruß
    Sailor
******************************
Man wird immer besser...

R1F800

#801
Zitat von: Sailor am 17 Januar 2025, 10:40:22Moin

Zitat von: R1F800 am 17 Januar 2025, 09:43:10just zum 01.01.25 hat sich die Datenlage pulverisiert

Prima - Einen Schritt weiter...

Dann bitte auch noch einen Graphen der Quelle: GPIO26

Gruß
    Sailor


Was für nen Graphen?
Du siehst im obigen Bild Tages und Monatswerte. Den GPIO26 habe ich nicht einzeln gelogged. Macht ja auch keinen Sinn (ImpulSE)


Habe gestern mal die Impulse gelogged. Wenn ich jetzt nicht ganz blind bin sehe ich kaum Impulse im Log.
2025-01-19_12:41:34 GPIO26 Pinlevel: low
2025-01-19_12:41:34 GPIO26 off
2025-01-19_12:41:34 GPIO26 Toggle: on
2025-01-19_12:41:34 GPIO26 Counter: 33638340
...
2025-01-20_07:37:04 GPIO26 Pinlevel: low
2025-01-20_07:37:04 GPIO26 off
2025-01-20_07:37:04 GPIO26 Toggle: off
2025-01-20_07:37:04 GPIO26 Counter: 33638369
Summende Grüße
Ingo

Sailor

Zitat von: R1F800 am 19 Januar 2025, 12:02:55Was für nen Graphen?
Du siehst im obigen Bild Tages und Monatswerte. Den GPIO26 habe ich nicht einzeln gelogged. Macht ja auch keinen Sinn (ImpulSE)


Habe gestern mal die Impulse gelogged. Wenn ich jetzt nicht ganz blind bin sehe ich kaum Impulse im Log.
2025-01-19_12:41:34 GPIO26 Counter: 33638340
...
2025-01-20_07:37:04 GPIO26 Counter: 33638369
Wieviel kWh repräsentiert die kleinste Stelle in deinem Counter?

Nur zur Sicherheit - Den Calculator hast du mit GPIO26:Counter:.* definiert? Das muss ein stetig steigender Zähler sein.

Generell ist natürlich eines klar wie Kloßbrühre: Liefert der Counter nix, rechnet auch der Calculator nix.

Nochmal: Mache mal einen Graphen von GPIO26:Counter.
Gruss
    Sailor
******************************
Man wird immer besser...

R1F800

Zitat von: Sailor am 20 Januar 2025, 08:53:31
Zitat von: R1F800 am 19 Januar 2025, 12:02:55Was für nen Graphen?
Du siehst im obigen Bild Tages und Monatswerte. Den GPIO26 habe ich nicht einzeln gelogged. Macht ja auch keinen Sinn (ImpulSE)


Habe gestern mal die Impulse gelogged. Wenn ich jetzt nicht ganz blind bin sehe ich kaum Impulse im Log.
2025-01-19_12:41:34 GPIO26 Counter: 33638340
...
2025-01-20_07:37:04 GPIO26 Counter: 33638369
Wieviel kWh repräsentiert die kleinste Stelle in deinem Counter?

Nur zur Sicherheit - Den Calculator hast du mit GPIO26:Counter:.* definiert? Das muss ein stetig steigender Zähler sein.

Generell ist natürlich eines klar wie Kloßbrühre: Liefert der Counter nix, rechnet auch der Calculator nix.

Nochmal: Mache mal einen Graphen von GPIO26:Counter.
Gruss
    Sailor

100 Impulse 1 kWh
je tag aktuel round about 70kWh > 7000 Impulse
Summende Grüße
Ingo

Sailor

Zitat von: R1F800 am 20 Januar 2025, 09:21:02100 Impulse 1 kWh
je tag aktuel round about 70kWh > 7000 Impulse

Du verbrauchst 25,55 MWh Strom im Jahr?????????  :o
Das wären bei 26,64ct-kWh glatte 6806,52€ pro Jahr - Alter Schwede - Das kann doch nicht stimmen!

Nichts desto trotz, wenn 100 Pulse pro 1kWh richtig sind, dann muss
attr WPVerbrauch ElectricityKwhPerCounts 1/100 = 0.01
stehen und nicht 0.001.

Gruß
   Sailor
******************************
Man wird immer besser...

R1F800

Ja, die 70kWh sind nur im Winter und nur bei dieser aktuellen Kälte > Wärmepumpe eben.

Nene .. habe mich vertippt ... fehlt eine 0 es sind 1000 Impulse je kWh (Ist ein DSZE15 von Eltako)
Summende Grüße
Ingo

Sailor

Moin

Zitat von: R1F800 am 20 Januar 2025, 12:08:45Ja, die 70kWh sind nur im Winter und nur bei dieser aktuellen Kälte > Wärmepumpe eben.
Nene .. habe mich vertippt ... fehlt eine 0 es sind 1000 Impulse je kWh (Ist ein DSZE15 von Eltako)

Ok dann kommen mir bei

Zitat von: R1F800 am 20 Januar 2025, 09:21:02100 Impulse 1 kWh
je tag aktuel round about 70kWh > 7000 Impulse

sowie

Zitat von: R1F800 am 19 Januar 2025, 12:02:552025-01-19_12:41:34 GPIO26 Counter: 33638340
...
2025-01-20_07:37:04 GPIO26 Counter: 33638369

29Wh in 5h viel zu wenig vor. Hier liegt der Wurm eindeutig beim GPIO26 - device.

Verdacht: Kann es sein, dass der GPIO:Counter bereits in kWh und nicht in Wh hochgezählt hat?
29kWh sind mir da schon viel wahrscheinlicher...

Gruß
    Sailor


******************************
Man wird immer besser...