The WaterCalculator Module calculates the water consumption and costs of one or more water meters. It is not a counter module itself but it requires a regular expression (regex or regexp) in order to know where to retrieve the continously increasing counter value of one or more mechanical or electronic water meter. The function of the sub-counter for garden water has not been implemented yet. Therefore the sewage water cost needs to be taken into account. As soon the module has been defined within the fhem.cfg, the module reacts on every event of the specified counter like myOWDEVICE:counter.* etc. The WaterCalculator module provides several current, historical, statistical values around with respect to one or more water meter and creates respective readings. To avoid waiting for max. 12 months to have realistic values, the readings <DestinationDevice>_<SourceCounterReading>_CounterDay1st ,<DestinationDevice>_<SourceCounterReading>_CounterMonth1st ,<DestinationDevice>_<SourceCounterReading>_CounterYear1st and<DestinationDevice>_<SourceCounterReading>_CounterMeter1st must be corrected with real values by using the setreading - command.These real values may be found on the last water bill. Otherwise it will take 24h for the daily, 30days for the monthly and up to 12 month for the yearly values to become realistic. Intervalls smaller than 10s will be discarded to avoid peaks due to fhem blockages (e.g. DbLog - reducelog). |
Set |
The set - function works for readings which have been stored in the CalculatorDevice and to update the Offset. The Readings being stored in the Counter - Device need to be changed individially with the set - command.The command "SyncCounter" will calculate and update the Offset. Just enter the value of your mechanical Reader. |
Get |
The get - function works only for readings which have been stored in the CalculatorDevice. The Readings being stored in the Counter - Device need to be read individially with get - command. |
Attributes |
In addition the global attributes e.g. room can be used. |
Readings |
The placeholder <DestinationDevice> is the device which has been chosen in the attribute ReadingDestination above.This will not appear if CalculatorDevice has been chosen. The placeholder <SourceCounterReading> is the reading based on the defined regular expression where the counting ticks are coming from. |
| : Current indicated total water consumption as shown on mechanical water meter. Correct Offset-attribute if not identical. |
| : The first meter reading after midnight. |
| : The last meter reading of the previous day. |
| : The first meter reading after midnight of the first day of the month. |
| : The last meter reading of the previous month. |
| : The first meter reading after midnight of the first day of the month where the mechanical meter is read by the Water supplier. |
| : The last meter reading of the previous meter reading year. |
| : The first meter reading after midnight of the first day of the year. |
| : The last meter reading of the previous year. |
| : Consumption costs of the last day. |
| : Consumption costs in the chosen currency of the last water meter period. |
| : Consumption costs in the chosen currency of the last month. |
| : Consumption costs of the last calendar year. |
| : Consumption costs in the chosen currency since the beginning of the current day. |
| : Consumption costs in the chosen currency since the beginning of the month of where the last water meter reading has been performed by the Water supplier. |
| : Consumption costs in the chosen currency since the beginning of the current month. |
| : Consumption costs in the chosen currency since the beginning of the current year. |
| : Consumption in qm since the beginning of the current day (midnight). |
| : Total Consumption in qm of the last day. |
| : Consumption in qm since the beginning of the month of where the last Water-meter reading has been performed by the Water supplier. |
| : Total Consumption in qm of the last Water-meter reading period. |
| : Consumption in qm since the beginning of the current month (midnight of the first). |
| : Total Consumption in qm of the last month. |
| : Consumption in qm since the beginning of the current year (midnight of the first). |
| : Total Consumption in qm of the last calendar year. |
| : Financial Reserve based on the advanced payments done on the first of every month towards the water supplier. With negative values, an additional payment is to be expected. |
| : Number of month since last meter reading. The month when the reading occured is the first month = 1. |
| : Current water flow rate. (water flow rate based on current and previous measurement.) |
| : Average water flow rate since midnight. |
| : Maximum water flow rate peak since midnight. |
| : Minimum water flow rate peak since midnight. |
Das WaterCalculator Modul berechnet den Verbrauch an Wasser und die verbundenen Kosten von einem oder mehreren Wasserzählern. Die Funktion des sogenannten Unterwasserzählers ist noch nicht implementiert. Daher müssen bei den Wasserkosten die Abwasserkosten mit einbezogen werden. 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 Wasserzählern zu finden. Sobald das Modul in der fhem.cfg definiert wurde, reagiert das Modul auf jedes durch das regex definierte event wie beispielsweise ein myOWDEVICE:counter.* etc. Das WaterCalculator Modul berechnet augenblickliche, historische statistische und vorhersehbare Werte von einem oder mehreren Wasserzählern und erstellt die entsprechenden Readings. Um zu verhindern, dass man bis zu 12 Monate warten muss, bis alle Werte der Realität entsprechen, müssen die Readings <DestinationDevice>_<SourceCounterReading>_CounterDay1st ,<DestinationDevice>_<SourceCounterReading>_CounterMonth1st ,<DestinationDevice>_<SourceCounterReading>_CounterYear1st und<DestinationDevice>_<SourceCounterReading>_CounterMeter1st entsprechend mit dem setreading - Befehl korrigiert werden.Diese Werte findet man unter Umständen auf der letzten Abrechnung des Wasserversorgers. Andernfalls dauert es bis zu 24h für die täglichen, 30 Tage für die monatlichen und bis zu 12 Monate für die jährlichen Werte bis diese der Realität entsprechen. Intervalle kleiner als 10s werden ignoriert um Spitzen zu verhindern die von Blockaden des fhem Systems hervorgerufen werden (z.B. DbLog - reducelog). |
Set |
Die set - Funktion funktioniert für Readings welche im CalculatorDevice gespeichert wurden und zum update des Offsets zwischen den Zählern. Die Readings welche im Counter - Device gespeichert wurden, müssen individuell mit set - Befehl gesetzt werden.Der Befehl "SyncCounter" errechnet und update den Offset. Hierbei einfach den Wert des mechanischen Zählers eingeben. |
Get |
Die get - Funktion funktioniert nur für Readings welche im CalculatorDevice gespeichert wurden. Die Readings welche im Counter - Device gespeichert wurden, müssen individuell mit get - Befehl ausgelesen werden. |
Attributes |
Zusätzlich können die globalen Attribute wie room verwendet werden. |
Readings |
Der Platzhalter <DestinationDevice> steht für das Device, welches man in dem Attribut ReadingDestination oben festgelegt hat. Dieser Platzhalter bleibt leer, sobald man dort CalculatorDevice ausgewählt hat.Der Platzhalter <SourceCounterReading> steht für das Reading welches mit der Regular Expression definiert wurde. |
| : Aktueller Zählerstand am mechanischen Zähler. Bei Unterschied muss das Offset-Attribut entspechend korrigiert werden. |
| : Der erste Zählerstand des laufenden Tages seit Mitternacht. |
| : Der letzte Zählerstand des vorherigen Tages. |
| : Der erste Zählerstand seit Mitternacht des ersten Tages der laufenden Ableseperiode. |
| : Der letzte Zählerstand seit Mitternacht des ersten Tages der vorherigen Ableseperiode. |
| : Der erste Zählerstand seit Mitternacht des ersten Tages des laufenden Monats. |
| : Der letzte Zählerstand des vorherigen Monats. |
| : Der erste Zählerstand seit Mitternacht des ersten Tages des laufenden Jahres. |
| : Der letzte Zählerstand des letzten Jahres. |
| : Wasserkosten des letzten Tages. |
| : Wasserkosten der letzten Ableseperiode. |
| : Wasserkosten des letzten Monats. |
| : Wasserkosten des letzten Kalenderjahres. |
| : Wasserkosten in gewählter Währung seit Mitternacht des laufenden Tages. |
| : Wasserkosten in gewählter Währung seit Beginn der laufenden Ableseperiode. |
| : Wasserkosten in gewählter Währung seit Beginn des laufenden Monats. |
| : Wasserkosten in gewählter Währung seit Beginn des laufenden Kalenderjahres. |
| : Wasserverbrauch seit Beginn der aktuellen Tages (Mitternacht). |
| : Wasserverbrauch in qm des vorherigen Tages. |
| : Wasserverbrauch seit Beginn der aktuellen Ableseperiode. |
| : Wasserverbrauch in qm der vorherigen Ableseperiode. |
| : Wasserverbrauch seit Beginn des aktuellen Monats. |
| : Wasserverbrauch in qm des vorherigen Monats. |
| : Wasserverbrauch seit Beginn des aktuellen Kalenderjahres. |
| : Wasserverbrauch in qm des vorherigen Kalenderjahres. |
| : Finanzielle Reserve basierend auf den Abschlagszahlungen die jeden Monat an den Wasserversorger gezahlt werden. Bei negativen Werten ist von einer Nachzahlung auszugehen. |
| : Anzahl der Monate seit der letzten Zählerablesung. Der Monat der Zählerablesung ist der erste Monat = 1. |
| : Aktueller Wasserdurchsatz. (Wasserdurchsatz basierend auf aktueller und letzter Messung) |
| : Mittlerer Wasserdurchsatz seit Mitternacht. |
| : Maximale Wasserdurchsatz seit Mitternacht. |
| : Minimale Wasserdurchsatz seit Mitternacht. |
<DestinationDevice>_<SourceCounterReading>_CounterDay1st
,<DestinationDevice>_<SourceCounterReading>_CounterMonth1st
,<DestinationDevice>_<SourceCounterReading>_CounterYear1st
and<DestinationDevice>_<SourceCounterReading>_CounterMeter1st
setreading
- command.<DestinationDevice>_<SourceCounterReading>_CounterDay1st
,<DestinationDevice>_<SourceCounterReading>_CounterMonth1st
,<DestinationDevice>_<SourceCounterReading>_CounterYear1st
und<DestinationDevice>_<SourceCounterReading>_CounterMeter1st
setreading
- Befehl korrigiert werden.