Neues Modul: GasCalculator

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

Vorheriges Thema - Nächstes Thema

mkraus81


masterpete23

Ich habe gerade gesehen, dass das Modul diese beiden mit anlegt für Gas:

WFRDayMax
WFRDayMin

laut commandref finde ich sie aber nur bei Wasser- was ist nun korrekt?

Sailor

Zitat von: masterpete23 am 13 November 2022, 16:29:07
Ich habe gerade gesehen, dass das Modul diese beiden mit anlegt für Gas:
WFRDayMax
WFRDayMin
laut commandref finde ich sie aber nur bei Wasser- was ist nun korrekt?

Ich bestätige den Bug bei GasCalculator und ElectricityCalculator!

Sollte zu PowerDayMax werden.
WFR = Water Flow Rate gibt es nur beim Wasserzähler.
Ist aber nur zusätzlich rein gekommen... Kannste also löschen.

Ist behoben und checke ich gleich mit ein.

Danach kannst du die WFR - Readings löschen.

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

stgeran

Ich brauche mal Hilfe. Das ist mein "Gas Device"
DeviceOverview
Gas

CNT: 41 CUM: 25825.905 5MIN: 0.040 TOP: 0.001
Internals
BasicFeePerMonth

0
CODE

9
CUL868_MSGCNT

3104
CUL868_RAWMSG

E030929E1340800E134
CUL868_RSSI

-87
CUL868_TIME

2022-11-20 21:04:42
CostPerUnit

0
DEF
9 0.005 0.005
FUUID

5c44de89-f33f-33d2-9d2f-8d229c9ece573d2a
IODev

CUL868
LASTInputDev

CUL868
MSGCNT

3104
NAME

Gas
NR

31
STATE

CNT: 41 CUM: 25825.905 5MIN: 0.040 TOP: 0.001
TYPE

CUL_EM
corr1

0.005
corr2

0.005
Readings
RAW

CNT: 41 CUM: 13537 5MIN: 8 TOP: 13537

2022-11-20 21:04:42
Verbrauch_korrigiert

28132.305

2022-11-20 21:04:42
basis

15476244

2022-10-30 08:35:17
cum_day

CUM_DAY: 7.325 CUM: 25816.980 COST: 0.00

2022-11-20 00:01:52
cum_month

CUM_MONTH: 0.000 CUM: 25758.220 COST: 0.00

2022-11-01 00:00:29
current

0.04

2022-11-20 21:04:42
current_cnt

8

2022-11-20 21:04:42
peak

0.00110807416709758

2022-11-20 21:04:42
peak_cnt

13537

2022-11-20 21:04:42
seqno

41

2022-11-20 21:04:42
state

CNT: 41 CUM: 25825.905 5MIN: 0.040 TOP: 0.001

2022-11-20 21:04:42
total

25825.905

2022-11-20 21:04:42
total_cnt

13537

2022-11-20 21:04:42
tsecs

1668974682

2022-11-20 21:04:42
 Gas 
Attributes
CounterOffset

-51623,75

deleteattr
IODev

CUL868

deleteattr
room

Gas,CUL_EM

deleteattr
userReadings

Verbrauch_korrigiert:total:.* {ReadingsNum($name, 'total',0) + 2306.4}

deleteattr
Probably associated with
FileLog_Gas
active
FileLog
FileLog_Verbrauch_korrigiert
active
FileLog

Wie binde ich es in den Gascalculator ein?
Internals:
   CFGFN     
   DEF        myGasCounter:countersA.*
   FUUID      637a85db-f33f-33d2-c79f-f4640281cf492823
   NAME       myGasCalculator
   NR         748
   NTFY_ORDER 10-myGasCalculator
   REGEXP     myGasCounter:countersA.*
   STATE      active
   TYPE       GasCalculator
   system:
     DecimalPlace %.3f
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 0
   Currency   €
   DecimalPlace 3
   GasCounterOffset 0
   GasCubicPerCounts 0.01
   GasNominalHeatingValue 10
   GasPricePerKWh 0.0654
   GaszValue  1
   MonthOfAnnualReading 5
   MonthlyPayment 0
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   Volume     m³
   room       Central Heating
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

meier81

Hallo stgeran,

ich würde das Device wie folgt definieren:

define myGasCalculator GasCalculator Gas:Verbrauch_korrigiert:.*
attr myGasCalculator BasicPricePerAnnum 107.90
attr myGasCalculator Currency €;
attr myGasCalculator DecimalPlace 3
attr myGasCalculator GasCubicPerCounts 1
attr myGasCalculator GasNominalHeatingValue 11.359
attr myGasCalculator GasPricePerKWh 0.1987
attr myGasCalculator GaszValue 0.9543
attr myGasCalculator MonthOfAnnualReading 12
attr myGasCalculator MonthlyPayment 0
attr myGasCalculator ReadingDestination CalculatorDevice
attr myGasCalculator SiPrefixPower kW
attr myGasCalculator Volume m³;


Ich gehe mal davon aus dein Zählerdevice heißt "Gas" und dein Zählerstand steht im reading "Verbrauch_korrigiert". Dann sollte der so eigentlich laufen, hab das bei mir so auch produktiv im Einsatz. Musst dann hat nur die Attribute (Preis, etc.) noch für dich anpassen.

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

marko67

Guten Abend

Ich habe den GasCalculator seit 3 Monaten erfolgreich im Einsatz.
Im November, genauer gesagt heute, habe ich den Zählerstand abgelesen und an das EVU gemeldet.

Muss ich nun den Wert:
"<DestinationDevice>_<SourceCounterReading>_Vol1stMeter : Erster Volumenmesswert des Zeitraums seit Anfang des Monats, wo der Gas-Versorger den Zähler abliest."
nun händisch anpassen? Muss das der Wert von heute sein oder der Wert vom 01.12.??
Stehe da etwas auf dem Schlauch und würde mich über eine Information freuen.

Viele Grüße

Marko

Sailor

Hallo Marko

Zitat von: marko67 am 24 November 2022, 19:03:10
Ich habe den GasCalculator seit 3 Monaten erfolgreich im Einsatz.
Im November, genauer gesagt heute, habe ich den Zählerstand abgelesen und an das EVU gemeldet.

Muss ich nun den Wert:
"<DestinationDevice>_<SourceCounterReading>_Vol1stMeter : Erster Volumenmesswert des Zeitraums seit Anfang des Monats, wo der Gas-Versorger den Zähler abliest."
nun händisch anpassen? Muss das der Wert von heute sein oder der Wert vom 01.12.??
Stehe da etwas auf dem Schlauch und würde mich über eine Information freuen.

Du musst das Attribut MonthOfAnnualReading auf 11 = November setzen, dann allerdings wir der Zähler bereits am 01.11. alles zurück setzen.
Besser du setzt das Teil auf 12 und somit 01.12.. Für 11 = 01.11. ist es ohnehin zu spät.

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

Fhemotto

Hallo

Ich habe ganz frisch den GasCalulator installiert/aktiviert.
Bitte um Verzeihung vorab, wenn ich hier etwas vollkommen falsch verstanden habe.

Mein aktueller Zählerwert wird über einen Dummy bereitgestellt. (Wert z.B. 4528.88)
(Zählerimpuls 0,01, also zählt die 2. Kommastelle hoch)

1.   Egal ob dieser über das Device (Dummy) eigelesen wird oder per Hand über Set xxx_state_Meter eingeben wird;
es ist immer verschoben (Kommastelle/Punktstelle) dargestellt ( Reading xxx_state_Meter: 45.288)
Habe ich hier ein Komma /Punkt Problem  ? oder was mache ich falsch?
Eventuell auch die Regular Expression der Definition oder der Dummy im Textformat?
Fragen über Fragen  ;)
Meine Definition: (Bitte nicht alle Werte ernst nehmen, bin noch am probieren)

Internals:
   DEF        Dummy_Gaszaehler:state.*
   FUUID      638221f2-f33f-3c5f-875b-a7cda30250be1b08
   NAME       myGasCalculator
   NOTIFYDEV  Dummy_Gaszaehler
   NR         737
   NTFY_ORDER 10-myGasCalculator
   REGEXP     Dummy_Gaszaehler:state.*
   STATE      active
   TYPE       GasCalculator
   READINGS:
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyCostDay 0.021
     2022-11-28 00:00:00   Dummy_Gaszaehler_state_EnergyCostDayLast 0.036
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyCostMeter 29.645
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyCostMonth 29.645
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyCostYear 29.645
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyDay 0.328
     2022-11-28 00:00:00   Dummy_Gaszaehler_state_EnergyDayLast 0.557
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyMeter 453.285
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyMonth 453.285
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_EnergyYear 453.285
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_FinanceReserve -29.645
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_Meter 45.329
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_MonthMeterReading 7
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_PowerCurrent 2117.647
     2022-11-28 07:46:46   Dummy_Gaszaehler_state_PowerDayAver 206.103
     2022-11-28 05:13:42   Dummy_Gaszaehler_state_PowerDayMax 2571.429
     2022-11-28 00:00:00   Dummy_Gaszaehler_state_PowerDayMin 0.000
     2022-11-28 00:00:00   Dummy_Gaszaehler_state_Vol1stDay 45.2957
     2022-11-26 22:20:34   Dummy_Gaszaehler_state_Vol1stMeter 0
     2022-11-26 22:20:44   Dummy_Gaszaehler_state_Vol1stMonth 0
     2022-11-26 22:20:52   Dummy_Gaszaehler_state_Vol1stYear 0
     2022-11-28 00:00:00   Dummy_Gaszaehler_state_VolLastDay 45.296
     2022-11-26 22:21:06   Dummy_Gaszaehler_state_VolLastMeter 0
     2022-11-26 22:21:22   Dummy_Gaszaehler_state_VolLastMonth 0
     2022-11-26 22:21:31   Dummy_Gaszaehler_state_VolLastYear 0
   system:
     DecimalPlace %.3f
     SecondsToday 86400
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 0
   Currency   €
   DecimalPlace 3
   GasCounterOffset 0
   GasCubicPerCounts 0.01
   GasNominalHeatingValue 10
   GasPricePerKWh 0.0654
   GaszValue  1
   MonthOfAnnualReading 5
   MonthlyPayment 0
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   Volume     m³
   room       Gaszaehler


2.   Hilfreich wäre für mich ein fortlaufender Wert für ,,m³" am Tag, also von 0 angefangen
aufsteigend, je nach Gasverbrauch, der in einem Reading erscheint:
Möchte dies zur Graphischen Auswertung / Statistik nutzen. (Heizzeiten, Ruhezeiten, aktueller Verbrauch am Tag, ... )
Ähnlich dem Reading ,,xxx__EnergyDay"  aber in m³
Habe ich auch hier etwas übersehen?

3.   Auch erschließen sich mir die Attribute; ,,Currency";" Volume"... nicht, da diese in den Readings nicht angezeigt werden.

4.   Für was wird das Attribut ,,GasCubicPerCounts"  (0.01) verwendet?
(Meine Zählerimpulse sind  0,01 )
in der Hilfe / Beschreibung steht:
,,Es 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."
Kann das Modul vielleicht doch aus einem Impuls den Wert errechnen / weiterverarbeiten?
Oder wird dies irgendwie intern zur Berechnung verwendet?

5.   Wo und wie werden die Werte gespeichert? Sind diese Remanent?
z.B. Stromausfall / Neustart System ohne Herunterfahren.


Wichtig für mich ist vor allem der Punkt (1) Zahlenformat, alle anderen Punkte eher zweitrangig.
Ist ja nur Hobby  :) und, Ach ja, vielen Dank für das Modul.

Michi1972

Moin,

ich habe heute ebenfalls das Modul neu installiert. Habe auch das Problem mit der verschobenen Kommastelle. Vielleicht habe ich etwas nicht ganz richtig verstanden, aber ich weiß einfach nicht, wie ich es hinbekomme. Bitte um Hilfe!

define Gaszaehler MQTT2_DEVICE z2t_8439
#   NAME       Gaszaehler
#   STATE      Zählerstand: 10766.803 m³
#   TYPE       MQTT2_DEVICE
#     2022-11-28 22:00:06   state           open
#     2022-11-28 21:59:51   zaehlwerk       10766.803
#
setstate Gaszaehler Zählerstand: 10766.803 m³
setstate Gaszaehler 2022-11-28 22:00:06 state open
setstate Gaszaehler 2022-11-28 21:59:51 zaehlwerk 10766.803


define GasCalculator GasCalculator Gaszaehler:z.*
attr GasCalculator BasicPricePerAnnum 97,37
attr GasCalculator Currency €
attr GasCalculator DecimalPlace 3
attr GasCalculator GasCounterOffset 0
attr GasCalculator GasCubicPerCounts 0.01
attr GasCalculator GasNominalHeatingValue 10
attr GasCalculator GasPricePerKWh 0.1730
attr GasCalculator GaszValue 1
attr GasCalculator MonthOfAnnualReading 5
attr GasCalculator MonthlyPayment 170
attr GasCalculator ReadingDestination CalculatorDevice
attr GasCalculator SiPrefixPower W
attr GasCalculator Volume m³
attr GasCalculator group Verbrauch
attr GasCalculator room Diele,Verbrauch
#   CFGFN     
#   DEF        Gaszaehler:z.*
#   FUUID      6384e1b8-f33f-49d8-735f-46317ebe8fc9d66c
#   NAME       GasCalculator
#   NOTIFYDEV  Gaszaehler
#   NR         322683
#   NTFY_ORDER 10-GasCalculator
#   REGEXP     Gaszaehler:z.*
#   STATE      active
#   TYPE       GasCalculator
#   eventCount 10
#   READINGS:
#     2022-11-28 21:45:13   Gaszaehler_zaehlwerk_CounterDay1st 107.667
#     2022-11-28 21:45:13   Gaszaehler_zaehlwerk_CounterDayLast 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterMeter1st 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterMeterLast 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterMonth1st 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterMonthLast 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterYear1st 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_CounterYearLast 107.667
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_PowerDayMax 0
#     2022-11-28 21:45:14   Gaszaehler_zaehlwerk_PowerDayMin 0
#   system:
#     DecimalPlace %.3f
#     SecondsToday 86400
#     SiPrefixPowerFactor 1
#
setstate GasCalculator active
setstate GasCalculator 2022-11-28 21:45:14 .Gaszaehler_zaehlwerk_LastUpdateTimestampUnix 1669668314.10407
setstate GasCalculator 2022-11-28 21:45:14 .Gaszaehler_zaehlwerk_PowerDayCount 0
setstate GasCalculator 2022-11-28 21:45:14 .Gaszaehler_zaehlwerk_PowerDaySum 0
setstate GasCalculator 2022-11-28 21:45:13 .Gaszaehler_zaehlwerk_PrevRead 107.667
setstate GasCalculator 2022-11-28 21:45:13 .ReadingDestinationDeviceName GasCalculator
setstate GasCalculator 2022-11-28 21:45:13 Gaszaehler_zaehlwerk_CounterDay1st 107.667
setstate GasCalculator 2022-11-28 21:45:13 Gaszaehler_zaehlwerk_CounterDayLast 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterMeter1st 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterMeterLast 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterMonth1st 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterMonthLast 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterYear1st 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_CounterYearLast 107.667
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_PowerDayMax 0
setstate GasCalculator 2022-11-28 21:45:14 Gaszaehler_zaehlwerk_PowerDayMin 0



Wäre nett, wenn einer einen Hinweis hat, ich weiß nicht weiter.

Schonmal Danke!

Gruß
Michael

Sailor

Moin Fhemmotto

Zitat von: Fhemotto am 28 November 2022, 08:27:38
Mein aktueller Zählerwert wird über einen Dummy bereitgestellt. (Wert z.B. 4528.88)
(Zählerimpuls 0,01, also zählt die 2. Kommastelle hoch)

Wenn der Wert des Dummies 4528.88 bereits die m3 sind, dann muss das Attribut GasCubicPerCounts auf "1"
Wenn der Wert des Dummies 452888 wäre aber die kleinste Stelle 10liter Gas sind, dann muss das Attribut GasCubicPerCounts auf "0.01"

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

Sailor

Hallo Michael

Zitat von: Michi1972 am 28 November 2022, 22:05:49
ich habe heute ebenfalls das Modul neu installiert. Habe auch das Problem mit der verschobenen Kommastelle. Vielleicht habe ich etwas nicht ganz richtig verstanden, aber ich weiß einfach nicht, wie ich es hinbekomme. Bitte um Hilfe!

Siehe meine Antwort an Fhemmotto

Zitat von: Michi1972 am 28 November 2022, 22:05:49
attr GasCalculator BasicPricePerAnnum 97,37

Das "," muss zu einem ".".   ;)

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

Michi1972

Oh je, das habe ich echt übersehen. Vielen Dank! 8)

Fhemotto

#567
Auch von mir,  Vielen Dank für die Info.

Meine Zeit war wohl zu kurz um es zu realisieren/zu verarbeiten.

Gibt es zu meinem Punkt 2, eine Change dies einzubauen?

,,Hilfreich wäre für mich ein fortlaufender Wert für ,,m³" am Tag, also von 0 angefangen
aufsteigend, je nach Gasverbrauch, der in einem Reading erscheint:
Möchte dies zur Graphischen Auswertung / Statistik nutzen. (Heizzeiten, Ruhezeiten, aktueller Verbrauch am Tag, ... )
Ähnlich dem Reading ,,xxx__EnergyDay"  aber in m³"

Hintergrund:
Die vorhandenen Readings pro Tag resultieren auf weiteren Grunddaten.
Preise (GasPricePerKWh) haben sich dieses Jahr 3x geändert,    entspricht: xxx_EnergyCostDay.
Energiewert (GasNominalHeatingValue) 1x verändert,  entspricht  xxx_EnergyDay.
Somit hätte ich diverse Sprünge im Graph.
Eine kontinuierliche Anzeige zum eigentlichen Zähler pro Tag (z.B. xxx_VolActDay) wäre hilfreich.

Wer weiß was nächstes Jahr noch alles kommt.

Vielen Dank nochmals

Edit:
Konsequenterweise sollte es dann:
Zähler pro Tag (z.B. xxx_VolActDay)
Zähler pro Monat (z.B. xxx_VolActMonth)
Zähler pro Jahr (z.B. xxx_VolActYear)
geben.


masterpete23

Guten Morgen,

seit heute nacht Punkt 0 Uhr startet mein FHEM durchgehend neu.
Ich vermute als schuldigen
Day '31' out of range 1..30 at ./FHEM/73_GasCalculator.pm line 156.
Was kann ich tun?

Dracolein

Zitat von: masterpete23 am 30 November 2022, 07:42:37
Guten Morgen,

seit heute nacht Punkt 0 Uhr startet mein FHEM durchgehend neu.
Ich vermute als schuldigen
Day '31' out of range 1..30 at ./FHEM/73_GasCalculator.pm line 156.
Was kann ich tun?

siehe auch hier: https://forum.fhem.de/index.php/topic,130604.0.html

Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;