Neues Modul: ElectricityCalculator

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

Vorheriges Thema - Nächstes Thema

Hanneck

Hallo Sailor,
eigentlich müssten doch die Monatswerte, die Summe von den Tageswerten sein, dito auch die Jahreswerte? Da stehen bei  mir aber diese negativen Werte, die eigentlich auch so summiert nicht zusammen passen.
Hast Du eine Idee wo da was falsch ist? Auch die Reserve der Wärmepumpe WP wird immer wieder überschrieben wenn ich den Wert neu setze.

Gruß Dieter

igami

Hab das Wochenende mal genutzt um ein energy Modul zu schreiben.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Sailor

#182
Hallo Dieter

Zitat von: Hanneck am 18 Dezember 2016, 12:26:53
eigentlich müssten doch die Monatswerte, die Summe von den Tageswerten sein, dito auch die Jahreswerte? Da stehen bei  mir aber diese negativen Werte, die eigentlich auch so summiert nicht zusammen passen.
Hast Du eine Idee wo da was falsch ist? Auch die Reserve der Wärmepumpe WP wird immer wieder überschrieben wenn ich den Wert neu setze.

Spontan fällt mir auf, dass dein augenblicklicher Zählerstand auf 249.733 m3 ist.
Dein erster Monatswert ist auf 37302
Dein erster Jahreswert ist auf 34009
Dein erster Jahreszählperiodenwert ist 36465

Wenn man also den angeblichen Monatserstwert vom deinem augenblicklichen Wert abzieht, dann kommt da zwangsweise was negatives raus:
249.733 - 37302 = -37052.267 m3

Da sind schlichtweg die 3 verschiedenen Anfangs-Zählerstände für Monat, Jahr und Zählerperiode oder der Offset falsch eingegeben.

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

Joker

Hallo,
also ich habe seit ein paar Tagen auch plötzlich negative Werte da stehen.
Das Modul lieft aber mehr als zwei Monate problemlos und ich habe es nach der Einrichtung nicht mehr angefasst! Kann da durch irgendein Update was schief gegangen sein? Anders kann ich mir das nicht erklären.
Mein CounterMeterLast ist z.B. kleiner als CounterMonth1st, aber das heißt ja dass am Anfang des Monats der Zählerstand schon mal höher war. Den Gesamtzählerstand hatte ich auch Anfang des Monats mal überprüft und am Gerät (Zähler) verglichen, da waren sie noch richtig, aber jetzt ist der aktuelle Zählerstand kleiner geworden??

Sailor

Hallo Joker

Zitat von: Joker am 19 Dezember 2016, 20:44:35
also ich habe seit ein paar Tagen auch plötzlich negative Werte da stehen.
Das Modul lieft aber mehr als zwei Monate problemlos und ich habe es nach der Einrichtung nicht mehr angefasst! Kann da durch irgendein Update was schief gegangen sein? Anders kann ich mir das nicht erklären.
Mein CounterMeterLast ist z.B. kleiner als CounterMonth1st, aber das heißt ja dass am Anfang des Monats der Zählerstand schon mal höher war. Den Gesamtzählerstand hatte ich auch Anfang des Monats mal überprüft und am Gerät (Zähler) verglichen, da waren sie noch richtig, aber jetzt ist der aktuelle Zählerstand kleiner geworden??

Ich bin mir auch nicht sicher was da passiert sien könnte, aber ich habe einen Bug gefunden:
Man sollte sich etwas ernsthafter mit den Linux-Eigenheiten befassen und wissen, dass der Januar mit 0 gezählt wird und nicht mit 1!  >:(

Wie dem auch sei, wenn die negativen Werte immer noch stehen, dann überprüfe mal deine Werte für

_CounterCurrent  (Bzw. das Attribut "Offset")
_CounterDay1st
_CounterMeter1st
_CounterMonth1st
_CounterYear1st

Die Werte müssen alle kleiner sein als dein _CounterCurrent

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

Joker

#185
Die Werte sind irgendwie unplausibel, hier ein List:
Internals:
   DEF        Stromzaehler:energy:.*
   NAME       electricityCalculator
   NR         941
   NTFY_ORDER 10-electricityCalculator
   REGEXP     Stromzaehler:energy:.*
   STATE      active
   TYPE       ElectricityCalculator
   Readings:
     2016-12-21 20:19:35   .Stromzaehler_energy_LastDV 0.014
     2016-12-21 20:19:35   .Stromzaehler_energy_LastDt 169
     2016-12-21 20:19:35   .Stromzaehler_energy_PowerDayCount 50111
     2016-12-21 20:19:35   .Stromzaehler_energy_PowerDaySum 1660701.083
     2016-12-21 20:19:35   .Stromzaehler_energy_PrevRead 9102.053
     2016-12-21 20:19:35   Stromzaehler_energy_CounterCurrent 9102.053
     2016-12-21 00:01:01   Stromzaehler_energy_CounterDay1st 9095.746
     2016-12-21 00:01:01   Stromzaehler_energy_CounterDayLast 9095.733
     2016-09-25 12:54:26   Stromzaehler_energy_CounterMeter1st 9139.7
     2016-09-25 12:54:26   Stromzaehler_energy_CounterMeterLast 9139.687
     2016-12-01 00:00:26   Stromzaehler_energy_CounterMonth1st 9742.007
     2016-12-01 00:00:26   Stromzaehler_energy_CounterMonthLast 9741.993
     2016-09-25 12:54:26   Stromzaehler_energy_CounterYear1st 9139.7
     2016-09-25 12:54:26   Stromzaehler_energy_CounterYearLast 9139.687
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostDay 1.267
     2016-12-21 00:01:00   Stromzaehler_energy_EnergyCostDayLast 1.819
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMeter -7.563
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMonth -128.567
     2016-12-01 00:00:26   Stromzaehler_energy_EnergyCostMonthLast 55.802
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostYear -7.563
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyDay 6.307
     2016-12-21 00:01:00   Stromzaehler_energy_EnergyDayLast 9.054
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyMeter -37.647
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyMonth -639.954
     2016-12-01 00:00:26   Stromzaehler_energy_EnergyMonthLast 277.760
     2016-12-21 20:19:35   Stromzaehler_energy_EnergyYear -37.647
     2016-12-21 20:19:35   Stromzaehler_energy_FinanceReserve 338.093
     2016-12-21 20:19:35   Stromzaehler_energy_PowerCurrent 298.225
     2016-12-21 20:19:35   Stromzaehler_energy_PowerDayAver 33.140
     2016-12-21 00:01:00   Stromzaehler_energy_PowerDayCount 0
     2016-12-21 11:35:41   Stromzaehler_energy_PowerDayMax 2468.571
     2016-12-21 00:01:01   Stromzaehler_energy_PowerDayMin 0.000
     2016-12-21 00:01:00   Stromzaehler_energy_PowerDaySum 0
   Helper:
     Gets:
       2016-12-21 20:19:35   .Stromzaehler_energy_LastDV 0.014
       2016-12-21 20:19:35   .Stromzaehler_energy_LastDt 169
       2016-12-21 20:19:35   .Stromzaehler_energy_PowerDayCount 50111
       2016-12-21 20:19:35   .Stromzaehler_energy_PowerDaySum 1660701.083
       2016-12-21 20:19:35   .Stromzaehler_energy_PrevRead 9102.053
       2016-12-21 20:19:35   Stromzaehler_energy_CounterCurrent 9102.053
       2016-12-21 00:01:01   Stromzaehler_energy_CounterDay1st 9095.746
       2016-12-21 00:01:01   Stromzaehler_energy_CounterDayLast 9095.733
       2016-09-25 12:54:26   Stromzaehler_energy_CounterMeter1st 9139.7
       2016-09-25 12:54:26   Stromzaehler_energy_CounterMeterLast 9139.687
       2016-12-01 00:00:26   Stromzaehler_energy_CounterMonth1st 9742.007
       2016-12-01 00:00:26   Stromzaehler_energy_CounterMonthLast 9741.993
       2016-09-25 12:54:26   Stromzaehler_energy_CounterYear1st 9139.7
       2016-09-25 12:54:26   Stromzaehler_energy_CounterYearLast 9139.687
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostDay 1.267
       2016-12-21 00:01:00   Stromzaehler_energy_EnergyCostDayLast 1.819
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMeter -7.563
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMonth -128.567
       2016-12-01 00:00:26   Stromzaehler_energy_EnergyCostMonthLast 55.802
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostYear -7.563
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyDay 6.307
       2016-12-21 00:01:00   Stromzaehler_energy_EnergyDayLast 9.054
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyMeter -37.647
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyMonth -639.954
       2016-12-01 00:00:26   Stromzaehler_energy_EnergyMonthLast 277.760
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyYear -37.647
       2016-12-21 20:19:35   Stromzaehler_energy_FinanceReserve 338.093
       2016-12-21 20:19:35   Stromzaehler_energy_PowerCurrent 298.225
       2016-12-21 20:19:35   Stromzaehler_energy_PowerDayAver 33.140
       2016-12-21 00:01:00   Stromzaehler_energy_PowerDayCount 0
       2016-12-21 11:35:41   Stromzaehler_energy_PowerDayMax 2468.571
       2016-12-21 00:01:01   Stromzaehler_energy_PowerDayMin 0.000
       2016-12-21 00:01:00   Stromzaehler_energy_PowerDaySum 0
     Sets:
       2016-12-21 20:19:35   .Stromzaehler_energy_LastDV 0.014
       2016-12-21 20:19:35   .Stromzaehler_energy_LastDt 169
       2016-12-21 20:19:35   .Stromzaehler_energy_PowerDayCount 50111
       2016-12-21 20:19:35   .Stromzaehler_energy_PowerDaySum 1660701.083
       2016-12-21 20:19:35   .Stromzaehler_energy_PrevRead 9102.053
       2016-12-21 20:19:35   Stromzaehler_energy_CounterCurrent 9102.053
       2016-12-21 00:01:01   Stromzaehler_energy_CounterDay1st 9095.746
       2016-12-21 00:01:01   Stromzaehler_energy_CounterDayLast 9095.733
       2016-09-25 12:54:26   Stromzaehler_energy_CounterMeter1st 9139.7
       2016-09-25 12:54:26   Stromzaehler_energy_CounterMeterLast 9139.687
       2016-12-01 00:00:26   Stromzaehler_energy_CounterMonth1st 9742.007
       2016-12-01 00:00:26   Stromzaehler_energy_CounterMonthLast 9741.993
       2016-09-25 12:54:26   Stromzaehler_energy_CounterYear1st 9139.7
       2016-09-25 12:54:26   Stromzaehler_energy_CounterYearLast 9139.687
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostDay 1.267
       2016-12-21 00:01:00   Stromzaehler_energy_EnergyCostDayLast 1.819
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMeter -7.563
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostMonth -128.567
       2016-12-01 00:00:26   Stromzaehler_energy_EnergyCostMonthLast 55.802
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyCostYear -7.563
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyDay 6.307
       2016-12-21 00:01:00   Stromzaehler_energy_EnergyDayLast 9.054
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyMeter -37.647
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyMonth -639.954
       2016-12-01 00:00:26   Stromzaehler_energy_EnergyMonthLast 277.760
       2016-12-21 20:19:35   Stromzaehler_energy_EnergyYear -37.647
       2016-12-21 20:19:35   Stromzaehler_energy_FinanceReserve 338.093
       2016-12-21 20:19:35   Stromzaehler_energy_PowerCurrent 298.225
       2016-12-21 20:19:35   Stromzaehler_energy_PowerDayAver 33.140
       2016-12-21 00:01:00   Stromzaehler_energy_PowerDayCount 0
       2016-12-21 11:35:41   Stromzaehler_energy_PowerDayMax 2468.571
       2016-12-21 00:01:01   Stromzaehler_energy_PowerDayMin 0.000
       2016-12-21 00:01:00   Stromzaehler_energy_PowerDaySum 0
   System:
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 46.73
   Currency   €
   DbLogExclude .*
   ElectricityCounterOffset 9009.9
   ElectricityKwhPerCounts 0.001
   ElectricityPricePerKWh 0.2009
   MonthOfAnnualReading 8
   MonthlyPayment 70
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   room       Technik


Wie gesagt lief das ca. 2 Monate und ich habe seit der ersten Einrichtung nix mehr geändert. Was kann ich jetzt machen? Muss ich es neu aufsetzen? Die Durchschnittswerte etc. sind ja jetzt alle falsch.

Edit: Jetzt seh ichs erst... irgendwie ist das Reading dass ich da als Input nehme totaler Quatsch... vermute der Fehler liegt wohl eher daran und nicht am Modul.

Nochn edit: Das ist mein Problem  :P

Sailor


Hi Joker

Zitat von: Joker am 21 Dezember 2016, 20:22:41
Edit: Jetzt seh ichs erst... irgendwie ist das Reading dass ich da als Input nehme totaler Quatsch... vermute der Fehler liegt wohl eher daran und nicht am Modul.
Nochn edit: Das ist mein Problem  :P

Mensch ich Esel... So lang ist es her und ich habe es total vergessen!
Sorry, hätte ich auch eher drauf kommen können.

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

Joker

#187
Kein Problem, hätte ja auch erstmal genauer schauen können  ;D

Jedenfalls sieht man sogar am Reading seit wann genau ich das Problem habe:
energyOffset 838860.7 2016-12-11 00:02:37

Also 10 Tage. Ich habe das DEF vom electricity Calculator jetzt auf energyCalc umgestellt.
Gerade gesehen dass ich jetzt neue Readings habe die sich dann auf energyCalc beziehen. Jetzt müsste ich da die die sich auf energy beziehen quasi drauf addieren? Oder hätte ich es anderes machen sollen?

Edit: Habe jetzt die Counter_xxx Readings quasi aus dem energy übernommen und bei energyCost eingetragen... jetzt schaut es schon wieder ganz vernünftig aus  8)

Hanneck

Hallo,
ZitatSpontan fällt mir auf, dass dein augenblicklicher Zählerstand auf 249.733 m3 ist.
Dein erster Monatswert ist auf 37302
Dein erster Jahreswert ist auf 34009
Dein erster Jahreszählperiodenwert ist 36465

ich habe mal mein Reading im DEF auf E-Energy_kWh umgestellt. da habe ich dann auch den richtigen Zählerstand. Vorher hatte ich energy und das war nicht der aktuelle Zählerstand. Es war der Zähler den mir mein HM-ES-TX-WM lieferte. Mit dem neuen Wert habe ich nun den realen Zählerstand. Wenn ich es richtig verstehe wird _CostMeter, _CostYear und dem zu folge auch _Meter und _Year aus meinen Werten errechnet. Wenn ich mit dem set den Wert manuell setze werden sie bei der nächsten Aktualisierung der Werte überschrieben.
Hat da jemand einen Hinweis. :-[

Danke Dieter

Sailor

Hallo Dieter

Zitat von: Hanneck am 21 Dezember 2016, 23:24:16
Mit dem neuen Wert habe ich nun den realen Zählerstand. Wenn ich es richtig verstehe wird _CostMeter, _CostYear und dem zu folge auch _Meter und _Year aus meinen Werten errechnet. Wenn ich mit dem set den Wert manuell setze werden sie bei der nächsten Aktualisierung der Werte überschrieben.
Hat da jemand einen Hinweis. :-[

Einen brandheißen Hinweis sogar: Commandref->ElectricityCalculator!  ;)

Die Werte die geändert werden müssen sind die Zählerständte mit "first" am Ende.
Also:
_CounterMeter1st
_CounterMonth1st
_CounterYear1st

Oder du wartest bis der Monat, das Jahr oder die Ableseperiode vorbei ist.  ;D

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

Hanneck

Sorry Sailor,
die Werte hatte ich ja schon eingegeben so wie beschrieben ( siehe oben). Aber dass da der Punkt so gesetzt werden muss habe ich nicht gewußt. :'(.  Steht auch nicht in der Commandref, ich habe aber bemerkt das es Werte mit Punkt und welche ohne gibt. Also mal probieren geht manchmal über studieren und siehe da es klappt, die Werte stimmen. Danke trotzdem für den hilfreichen Denkanstoß.

Nur so lernt man... ;D
Wenn ich nun noch die kWh mit Nachkommastelle hin bekomme bin ich glücklich. Da hast Du bestimmt auch als wissender einen guten Hinweis. Man kann nicht alles wissen aber man sollte den kenne der es weiß. ;D

Danke von dem lernenden

Dieter

Reinhart

Hanneck

das Thema mit der Formatierung/Umrechnung hatten wir doch schon einmal gelöst: https://forum.fhem.de/index.php/topic,57106.msg540192.html#msg540192

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Pappa B

Hallo zusammen,

seit November setzte ich den ElectricityCalculator mit Erfolg ein.
Allerdings bin ich im Moment etwas ratlos mit meinen Jahreswerten.
Diese sollten ja zum Jahreswechsel, wie die Monatswerte, wieder bei Null beginnen.
Irgendwie klappt das aber nicht. Die Jahreswerte beziehen sich auf den Zählerstand beim einrichten des Calculators.
Mit "set....." habe ich versucht die neuen Zählerstände einzugeben.
Werden aber nur im CalulatorDevice aktualisiert.
Da ich meine Zähler aber über 1wire eingebunden habe, hat der set-Befehl keinen Erfolg im CounterDevice. :-\ :-\ :-\
Habt ihr einen Tipp für mich, wie ich das besser machen kann???

Thomas

Sailor

Hallo Thomas, alle Nutzer

Zitat von: Pappa B am 03 Januar 2017, 17:47:33
Allerdings bin ich im Moment etwas ratlos mit meinen Jahreswerten.
Diese sollten ja zum Jahreswechsel, wie die Monatswerte, wieder bei Null beginnen.
Irgendwie klappt das aber nicht.

Diesen Fehler habe ich bei mir nachvollziehen können und ist einem Bug geschuldet. Bei dem Schwestermodul "GasCalculator" hat es aber funktioniert.
Ich forsche nach und fixe das Problem entsprechend.

Als Workaround: Mit set-Befehl den "CounterYearFirst" mit dem Wert des Readings "CounterMonthFirst" beschreiben.
Dann stimmt alles wieder.

Danke für den Hinweis!

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

Sailor

Hallo zusammen

Der Bug zum Reset um den Jahreswechsel ist gefixt und soeben eingecheckt.

Mann sollte aufpassen, in welche Richtung man die <>-Zeichen setzt!  :o

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