Neues Modul: GasCalculator

Begonnen von Sailor, 21 Januar 2016, 12:48:11

Vorheriges Thema - Nächstes Thema

t61grath

Hallo Sailor,
der GasCubicPerCounts steht auf  0.01.

Bei dem von mir erstellten Graphen (Siehe Anlage) kann ich die aktuelle Leistung nicht bewerten. Diese erscheit  mir unplausiebel. Daher meine Frage nach den Einheiten die im Reading dargestellt werden.


Viele Grüße
Gerd

Sailor

#481
Moin Gerd

Zitat von: t61grath am 06 April 2022, 08:40:48
Bei dem von mir erstellten Graphen (Siehe Anlage) kann ich die aktuelle Leistung nicht bewerten. Diese erscheit  mir unplausiebel. Daher meine Frage nach den Einheiten die im Reading dargestellt werden.

Der Verbrauch wird kWh angegeben
Die Leistung gemäß deines Attributs "SiPrefixPower"

Mache mal ein Balkendiagramm anstelle eines Punktdiagramms. Das ist realistischer, da die Werte nur über die Mittlung des Messintervalls dargestellt werden können.

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

hauwech

#482
Hallo zusammen,
ich komme mit dem Modul irgendwie nicht zurecht. Nachdem bei der vorhergehenden Instanz der *_Meter Zähler auch nach mehrfachen Korrekturen des Offset immer wieder von den Werten des Gaszähler Devices (ein HM-ES-TX-WM) mit zunehmender Tendenz abweicht, habe ich den alten GasCalculator gelöscht und neu angelegt. Um zu verhindern, daß der mechanische Gaszähler weiterläuft, habe ich die Therme solange ausgeschaltet. Dann habe ich die GasCalculator Instanz neu angelegt und alle zur Berechnung benötigten Attribute eingetragen, bevor durch Ticks die Readings angelegt werden. Ich habe mit "set SyncCounter" den aktuellen Wert des mechanischen Zählers ins Offset geschrieben. Heute sehe ich, daß der *_Meter Zähler schon wieder fast 2m³ abweicht. Der Wert für  GasCubicPerCounts-Wert von 0.01 steht so auf dem Zähler und der HM-ES-TX-WM zählt damit auch richtig.
Ich hänge mal die lists vom GasCalculator und vom Kanal 01 des HM-ES-TX-WM mit dran, vielleicht sieht jemand den Fehler.
Internals:
   CFGFN     
   DEF        HG_KE_Gas_IEC_01:gasCalc.*
   FUUID      6270f5c4-f33f-af18-84ba-e211022e72995635
   NAME       Gasverbrauch
   NOTIFYDEV  HG_KE_Gas_IEC_01
   NR         23782
   NTFY_ORDER 10-Gasverbrauch
   REGEXP     HG_KE_Gas_IEC_01:gasCalc.*
   STATE      active
   TYPE       GasCalculator
   Helper:
     DBLOG:
       HG_KE_Gas_IEC_01_gasCalc_EnergyDay:
         myDbLog:
           TIME       1651649310.55048
           VALUE      0.173
       HG_KE_Gas_IEC_01_gasCalc_EnergyDayLast:
         myDbLog:
           TIME       1651630626.19751
           VALUE      0.052
       HG_KE_Gas_IEC_01_gasCalc_EnergyMonth:
         myDbLog:
           TIME       1651649310.55048
           VALUE      0.225
       HG_KE_Gas_IEC_01_gasCalc_EnergyYear:
         myDbLog:
           TIME       1651649310.55048
           VALUE      0.225
       HG_KE_Gas_IEC_01_gasCalc_PowerCurrent:
         myDbLog:
           TIME       1651649310.55048
           VALUE      0.000
       HG_KE_Gas_IEC_01_gasCalc_PowerDayAver:
         myDbLog:
           TIME       1651649310.55048
           VALUE      0.048
   READINGS:
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterDay1st 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterDayLast 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterMeter1st 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterMeterLast 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterMonth1st 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterMonthLast 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterYear1st 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_CounterYearLast 293.976
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyCostDay 0.010
     2022-05-04 04:17:06   HG_KE_Gas_IEC_01_gasCalc_EnergyCostDayLast 0.003
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyCostMeter 0.012
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyCostMonth 0.012
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyCostYear 0.012
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyDay 0.173
     2022-05-04 04:17:06   HG_KE_Gas_IEC_01_gasCalc_EnergyDayLast 0.052
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyMeter 0.225
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyMonth 0.225
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_EnergyYear 0.225
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_FinanceReserve 184.088
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_Meter 293.997
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_MonthMeterReading 1
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_PowerCurrent 0.000
     2022-05-04 09:28:30   HG_KE_Gas_IEC_01_gasCalc_PowerDayAver 0.048
     2022-05-04 04:19:03   HG_KE_Gas_IEC_01_gasCalc_PowerDayMax 0.334
     2022-05-04 04:17:06   HG_KE_Gas_IEC_01_gasCalc_PowerDayMin 0.000
     2022-05-04 04:17:06   HG_KE_Gas_IEC_01_gasCalc_Vol1stDay 293.981
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_Vol1stMeter 293.9762
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_Vol1stMonth 293.9762
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_Vol1stYear 293.9762
     2022-05-04 04:17:06   HG_KE_Gas_IEC_01_gasCalc_VolLastDay 293.981
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_VolLastMeter 293.976
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_VolLastMonth 293.976
     2022-05-03 11:46:09   HG_KE_Gas_IEC_01_gasCalc_VolLastYear 293.976
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_WFRDayMax 0
     2022-05-03 11:38:55   HG_KE_Gas_IEC_01_gasCalc_WFRDayMin 0
   hmccu:
   system:
     DecimalPlace %.3f
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 190.80
   Currency   €
   DecimalPlace 3
   GasCounterOffset 293.817
   GasCubicPerCounts 0.01
   GasNominalHeatingValue 11.272
   GasPricePerKWh 0.0556
   GaszValue  0.9627
   MonthOfAnnualReading 5
   MonthlyPayment 200.00
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   Volume     m³
   group      Gas
   room       Gas,Keller


Internals:
   DEF        778B4701
   FUUID      62692ba4-f33f-af18-11be-4bb207d9c5fc486b
   NAME       HG_KE_Gas_IEC_01
   NR         1188
   NTFY_ORDER 48-HG_KE_Gas_IEC_01
   STATE      296 m³
   TYPE       CUL_HM
   chanNo     01
   device     HG_KE_Gas
   disableNotifyFn 1
   READINGS:
     2022-05-04 09:53:10   Kubik           296.000
     2022-04-28 08:54:29   RegL_01.        00:00 08:00 30:06 36:31 37:2D 38:30 39:3A 3A:31 3B:2E 3C:37 3D:00 3E:00 3F:00 40:00 41:00 42:00 43:00 44:00 45:00 46:31 47:2D 48:30 49:3A 4A:31 4B:2E 4C:38 4D:00 4E:00 4F:00 50:00 54:00 7C:00 7D:00 7E:00 95:01 96:00 97:64 98:00 99:0A 9A:27 9B:10 9C:00
     2022-05-04 09:53:10   boot            off
     2022-04-28 08:55:31   cfgState        ok
     2022-04-28 08:54:31   commState       CMDs_done
     2022-05-04 09:53:10   eState          E: 18.05 P: 0.933
     2022-05-04 09:53:10   gasCalc         18.050
     2022-05-04 09:53:10   gasCnt          18.05
     2022-05-04 09:53:10   gasCntCalc      296
     2022-05-04 09:53:10   gasCntOffset    277.950
     2022-05-04 09:53:10   gasPower        0.933
     2022-04-28 08:54:29   text1           1-0:1.7
     2022-04-28 08:54:29   text2           1-0:1.8
   helper:
     peerFriend
     peerIDsState peerUnread
     peerOpt    -:powerSensor
     regLst     1
     cmds:
       TmplKey    :no:1651166400.52189
       TmplTs     1651166400.52189
       cmdKey     1:0:0::HG_KE_Gas:00DE:01:
       cmdLst:
         clear      [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         text       -txt1- [-txt2-]
         tplDel     -tplDel-
         tplSet_0   -tplChan-
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        0
       det        0
       raw        1
       tpl        0
     peerIDsH:
     role:
       chn        1
     shadowReg:
     tmpl:
   hmccu:
Attributes:
   alias      Gaszähler
   event-on-change-reading .*
   group      Gas
   icon       measure_power
   model      HM-ES-TX-WM
   peerIDs    peerUnread
   room       Gas,Keller
   stateFormat gasCntCalc m³
   userReadings Kubik {sprintf("%.3f",ReadingsVal("HG_KE_Gas_IEC_01","gasCnt","???")+277.95)}, gasCntOffset {sprintf("%.3f","277.95")}, gasCalc {sprintf("%.3f",ReadingsVal("HG_KE_Gas_IEC_01","gasCnt","0"))}


Ich denke, solange der grundlegende Zähler nicht stimmt, brauche ich mich mit den (davon abhängenden?) Energieberechnungen nicht zu befassen.

Ich würde mich freuen, wenn mal jemand mit draufschaut und vielleicht den Fehler sieht.

Ergänzung (05.05.2022): Heute beträgt die Abweichung vom HM-ES-TX-WM und vom mechanischen Gaszähler bereits 4.4m³.

Besten Dank und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Sailor

Hallo Roland

Zitat von: hauwech am 04 Mai 2022, 10:00:29
Heute sehe ich, daß der *_Meter Zähler schon wieder fast 2m³ abweicht. Der Wert für  GasCubicPerCounts-Wert von 0.01 steht so auf dem Zähler und der HM-ES-TX-WM zählt damit auch richtig.

Also 2m³ - Zu wenig oder zu viel?
Wie dem auch sei, das sind 200 Impulse, die zuviel oder zu wenig gemessen wurden...

Werden da aufgrund fehlerhafter Verschaltung/Installation vielleicht Impulse nicht richtig detektiert?

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

hauwech

#484
Hallo Sailor,
sorry, da war ich nicht präzise genug. Der GasCalculator zählt immer zu wenig. Am mechanischen Gaszähler habe ich einen ES-GAS-2 von ELV, der gibt seine Impulse an den HM-ES-TX-WM. Der TX-WM zählt richtig. Da habe ich den damaligen Offset eingestellt. Der GasCalculator wiederum verwertet die Counts vom TX-WM. Der TX-WM hat per default die readings gasCnt, gasCntCalc und gasCntPower. Ich habe den GasCalculator beim ersten Versuch mit DEF "HG_KE_Gas_IEC_01:gasCnt.*" eingerichtet. Damit bekomme ich aber nutzlose readings im GasCalculator für gasCntCalc und gasCntPower. Ein regex mit "HG_KE_Gas_IEC_01:gasCnt$" ($ -> regex Syntax für Perl), der sich auf gasCnt beschränken sollte, funktioniert aber nicht. Muß ich vielleicht in fhem ein anderen regex für "Zeilenende" benutzen? Ich habe mir daraufhin einen dummy angelegt, der per notify mit den Counter-Werten gefüttert wird und habe den für GasCalculator benutzt. Funktioniert natürlich im Prinzip, fand ich aber nicht so elegant. Bis ich dann auf die Idee kam, ein userreading "gasCalc" anzulegen, das ich jetzt für GasCalculator benutze.
Aber egal, welches Konstrukt ich verwende, alle zählen weniger als der TX-WM. Es ist, als ob vom TX-WM zum GasCalculator Impulse verschwinden. Im Prinzip müßte doch der gasCalculator genausoviel zählen wie der TX-WM. Das Einzige, was mir das Verhalten erklären könnte, ist, wenn gerade Impulse auftreten, wenn fhem in einem kurzen freeze für zu lange commands hängt, die sehe ich ab und zu mal im freezemon. Aber das müßte mit dem nächsthöheren CountWert eigentlich ausgeglichen sein, der ist ja kumulativ.
Aktuell steht der Gaszähler bei 301,2 Volumen, während der *_Meter des gasCalculator noch bei 298,5 steht. Das ist die Abweichung seit gestern, da hatte ich den Offset des GasCounter nochmal gesycnt. Soweit stehe ich erstmal auf dem Schlauch.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Sailor

Hallo Roland

Zitat von: hauwech am 06 Mai 2022, 21:41:09
Aktuell steht der Gaszähler bei 301,2 Volumen, während der *_Meter des gasCalculator noch bei 298,5 steht. Das ist die Abweichung seit gestern, da hatte ich den Offset des GasCounter nochmal gesycnt. Soweit stehe ich erstmal auf dem Schlauch.

pas-à-pas

Vergessen wir erst mal den GasCalculator.

Hast du schon eine Abweichung auf dem HM-ES-TX-WM gegenüber deinem mechanischem Zähler?

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

hauwech

Zitat von: Sailor am 09 Mai 2022, 09:26:41
Hast du schon eine Abweichung auf dem HM-ES-TX-WM gegenüber deinem mechanischem Zähler?
Nein, eben nicht. der TX-WM zählt richtig. Das ist genau der Teil, den ich nicht verstehe.
Stand eben:
mechanischer Zähler: 305.591
TW-WM: 305.592
GasCalculator (*._Meter): 298.567

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Sailor

Hallo Roland

Zitat von: hauwech am 09 Mai 2022, 13:35:56
Nein, eben nicht. der TX-WM zählt richtig. Das ist genau der Teil, den ich nicht verstehe.
Stand eben:
mechanischer Zähler: 305.591
TW-WM: 305.592
GasCalculator (*._Meter): 298.567

Also dann würde ich im nächsten Schritt die Definition von
HG_KE_Gas_IEC_01:gasCalc.*
auf
HG_KE_Gas_IEC_01:Kubik:.*
oder ggf. auf
HG_KE_Gas_IEC_01:gasCntCalc:.*
ändern.

Das Offset setzt du dann im Calculator mit dem Befehl set Gasverbrauch SyncCounter [mechWert]
CommandRef: "The command "SyncCounter" will calculate and update the Offset. Just enter the value of your mechanical Reader."

Darüber hinaus würde ich das Attribut  event-on-update-reading .* setzen, um auch Werte gemeldet zu bekommen, bei denen kein Verbrauch auftaucht.

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

hauwech

Hallo Sailor,
habe ich da vielleicht grundsätzlich was falsch verstanden?
Ich war bisher auf dem Trip, daß der GasCalculator die Anzahl der Ticks/Impulse braucht, also wieviel "10-Liter-Impulse" (bei 0.01 GasCubicPerCounts) ab einem bestimmten Volumen-Stand (=Offset).
Die Readings "Kubik" (mein userreading) oder "gasCntCalc" (default reading des TX-WM) liefern aber "aktuelles Volumen", nicht "Impulse". events-on-update-reading werde ich setzen.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Sailor

Hallo Roland

Zitat von: hauwech am 09 Mai 2022, 21:03:58
Hallo Sailor,
habe ich da vielleicht grundsätzlich was falsch verstanden?
Ich war bisher auf dem Trip, daß der GasCalculator die Anzahl der Ticks/Impulse braucht, also wieviel "10-Liter-Impulse" (bei 0.01 GasCubicPerCounts) ab einem bestimmten Volumen-Stand (=Offset).
Die Readings "Kubik" (mein userreading) oder "gasCntCalc" (default reading des TX-WM) liefern aber "aktuelles Volumen", nicht "Impulse". events-on-update-reading werde ich setzen.

Och Menno Roland!
Wozu verbringt man als Programmierer so viel Zeit damit die CommandRef zu pflegen  ;)
ZitatEs ist kein eigenes Zählermodul sondern benötigt eine Regular Expression (regex or regexp) um das Reading mit dem kontinuierlich wachsenden Zählerstand von einem oder mehreren Gaszählern zu finden.

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

hauwech

Hallo Sailor,

im ersten Beitrag hier steht aber:
Zitat... um das Reading mit den Zähl-Impulse von einem oder mehreren Gaszählern zu finden....
Ich habe den regex jetzt auf den Volumen-Zählerstand "gasCntcalc" umgestellt.

Danke und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Sailor

Hallo Roland

Zitat von: hauwech am 11 Mai 2022, 11:27:29
im ersten Beitrag hier steht aber:

Gütiger Himmel, der Beitrag ist 6 Jahre alt...  :o
Da kann man ja fast den Adenauer erzählen.

;D

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

hauwech

Ich lese halt wenn's geht immer von vorne, manchmal bleiben da solche Fakten hängen  8)

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Wasserwerk33

Hallo Leute,

vielleicht ist es ja auch eine doofe Frage.

Aber wenn ich den Gaspreis anpassen muss  :( läuft der dann ab den Tag mit dem neuen Preis weiter oder ändert er das dann für die Monate davor auch?
Also muss meinen Arbeitspreis am 1.07 anpassen. Und die Berechnung soll ja ab dann mit dem neuen Preis weiter rechnen.

Und ich habe noch eine Frage. Wird der Grundpreis pro Tag schon mit einberechnet?? Also wenn ich 300€ zahlen muss wird dieser dann schon mit einberechnet? Den Laut Fhem habe ich höhere Kosten als wenn ich es per Taschenrechner ausrechen.

Danke für eure Hilfe.

Wolle02

Ich möchte die Frage gerne nochmal hochholen, da ich vor dem gleichen Problem stehe. Zwar mit Strom, aber das ist ja egal. Morgen ändert sich mein Preis. Im Modul werden dann die gesamten Kosten mit dem neuen Preis für die gesamte Abrechnungsperiode neu berechnet. Ich hatte das schonmal und das wirft die Statistik ganz schön über den Haufen.
Vielleicht haben wir ja nur nicht verstanden wie man das im Modul richtig macht, wenn sich der Preis ändert.

Deshalb nochmal die Frage: Wie macht man es richtig? Gibt es eine Lösung?