Neues Modul: ElectricityCalculator

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

Vorheriges Thema - Nächstes Thema

Hanjo

Hallo,

ich habe einen Doppeltarifzähler und das zugehörige Device liefert dazu drei Readings:

  • total_consumption (die Summe aus HT und NT)
  • total_consumption_Ch1 (HT)
  • total_consumption_Ch2 (NT)

Eine passende RegEx habe ich dafür natürlich erstellt, so dass alle drei Readings erfasst werden.

Nun bin ich mir aber nicht sicher, wie ich hier ElectricityPricePerKWh konfigurieren soll, da dieser für HT und NT ja unterschiedlich ist und für die Summe aus den beiden gibt es natürlich keinen Preis.

Was wäre hier der beste Weg?

Danke & Gruß

R1F800

Was für Werte vergbergen sich denn hinter den Readings ?

Ser Calculator reagiert auf Zählervariablen / Events ....

Hanjo


no_Legend

Zitat von: Hanjo am 29 Januar 2019, 13:02:29
Hallo,

ich habe einen Doppeltarifzähler und das zugehörige Device liefert dazu drei Readings:

  • total_consumption (die Summe aus HT und NT)
  • total_consumption_Ch1 (HT)
  • total_consumption_Ch2 (NT)

Eine passende RegEx habe ich dafür natürlich erstellt, so dass alle drei Readings erfasst werden.

Nun bin ich mir aber nicht sicher, wie ich hier ElectricityPricePerKWh konfigurieren soll, da dieser für HT und NT ja unterschiedlich ist und für die Summe aus den beiden gibt es natürlich keinen Preis.

Was wäre hier der beste Weg?

Danke & Gruß

Warum nimmst du nicht für beide Channels einen eigenen EnergyCallculator?
Du kannst ja danach die Readings in einem Dummy zusammenführen.

@Sailer
Stört es dass Modul wenn auf einmal das Reading auch Kommazahlen hat?
Bei meinem IR Lesekopf (Volkszähler), scheint der Zähler zwischen komma und kein komma zu wechseln.

Hier mal ein ein Kurze Auszug aus dem Log, was der Zähler so ausspuckt


2019-01-29_13:38:26 Stromzaehler total_consumption_Ch2_kWh: 18233.09
2019-01-29_13:38:26 Stromzaehler power: 2647
2019-01-29_13:38:26 Stromzaehler total_consumption_Ch2: 18233094.9
2019-01-29_13:38:26 Stromzaehler total_consumption: 18233094.9
2019-01-29_13:37:57 Stromzaehler total_consumption_Ch2_kWh: 18233.07
2019-01-29_13:37:57 Stromzaehler power: 2701
2019-01-29_13:37:57 Stromzaehler total_consumption_Ch2: 18233072.5
2019-01-29_13:37:57 Stromzaehler total_consumption: 18233072.5
2019-01-29_13:37:27 Stromzaehler total_consumption_Ch2_kWh: 18233.05
2019-01-29_13:37:27 Stromzaehler power: 2712
2019-01-29_13:37:27 Stromzaehler total_consumption_Ch2: 18233050
2019-01-29_13:37:27 Stromzaehler total_consumption: 18233050
2019-01-29_13:36:56 Stromzaehler total_consumption_Ch2_kWh: 18233.03
2019-01-29_13:36:56 Stromzaehler power: 2705
2019-01-29_13:36:56 Stromzaehler total_consumption_Ch2: 18233027.4
2019-01-29_13:36:56 Stromzaehler total_consumption: 18233027.4
2019-01-29_13:36:27 Stromzaehler total_consumption_Ch2_kWh: 18233.00
2019-01-29_13:36:27 Stromzaehler power: 2713
2019-01-29_13:36:27 Stromzaehler total_consumption_Ch2: 18233004.7
2019-01-29_13:36:27 Stromzaehler total_consumption: 18233004.7


Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Hanjo

Zitat von: no_Legend am 29 Januar 2019, 13:56:24
Warum nimmst du nicht für beide Channels einen eigenen EnergyCallculator?
Du kannst ja danach die Readings in einem Dummy zusammenführen.
Das war auch mein erster Gedanke, aber BasicPricePerAnnum und MonthlyPayment beziehen sich ja auf den gesamten Tarif und nicht nur auf einer der beiden Komponenten HT/NT.

no_Legend

Zitat von: Hanjo am 29 Januar 2019, 15:00:10
Das war auch mein erster Gedanke, aber BasicPricePerAnnum und MonthlyPayment beziehen sich ja auf den gesamten Tarif und nicht nur auf einer der beiden Komponenten HT/NT.

Ich hätte jetzt auf die schnelle gesagt einfach halbieren?
Nur wir dass so nicht hin kommen.
Denke es kann sein, dass du beim einen dann im Minus bist und beim anderen Guthaben hast.

Denke dass solltest aber zusammenführen können.

Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Wolle02

Hallo,

mal kurz eine Verständnisfrage. Wie kann ich das denn in dem Modul abbilden, wenn sich innerhalb des Abrechnungszeitraumes der Verbrauchspreis ändert?
Mein Abrechnungszeitraum geht von Juli-Juli und zum 01.01. habe ich nun veränderte Preise. Wenn ich das Attribut ElectricityPricePerKWh anpasse, berechnet er mir ja rückwirkend zum Beginn des Abrechnungszeitraumes neu und nicht zum Stichtag der Preisanpassung.

Was habe ich nicht verstanden?

Danke und Gruß
Wolle

balli1187

Zitat von: Wolle02 am 21 März 2019, 19:03:11
Wenn ich das Attribut ElectricityPricePerKWh anpasse, berechnet er mir ja rückwirkend zum Beginn des Abrechnungszeitraumes neu und nicht zum Stichtag der Preisanpassung.
Macht er das wirklich? Ich hätte gedacht, dass die Werte nicht mehr verändert werden, wenn sie einmal im Log stehen.



Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Wolle02

Hmm, also meine ReadingsGroup hat sich tapfer aktualisiert und meine Jahresverbrauchskosten sind nach der Aktualisierung des Attributs mal eben um mehr als 100€ nach oben gegangen.

Wolle02

Hallo Sailor,

ZitatWie kann ich das denn in dem Modul abbilden, wenn sich innerhalb des Abrechnungszeitraumes der Verbrauchspreis ändert?
Mein Abrechnungszeitraum geht von Juli-Juli und zum 01.01. habe ich nun veränderte Preise. Wenn ich das Attribut ElectricityPricePerKWh anpasse, berechnet er mir ja rückwirkend zum Beginn des Abrechnungszeitraumes neu und nicht zum Stichtag der Preisanpassung.

Kannst du als Maintainer da eventuell irgendwas zu sagen?

Danke und Gruß
Wolle

nepomu

#400
Hallo,

ich benutze den ElectricityCalculator wie in der folgenden Anleitung beschrieben, jedoch mit dem Impulsgeber von stall.biz: https://www.bastelbunker.de/alten-stromzaehler-im-fhem-einbinden/

Mein Scheibenzähler dreht sich 75 Mal pro kWh.

Vorteil des Ansatzes: Da die Umdrehungscounts meines Scheibenzählers direkt per ESP bei FHEM eingehen, bekomme ich eine akkurate Leistungsberechnung vom ElectricityCalculator.

Problem: Sollten mal mehr als 1/75*3600*1000/10=4800 W abgenommen werden (Beispiel: Herd mit 4 Platten komplett an), verpasst ElectricityCalculator etwas, da Counts die innerhalb von 10 s kommen einfach ignoriert werden, siehe auch die Commandref ("Intervalle kleienr als 10s werden ignoriert um Spitzen zu verhindern die von Blockaden des fhem Systems hervorgerufen werden").

Können die 10 s verändert werden? Mit 5 s (also 9,6 kW) wäre aus meiner Sicht alles abgedeckt ohne dass FHEM durchdreht. Am besten wäre aus meiner Sicht eine Verstellmöglichkeit des Intervalls.

Danke und viele Grüße!

huhu

#401
Hallo zusammen,

ich verwende nun auch das Electricity Modul. Die Impulse bekomme ich zuverlässig von einem ESP an FHEM geliefert. Pro Kwh dreht der Zähler 75mal.
Leider zählt der SensorStrom_TotalCount_CounterCurrent bei jedem Impuls "zu viel", aktuell habe ich keine Ahnung warum...

Die Attribute habe ich wie folgt gesetzt (Attachment)


Was ist genau mit SensorStrom_TotalCount_CounterMeter1st und SensorStrom_TotalCount_CounterMeterLast gemeint? Eventuell liegt auch hier schon der Fehler?


Viele Grüße
huhu




Edit:
Habe herausgefunden, dass dem Offset-Wert immer der Totalcount der Impulse addiert wird. Wenn man vorher rumgetestet hat, dann werden die "Testimpulse" ebenfalls aufgerechnet. Jetzt funktioniert es :-)
Ist 1. und letzter Wert identisch, bzw. um einen Impuls höher?
Zitat<DestinationDevice>_<SourceCounterReading>_CounterDay1st :
           Der erste Zählerstand des laufenden Tages seit Mitternacht.

        <DestinationDevice>_<SourceCounterReading>_CounterDayLast :
           Der letzte Zählerstand des vorherigen Tages.

        <DestinationDevice>_<SourceCounterReading>_CounterMeter1st :
           Der erste Zählerstand seit Mitternacht des ersten Tages der laufenden Ableseperiode.

        <DestinationDevice>_<SourceCounterReading>_CounterMeterLast :
           Der letzte Zählerstand seit Mitternacht des ersten Tages der vorherigen Ableseperiode.

        <DestinationDevice>_<SourceCounterReading>_CounterMonth1st :
           Der erste Zählerstand seit Mitternacht des ersten Tages des laufenden Monats.

        <DestinationDevice>_<SourceCounterReading>_CounterMonthLast :
           Der letzte Zählerstand des vorherigen Monats.

        <DestinationDevice>_<SourceCounterReading>_CounterYear1st :
           Der erste Zählerstand seit Mitternacht des ersten Tages des laufenden Jahres.

        <DestinationDevice>_<SourceCounterReading>_CounterYearLast :
           Der letzte Zählerstand des letzten Jahres.

westgate

Hallo,

ich benutzte das Modul um meherer S0 Zähler abzufragen. Funktioniert alles Wunderbar.

Einer der Zähler ist meine Wärmepumpe. Die Wärmepumpe moduliert Ihre Leistung. Jedoch kann die Leistung auch 0 W sein, wenn die Pumpe aus ist.
Da ich mir auch die PowerCurrent aufzeichne und Darstellen lassen habe ich jetzt ein Problem.

Die Anzahl der Werte habe ich jetzt sinnvoll begrenzt. Ich habe es jetzt sogar hin bekommen das ich Werte bekomme wenn die Pumpe aus ist.


event-aggregator gpio22_S0Zaehler_Heizung_Counter_PowerCurrent:300:linear:mean
event-min-interval gpio22_S0Zaehler_Heizung_Counter_PowerCurrent:300
event-on-change-reading gpio22_S0Zaehler_Heizung_Counter_PowerCurrent
event-on-update-reading gpio22_S0Zaehler_Heizung_Counter_PowerCurrent


Jedoch wird der Wert von PowerCurrent nicht 0 sonder bleibt auf dem letzten Wert stehen.
Warum das passiert is mir klar. Den die PowerCurrent wird halt nur aktualisiert wenn ein Zählimpuls kommt. Bei 0W Verbraucht kommt halt leider kein Impuls.

Gibt es ein Möglichkeit dennoch 0W in meine Log zu schreiben?

Gruß
Westgate

Sailor

Hallo Westgate

Zitat von: westgate am 07 Mai 2019, 15:03:48
Gibt es ein Möglichkeit dennoch 0W in meine Log zu schreiben?

Schau mal unter addlog() : https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden

Gruss
    Sailor
******************************
Man wird immer besser...

westgate

Hallo Sailor,

das Modul habe ich mir schon angesehen.

Logs zu erzeugen obwohl kein Event kommt habe ich mit event-min-interval und event-aggregator hin bekommen.

Problem ist halt bloß, dass die PowerCurrent nie auf 0 W fällt. Es bleibt einfach die PowerCurrent, die die Wärmepumpe beim letzten Counter Impuls hatte stehen.

Dachte dafür gibts ne einfach Lösung.
Irgendwas wie nach 5 Minuten ohne Counter Impuls wird PowerCurrent 0. Das wär dann bei meinen 1000Ticks pro KwH alles unter 12 W was für mich aber ok wäre da die Wärmepumpe minimal 300W braucht.

Gruß
Westgate