Hallo,
ich hole mir die Werte von einem S0 Counter (1 Tick = 0.01m3) mit Namen "gascounter" (ist ein userreading). Der Gaszähler zeigt m3 an, der aktuelle Stand ist "14449.000"
Folgendes hab ich konfiguriert:
define myGasCalculator GasCalculator EseraCount_ESERA_1C0000000FF1501D:gascounter.*
setreading myGasCalculator EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterDay1st 14449
setreading myGasCalculator EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMonth1st 14449
setreading myGasCalculator EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterYear1st 14449
setreading myGasCalculator EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMeter1st 14449
Internals:
DEF EseraCount_ESERA_1C0000000FF1501D:gascounter.*
FUUID 63e9dae8-f33f-55bb-61d1-13b84bc471231e3c
NAME myGasCalculator
NOTIFYDEV EseraCount_ESERA_1C0000000FF1501D
NR 430
NTFY_ORDER 10-myGasCalculator
REGEXP EseraCount_ESERA_1C0000000FF1501D:gascounter.*
STATE active
TYPE GasCalculator
eventCount 112
READINGS:
2023-02-13 07:42:45 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterDay1st 14449
2023-02-13 07:39:48 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterDayLast 19.260
2023-02-13 07:41:38 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMeter1st 14449
2023-02-13 07:39:48 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMeterLast 19.260
2023-02-13 07:42:18 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMonth1st 14449
2023-02-13 07:39:48 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterMonthLast 19.260
2023-02-13 07:43:15 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterYear1st 14449
2023-02-13 07:39:48 EseraCount_ESERA_1C0000000FF1501D_gascounter_CounterYearLast 19.260
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostDay 1.132
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostMeter 1.132
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostMonth 1.132
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostYear 1.132
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyDay 9.175
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyMeter 9.175
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyMonth 9.175
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyYear 9.175
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_FinanceReserve 451.868
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_Meter 14469.280
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_MonthMeterReading 3
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_PowerCurrent 3.270
2023-02-13 12:24:21 EseraCount_ESERA_1C0000000FF1501D_gascounter_PowerDayAver 5344.498
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_PowerDayMax 544674.723
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_PowerDayMin 0
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_Vol1stDay 14468.27
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_Vol1stMeter 14468.27
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_Vol1stMonth 14468.27
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_Vol1stYear 14468.27
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_VolLastDay 19.260
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_VolLastMeter 19.260
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_VolLastMonth 19.260
2023-02-13 07:55:43 EseraCount_ESERA_1C0000000FF1501D_gascounter_VolLastYear 19.260
system:
DecimalPlace %.3f
SecondsToday 86400
SiPrefixPowerFactor 1000
Attributes:
BasicPricePerAnnum 0
Currency €
DecimalPlace 3
GasCounterOffset 14449
GasCubicPerCounts 0.01
GasNominalHeatingValue 10
GasPricePerKWh 0.1234
GaszValue 0.9084
MonthOfAnnualReading 12
MonthlyPayment 151.00
ReadingDestination CalculatorDevice
SiPrefixPower kW
Volume m³
room Hersteller->Esera,Zaehler->Gas
Weiterhin habe ich noch eine Readingsgroup angelegt
Internals:
DEF <%measure_power>,<Zaehler>,<Tag>,<(m³)>,<Monat>,<(m³)>,<Jahr>,<(m³)>,<hr>
myGas.*Calculator:.*_Meter,.*_EnergyCostDay,.*_EnergyDay,.*_EnergyCostMonth,.*_EnergyMonth,.*_EnergyCostMonthLast,.*_EnergyMonthLast,.*_EnergyCostYear,.*_EnergyYear,.*_EnergyCostYearLast,.*_EnergyYearLast
FUUID 63e8d234-f33f-55bb-ad4c-9d078a0ef15c5243
NAME Gaszaehler
NR 429
NTFY_ORDER 50-Gaszaehler
STATE Initialized
TYPE readingsGroup
changed 0
mayBeVisible 1
CONTENT:
myGasCalculator 1
CONTENT2:
DEVICES:
ARRAY(0x55d3c9a01cd8)
ARRAY(0x55d3c996b4c0)
fhem:
lastDefChange 12
last_update 1676286025.01181
helper:
DEF
nameStyle {
return "style=text-align:right;font-weight:bold;color:black"
}
valueFormat {
return "%.2f" if( $READING =~ m/_Meter/ );
return "%.2f €" if( $READING =~ m/_EnergyCost/ );
return "%.2f m³" if( $READING =~ m/_Energy(Day|Month|Year)/ )
}
valueStyle {
return "style=text-align:right;color:blue" if(( $READING =~ m/_EnergyCostDay/ ) && ( $VALUE < 1 ) );
return "style=text-align:right;color:red" if( $READING =~ m/_EnergyCostDay/ );
return "style=text-align:right;color:blue" if( $READING =~ m/_EnergyCost/ );
return "style=text-align:right"
}
positions:
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostDay 2:2
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostMonth 2:4
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyCostYear 2:6
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyDay 2:3
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyMonth 2:5
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_EnergyYear 2:7
myGasCalculator.EseraCount_ESERA_1C0000000FF1501D_gascounter_Meter 2:1
values:
formated:
undef
ARRAY(0x55d3c60dcb00)
ARRAY(0x55d3c99599c8)
ARRAY(0x55d3c9904f88)
ARRAY(0x55d3c9991bb0)
ARRAY(0x55d3c76554d8)
ARRAY(0x55d3c406fb90)
ARRAY(0x55d3c998ac10)
orig:
undef
ARRAY(0x55d3c991d8e0)
ARRAY(0x55d3c9963280)
ARRAY(0x55d3c98a8ed8)
ARRAY(0x55d3c99561b8)
ARRAY(0x55d3c9999eb0)
ARRAY(0x55d3c97475a8)
ARRAY(0x55d3c98f0bd0)
prefixsuffix:
undef
ARRAY(0x55d3c98fee00)
ARRAY(0x55d3c9923d18)
ARRAY(0x55d3c46b2900)
ARRAY(0x55d3c9994298)
ARRAY(0x55d3c9926d98)
ARRAY(0x55d3c998d780)
ARRAY(0x55d3c99022f8)
Attributes:
group Alle Verbraucher
nameStyle {
return "style=text-align:right;font-weight:bold;color:black"
}
room Zaehler->Gas
valueFormat {
return "%.2f" if( $READING =~ m/_Meter/ );
return "%.2f €" if( $READING =~ m/_EnergyCost/ );
return "%.2f m³" if( $READING =~ m/_Energy(Day|Month|Year)/ )
}
valueStyle {
return "style=text-align:right;color:blue" if(( $READING =~ m/_EnergyCostDay/ ) && ( $VALUE < 1 ) );
return "style=text-align:right;color:red" if( $READING =~ m/_EnergyCostDay/ );
return "style=text-align:right;color:blue" if( $READING =~ m/_EnergyCost/ );
return "style=text-align:right"
}
Das Ergebnis sieht so aus wie im Anhang
Leider stimmen die m3 Angaben um den Faktor 10 nicht - was läuft falsch?
ich vermute mal die Readings sind kWh - dann würde es stimmen und ich muss nur die Bezeichnung von m3 in kWh ändern ...
Kann das jemand bestätigen?
Hallo uxtuner,
ich kenne den S0 Counter nicht, aber ich gehe davon aus, dass ein Readkontakt die Umläufe des Magneten an der dritten Nachkommastelle erfasst.
Somit entsprechen 100 Umläufe einem Kubikmeter (1m³). Wenn dein Zähler dies meldet, dann müssen es tatsächlich auch m³ sein.
Die Umrechnung in kWh erfolgt mittels Zustandszahl und Brennwert. Also (P = U * Zz * Bw).
Bei meinem Gaszähler bereche ich die ganzen Werte bereits im Tasmota Script und übergebe sie per MQTT an FHEM.
Ich habe das mit einem Hourcounter gelöst, der stündlich zurück gesetzt wird und zeige diesen als Plot an.
Lässt sich sicher auch anders lösen, aber mir reicht das für die Übersicht des Verbrauchs.
Hier mal der Link zu meinem Wiki mit dem kompletten FHEM Code.
http://wiki.gorjup.de/doku.php?id=public:gaszaehler#konfiguration_in_fhem (http://wiki.gorjup.de/doku.php?id=public:gaszaehler#konfiguration_in_fhem)
Gruß
Thomas
der Zähler macht pro 0.01 m3 einen Tick, die Umrechnung für den GasCalculator macht das Attribut "GasCubicPerCounts"
IMHO ist die Darstellung in den Readings kWh - damit wäre alles ok