Neues Modul: WaterCalculator

Begonnen von Sailor, 06 Oktober 2016, 06:53:25

Vorheriges Thema - Nächstes Thema

ladislav

Hello everybody,

I have got an issue with reading/writing values from MYSENSORS.

Mysensors device sometimes asks to previous value. I think it gets the previous value from "73_WaterCalculator.pm" which is multiplied by 2.
I have seen in log file error on line 857 - WaterCountReadingValuePrevious

Did any of you have the same problem?


2022-09-21_21:13:23 MYSENSOR_35 value135: 126125
2022-09-21_21:13:23 MYSENSOR_35 volume35: 1261.250
2022-09-21_21:32:38 MYSENSOR_35 parentId: 0
2022-09-21_21:32:38 MYSENSOR_35 SKETCH_NAME: Water Meter
2022-09-21_21:32:38 MYSENSOR_35 SKETCH_VERSION: 1.1
2022-09-21_21:32:41 MYSENSOR_35 value135: 126125
2022-09-21_21:33:12 MYSENSOR_35 value135: 252250
2022-09-21_21:33:12 MYSENSOR_35 volume35: 2522.500
2022-09-22_00:00:01 MYSENSOR_35 volume35: 2522.500
2022-09-22_00:53:37 MYSENSOR_35 value135: 252251
2022-09-22_00:53:37 MYSENSOR_35 volume35: 2522.510
2022-09-22_07:09:22 MYSENSOR_35 value135: 252252
2022-09-22_07:09:22 MYSENSOR_35 volume35: 2522.520
2022-09-22_08:19:36 MYSENSOR_35 value135: 252253
2022-09-22_08:19:36 MYSENSOR_35 volume35: 2522.530
2022-09-22_13:52:39 MYSENSOR_35 value135: 252254
2022-09-22_13:52:39 MYSENSOR_35 volume35: 2522.540
2022-09-22_15:30:32 MYSENSOR_35 value135: 252255
2022-09-22_15:30:32 MYSENSOR_35 volume35: 2522.550
2022-09-22_15:40:00 MYSENSOR_35 value135: 252256
2022-09-22_15:40:00 MYSENSOR_35 volume35: 2522.560
2022-09-22_18:58:22 MYSENSOR_35 value135: 252257
2022-09-22_18:58:22 MYSENSOR_35 volume35: 2522.570
2022-09-22_19:09:52 MYSENSOR_35 value135: 252258
2022-09-22_19:09:52 MYSENSOR_35 volume35: 2522.580
2022-09-22_19:36:26 MYSENSOR_35 value135: 252259
2022-09-22_19:36:26 MYSENSOR_35 volume35: 2522.590
2022-09-22_21:30:00 MYSENSOR_35 value135: 252260
2022-09-22_21:30:00 MYSENSOR_35 volume35: 2522.600
2022-09-22_21:44:14 MYSENSOR_35 parentId: 0
2022-09-22_21:44:14 MYSENSOR_35 SKETCH_NAME: Water Meter
2022-09-22_21:44:14 MYSENSOR_35 SKETCH_VERSION: 1.1
2022-09-22_21:44:19 MYSENSOR_35 volume35: 2522.600
2022-09-22_21:44:49 MYSENSOR_35 value135: 504520
2022-09-22_21:44:49 MYSENSOR_35 volume35: 5045.200
2022-09-22_21:45:43 MYSENSOR_35 value135: 504521
2022-09-22_21:45:43 MYSENSOR_35 volume35: 5045.210

rob

Hi ladislav.

Zitat von: ladislav am 22 September 2022, 22:06:37
...Mysensors device sometimes asks to previous value. I think it gets the previous value from "73_WaterCalculator.pm" which is multiplied by 2...
I think the device WaterCalculator doesn't change readings of its source device by default. It just catches the events as defined, performs lots of sophisticated calculations with the event's value and writes the results into the readings of the WaterCalculator-device.

I guess there could be two reasons why your volume gets doubled:
1) you have set up any other device in FHEM what changes "volume35" - e.g. a notify, DOIF etc.
2) there could be a multiplication by 2 inside your sketch or oldvalue gets added to newvalue etc.

You could check that if you disable your WaterCalculator temporarily by
attr <YourWaterCalculator> disable 1
power down your MYSENSOR-device, set your value135 to a specific one (e.g. 111)
setreading MYSENSOR_35 value135 111
and repower/ reboot your MYSENSORS device.

If volume135 doubles again (222), the problem could be 2), if not pls. check if you have any device defined which interferes with volume35 e.g. by
list DEF=.*volume35.*
When the problem comes out of the sketch you could create a new post in the MySensors subforum (https://forum.fhem.de/index.php/board,96.0.html).

Kind regards
rob



details are more MYSENSOR related and off topic here
My water counting device is even a MYSENSOR thing. I flashed the water counter sketch taken from the MySensor's page. In my case it behaves like that:
- powering/ rebooting - device catches last value from controller (FHEM device)
- device sends value = caught value and sketch information
- device works with that value as a offset and adds new counts to that value as soon as the real counter changes (new pulses)
- volume gets just calculated inside the sketch (value multiplied by factor, because 1 pulse is usually not 1m³ - factor means therefore: how many pulses does it need to get 1m³)
- when I have to correct value, I have to power down my device, set reading by
setreading <MySensorsDevice> value11 1234
and repower my device - value and volume appear a few seconds later in FHEM


Sailor

Ein herzerfrischendes "Moin" vom Achtern Diek vorweg!

Aufgrund eines Bugs in den
73_ElectricityCalculator
73_GasCalculator
73_WaterCalculator
mit den Anzahl der Sekunden pro Tag während der Zeitumstellung sowie dem Start der Mitternachtsroutine, bin ich gezwungen die Bibliothek "DateTime" zu verwenden.

Daher bitte unbedingt vor dem Update im linux shell die Bibliohek DateTime nachinstallieren:
sudo cpan install DateTime

ausfuehren!

Ansonsten schmiert Euch euer fhem ab und legt sich in eine Dauer-Startschleife.

Sorry für die Unannehmlichkeiten, aber es ging leider nicht anders.

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

C0mmanda

#138
Moin moin,

aus irgendeinem Grund habe ich ein Problem mit dem WaterCalculator welches ich aktuell nicht lösen kann...
Das Modul erfasst den Zähler nicht, es zählt also nicht "hoch".

Ich nutze AI-to-the-Edge, der Zähler funktioniert soweit tadellos und liefert den korrekten Zählerstand mit 4-Nachkommastellen (x,xxxx ) mit dem Reading "value".
Kann es sein dass der Watercalculator nicht mit den 4-Nachkommastellen zurecht kommt?
Oder habe ich ein Config-Problem und sehe es einfach nicht?

Das reading "CounterCurrent" bleibt immer auf dem gleichen Wert (aktuell 137.3918) stehen und es findet keine (korrekte) Auswertung statt....

Das list vom Watercalculator habe ich einmal angehangen.

Vielen Dank im voraus.

Internals:
   DEF        Wasseruhr:value.*
   FUUID      63c9b64d-f33f-0269-3468-17e94b2f4febc5b6
   NAME       Wasserkosten
   NOTIFYDEV  Wasseruhr
   NR         745
   NTFY_ORDER 10-Wasserkosten
   REGEXP     Wasseruhr:value.*
   STATE      137.3918 m3
   TYPE       WaterCalculator
   eventCount 661
   Helper:
     DBLOG:
       Wasseruhr_value_ConsumptionDayLast:
         logdb:
           TIME       1674860402.02295
           VALUE      0.0853
       Wasseruhr_value_ConsumptionHourLast:
         logdb:
           TIME       1674925195.27344
           VALUE      0.0000
   READINGS:
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostDay -0.00
     2023-01-28 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.32
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMeter 5.05
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMonth 20.25
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostYear 20.25
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionDay -0.0000
     2023-01-28 00:00:02   Wasseruhr_value_ConsumptionDayLast 0.0853
     2023-01-28 17:59:55   Wasseruhr_value_ConsumptionHourLast 0.0000
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMeter 1.3438
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMonth 5.3918
     2023-01-28 18:38:02   Wasseruhr_value_ConsumptionYear 5.3918
     2023-01-28 18:38:02   Wasseruhr_value_CounterCurrent 137.3918
     2023-01-28 00:00:02   Wasseruhr_value_CounterDay1st 137.3918
     2023-01-28 00:00:02   Wasseruhr_value_CounterDayLast 137.3918
     2023-01-19 22:30:08   Wasseruhr_value_CounterMeter1st 136.048
     2023-01-19 22:30:08   Wasseruhr_value_CounterMeterLast 136.048
     2023-01-19 22:31:34   Wasseruhr_value_CounterMonth1st 132
     2023-01-19 22:35:13   Wasseruhr_value_CounterMonthLast 132
     2023-01-19 22:31:41   Wasseruhr_value_CounterYear1st 132
     2023-01-19 22:31:49   Wasseruhr_value_CounterYearLast 132
     2023-01-28 18:38:02   Wasseruhr_value_FinanceReserve 2.6042
     2023-01-28 18:38:02   Wasseruhr_value_MonthMeterReading 1
     2023-01-28 18:38:02   Wasseruhr_value_WFRCurrent 0.0000
     2023-01-28 18:38:02   Wasseruhr_value_WFRDayAver 0.0000
     2023-01-28 00:00:02   Wasseruhr_value_WFRDayMax 0
     2023-01-28 00:00:02   Wasseruhr_value_WFRDayMin 0.0000
   helper:
     gets:
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostDay -0.00
       2023-01-28 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.32
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMeter 5.05
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMonth 20.25
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostYear 20.25
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionDay -0.0000
       2023-01-28 00:00:02   Wasseruhr_value_ConsumptionDayLast 0.0853
       2023-01-28 17:59:55   Wasseruhr_value_ConsumptionHourLast 0.0000
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMeter 1.3438
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMonth 5.3918
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionYear 5.3918
       2023-01-28 18:38:02   Wasseruhr_value_CounterCurrent 137.3918
       2023-01-28 00:00:02   Wasseruhr_value_CounterDay1st 137.3918
       2023-01-28 00:00:02   Wasseruhr_value_CounterDayLast 137.3918
       2023-01-19 22:30:08   Wasseruhr_value_CounterMeter1st 136.048
       2023-01-19 22:30:08   Wasseruhr_value_CounterMeterLast 136.048
       2023-01-19 22:31:34   Wasseruhr_value_CounterMonth1st 132
       2023-01-19 22:35:13   Wasseruhr_value_CounterMonthLast 132
       2023-01-19 22:31:41   Wasseruhr_value_CounterYear1st 132
       2023-01-19 22:31:49   Wasseruhr_value_CounterYearLast 132
       2023-01-28 18:38:02   Wasseruhr_value_FinanceReserve 2.6042
       2023-01-28 18:38:02   Wasseruhr_value_MonthMeterReading 1
       2023-01-28 18:38:02   Wasseruhr_value_WFRCurrent 0.0000
       2023-01-28 18:38:02   Wasseruhr_value_WFRDayAver 0.0000
       2023-01-28 00:00:02   Wasseruhr_value_WFRDayMax 0
       2023-01-28 00:00:02   Wasseruhr_value_WFRDayMin 0.0000
     sets:
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostDay -0.00
       2023-01-28 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.32
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMeter 5.05
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostMonth 20.25
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionCostYear 20.25
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionDay -0.0000
       2023-01-28 00:00:02   Wasseruhr_value_ConsumptionDayLast 0.0853
       2023-01-28 17:59:55   Wasseruhr_value_ConsumptionHourLast 0.0000
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMeter 1.3438
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionMonth 5.3918
       2023-01-28 18:38:02   Wasseruhr_value_ConsumptionYear 5.3918
       2023-01-28 18:38:02   Wasseruhr_value_CounterCurrent 137.3918
       2023-01-28 00:00:02   Wasseruhr_value_CounterDay1st 137.3918
       2023-01-28 00:00:02   Wasseruhr_value_CounterDayLast 137.3918
       2023-01-19 22:30:08   Wasseruhr_value_CounterMeter1st 136.048
       2023-01-19 22:30:08   Wasseruhr_value_CounterMeterLast 136.048
       2023-01-19 22:31:34   Wasseruhr_value_CounterMonth1st 132
       2023-01-19 22:35:13   Wasseruhr_value_CounterMonthLast 132
       2023-01-19 22:31:41   Wasseruhr_value_CounterYear1st 132
       2023-01-19 22:31:49   Wasseruhr_value_CounterYearLast 132
       2023-01-28 18:38:02   Wasseruhr_value_FinanceReserve 2.6042
       2023-01-28 18:38:02   Wasseruhr_value_MonthMeterReading 1
       2023-01-28 18:38:02   Wasseruhr_value_WFRCurrent 0.0000
       2023-01-28 18:38:02   Wasseruhr_value_WFRDayAver 0.0000
       2023-01-28 00:00:02   Wasseruhr_value_WFRDayMax 0
       2023-01-28 00:00:02   Wasseruhr_value_WFRDayMin 0.0000
   system:
     DecimalPlace %.4f
     SecondsToday 86400
     WFRUnitFactor 1
Attributes:
   BasicPricePerAnnum 64.2
   Currency   €
   DbLogExclude .*
   DbLogInclude .*ConsumptionHourLast,.*ConsumptionDayLast,.*ConsumptionMonthLast,.*ConsumptionYearLast
   DecimalPlace 4
   MonthOfAnnualReading 1
   MonthlyPayment 13
   ReadingDestination CalculatorDevice
   WFRUnit    l/min
   WaterCounterOffset 137.378
   WaterCubicPerCounts 0.0001
   WaterPricePerCubic 3.755
   group      Energie
   room       Energie
   stateFormat Wasseruhr_value_CounterCurrent m3


meier81

#139
Hallo C0mmanda,

müsste deine Definition nicht so lauten:
Wasseruhr:value:.*

Ich glaube da fehlt noch der Doppelpunkt hinter value. Kann sein das ich da falsch bin, jedenfall habe ich das so mein Strom- und beim GasCalculator.

Was mir noch auf die Schnelle einfallen würde ist das dein Device keinen Event erzeugt bei der Aktualisierung des Zählerstandes.

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

C0mmanda

Moin,

also, am Doppelpunkt liegt es nicht.
Ohne Doppelpunkt ist es in auch in der CommandRef dokumentiert, grundsätzlich sollte aber beides funktionieren.

Die Events werden vom Zähler auch erzeugt:

2023-01-29 21:59:32 MQTT2_DEVICE Wasseruhr value: 137.940
2023-01-29 21:59:33 MQTT2_DEVICE Wasseruhr value: 137.940
2023-01-29 22:04:32 MQTT2_DEVICE Wasseruhr value: 137.940
2023-01-29 22:04:33 MQTT2_DEVICE Wasseruhr value: 137.940
2023-01-29 22:09:32 MQTT2_DEVICE Wasseruhr value: 137.941
2023-01-29 22:09:33 MQTT2_DEVICE Wasseruhr value: 137.941


Da die Readings im Calculator-Device auch immer aktualisiert werden (Timestamp) scheinen die auch anzukommen.
Nur der Zähler (CounterCurrent) zählt nicht hoch, weshalb auch alle anderen Werte "stehen bleiben".
Der Zähler wird nur aktualisiert wenn ich set syncCounter ausführe....

Ein löschen und neu definieren des Calculator-Devices hat auch nicht geholfen.
Stehe echt auf dem Schlauch....
Electricity + GasCalculator laufen seit Jahren einwandfrei bei mir....

Gruß

Sailor

Zitat von: C0mmanda am 29 Januar 2023, 22:20:42
also, am Doppelpunkt liegt es nicht.
Ohne Doppelpunkt ist es in auch in der CommandRef dokumentiert, grundsätzlich sollte aber beides funktionieren.

Poste mal ein list vom Zähler und Calculator...

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

C0mmanda

Moin,

Einmal ein List vom Zählerdevice:


Internals:
   CID        wasser
   DEF        wasser
   FUUID      63b66adb-f33f-0269-6f62-39d24d5b7566dfc8
   IODev      MQTT_Server
   LASTInputDev MQTT_Server
   MQTT_Server_CONN MQTT_Server_192.168.1.215_62411
   MQTT_Server_MSGCNT 394
   MQTT_Server_TIME 2023-01-30 13:13:26
   MSGCNT     394
   NAME       Wasseruhr
   NR         721
   STATE      138.006 m3
   TYPE       MQTT2_DEVICE
   eventCount 396
   READINGS:
     2023-01-30 13:09:22   CPUtemp         22
     2023-01-30 11:25:52   IODev           MQTT_Server
     2023-01-30 12:53:28   IP              192.168.1.215
     2023-01-30 12:53:28   MAC             30:AE:A4:45:7C:28
     2023-01-30 13:09:23   changeabsolut   0.000
     2023-01-30 12:53:18   connection      connected
     2023-01-30 13:09:23   error           no error
     2023-01-30 13:09:22   freeMem         3100987
     2023-01-30 12:53:29   hostname        ESP-Watermeter
     2023-01-30 12:53:29   interval        5.0
     2023-01-30 13:09:23   pre             138.006
     2023-01-30 13:09:23   rate            0.000001
     2023-01-30 13:09:23   rate_per_digitalization_round 0.000
     2023-01-30 13:09:23   rate_per_time_unit 0.000001
     2023-01-30 13:09:23   raw             138.006
     2023-01-30 13:13:26   statValue       Hour: 138.006000000000000227 Day: 0.050000000000011369 Month: 2.474299999999999500 Year: 2.474299999999999500 (since:  )
     2023-01-30 13:13:26   statValueHour   138.006000000000000227
     2023-01-30 12:59:58   statValueHourLast -137.986999999999994770
     2023-01-30 12:59:58   statValueLast   Hour: -137.986999999999994770 Day: 0.235199999999991860 Month: - Year: -
     2023-01-30 13:13:26   status          Aligning
     2023-01-30 13:09:23   timestamp       2023-01-30T13:08:26+0100
     2023-01-30 13:09:22   uptime          -853
     2023-01-30 13:09:23   value           138.006
     2023-01-30 13:09:22   wifiRSSI        -77
   helper:
     _98_statistics Statistik_Dev
Attributes:
   DbLogExclude .*
   group      Zähler
   readingList wasser:wasserzaehler/connection:.* connection
wasser:wasserzaehler/MAC:.* MAC
wasser:wasserzaehler/IP:.* IP
wasser:wasserzaehler/hostname:.* hostname
wasser:wasserzaehler/interval:.* interval
wasser:wasserzaehler/uptime:.* uptime
wasser:wasserzaehler/freeMem:.* freeMem
wasser:wasserzaehler/wifiRSSI:.* wifiRSSI
wasser:wasserzaehler/CPUtemp:.* CPUtemp
wasser:wasserzaehler/status:.* status
wasser:wasserzaehler/main/value:.* value
wasser:wasserzaehler/main/error:.* error
wasser:wasserzaehler/main/rate:.* rate
wasser:wasserzaehler/main/rate_per_time_unit:.* rate_per_time_unit
wasser:wasserzaehler/main/changeabsolut:.* changeabsolut
wasser:wasserzaehler/main/rate_per_digitalization_round:.* rate_per_digitalization_round
wasser:wasserzaehler/main/raw:.* raw
wasser:wasserzaehler/main/timestamp:.* timestamp
wasser:wasserzaehler/main/json:.* { json2nameValue($EVENT) }
   room       Server->MQTT,Energie,MQTT2_DEVICE
   stateFormat value m3



Und hier das Calculator-Device:



Internals:
   DEF        Wasseruhr:value.*
   FUUID      63d6e8da-f33f-0269-9b5d-510ae3ae51e9bef9
   NAME       Wasserkosten
   NOTIFYDEV  Wasseruhr
   NR         772
   NTFY_ORDER 10-Wasserkosten
   REGEXP     Wasseruhr:value.*
   STATE      137.987 m3 | Guthaben: 30.299 EUR
   TYPE       WaterCalculator
   eventCount 24
   READINGS:
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostDay 0.08
     2023-01-30 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.00
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMeter 0.35
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMonth 28.82
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostYear 28.82
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionDay 0.016
     2023-01-30 00:00:01   Wasseruhr_value_ConsumptionDayLast 0.000
     2023-01-30 12:59:55   Wasseruhr_value_ConsumptionHourLast -137.9870
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMeter 0.073
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMonth 5.987
     2023-01-30 13:14:24   Wasseruhr_value_ConsumptionYear 5.987
     2023-01-30 13:14:24   Wasseruhr_value_CounterCurrent 137.987
     2023-01-30 07:03:37   Wasseruhr_value_CounterDay1st 137.971
     2023-01-30 07:03:29   Wasseruhr_value_CounterDayLast 137.971
     2023-01-29 22:49:32   Wasseruhr_value_CounterMeter1st 137.914
     2023-01-29 22:49:32   Wasseruhr_value_CounterMeterLast 137.914
     2023-01-30 07:03:12   Wasseruhr_value_CounterMonth1st 132.00
     2023-01-30 07:03:00   Wasseruhr_value_CounterMonthLast 132.00
     2023-01-30 07:02:47   Wasseruhr_value_CounterYear1st 132.00
     2023-01-30 07:02:37   Wasseruhr_value_CounterYearLast 132.00
     2023-01-30 13:14:24   Wasseruhr_value_FinanceReserve 30.299
     2023-01-30 13:14:24   Wasseruhr_value_MonthMeterReading 1
     2023-01-30 13:14:24   Wasseruhr_value_WFRCurrent 0.000
     2023-01-30 13:14:24   Wasseruhr_value_WFRDayAver -0.615
     2023-01-30 07:09:30   Wasseruhr_value_WFRDayMax 27658.796
     2023-01-30 07:04:30   Wasseruhr_value_WFRDayMin -27740
   helper:
     gets:
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostDay 0.08
       2023-01-30 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.00
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMeter 0.35
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMonth 28.82
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostYear 28.82
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionDay 0.016
       2023-01-30 00:00:01   Wasseruhr_value_ConsumptionDayLast 0.000
       2023-01-30 12:59:55   Wasseruhr_value_ConsumptionHourLast -137.9870
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMeter 0.073
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMonth 5.987
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionYear 5.987
       2023-01-30 13:14:24   Wasseruhr_value_CounterCurrent 137.987
       2023-01-30 07:03:37   Wasseruhr_value_CounterDay1st 137.971
       2023-01-30 07:03:29   Wasseruhr_value_CounterDayLast 137.971
       2023-01-29 22:49:32   Wasseruhr_value_CounterMeter1st 137.914
       2023-01-29 22:49:32   Wasseruhr_value_CounterMeterLast 137.914
       2023-01-30 07:03:12   Wasseruhr_value_CounterMonth1st 132.00
       2023-01-30 07:03:00   Wasseruhr_value_CounterMonthLast 132.00
       2023-01-30 07:02:47   Wasseruhr_value_CounterYear1st 132.00
       2023-01-30 07:02:37   Wasseruhr_value_CounterYearLast 132.00
       2023-01-30 13:14:24   Wasseruhr_value_FinanceReserve 30.299
       2023-01-30 13:14:24   Wasseruhr_value_MonthMeterReading 1
       2023-01-30 13:14:24   Wasseruhr_value_WFRCurrent 0.000
       2023-01-30 13:14:24   Wasseruhr_value_WFRDayAver -0.615
       2023-01-30 07:09:30   Wasseruhr_value_WFRDayMax 27658.796
       2023-01-30 07:04:30   Wasseruhr_value_WFRDayMin -27740
     sets:
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostDay 0.08
       2023-01-30 00:00:01   Wasseruhr_value_ConsumptionCostDayLast 0.00
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMeter 0.35
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostMonth 28.82
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionCostYear 28.82
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionDay 0.016
       2023-01-30 00:00:01   Wasseruhr_value_ConsumptionDayLast 0.000
       2023-01-30 12:59:55   Wasseruhr_value_ConsumptionHourLast -137.9870
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMeter 0.073
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionMonth 5.987
       2023-01-30 13:14:24   Wasseruhr_value_ConsumptionYear 5.987
       2023-01-30 13:14:24   Wasseruhr_value_CounterCurrent 137.987
       2023-01-30 07:03:37   Wasseruhr_value_CounterDay1st 137.971
       2023-01-30 07:03:29   Wasseruhr_value_CounterDayLast 137.971
       2023-01-29 22:49:32   Wasseruhr_value_CounterMeter1st 137.914
       2023-01-29 22:49:32   Wasseruhr_value_CounterMeterLast 137.914
       2023-01-30 07:03:12   Wasseruhr_value_CounterMonth1st 132.00
       2023-01-30 07:03:00   Wasseruhr_value_CounterMonthLast 132.00
       2023-01-30 07:02:47   Wasseruhr_value_CounterYear1st 132.00
       2023-01-30 07:02:37   Wasseruhr_value_CounterYearLast 132.00
       2023-01-30 13:14:24   Wasseruhr_value_FinanceReserve 30.299
       2023-01-30 13:14:24   Wasseruhr_value_MonthMeterReading 1
       2023-01-30 13:14:24   Wasseruhr_value_WFRCurrent 0.000
       2023-01-30 13:14:24   Wasseruhr_value_WFRDayAver -0.615
       2023-01-30 07:09:30   Wasseruhr_value_WFRDayMax 27658.796
       2023-01-30 07:04:30   Wasseruhr_value_WFRDayMin -27740
   system:
     DecimalPlace %.3f
     SecondsToday 86400
     WFRUnitFactor 1
Attributes:
   BasicPricePerAnnum 64.2
   Currency   €
   DbLogExclude .*
   DecimalPlace 3
   MonthOfAnnualReading 1
   MonthlyPayment 36
   ReadingDestination CalculatorDevice
   WFRUnit    l/min
   WaterCounterOffset 137.849
   WaterCubicPerCounts 0.001
   WaterPricePerCubic 4.813
   group      Energie
   room       Energie
   stateFormat Wasseruhr_value_CounterCurrent m3 | Guthaben: Wasseruhr_value_FinanceReserve EUR
   verbose    5


Gruss

Sailor

Moinsen

Zitat von: C0mmanda am 30 Januar 2023, 13:18:17
Einmal ein List vom Zählerdevice:

Bitte bei der Wasseruhr das "event-on-change-reading" auf "value" setzen.

Zitat von: C0mmanda am 30 Januar 2023, 13:18:17
Und hier das Calculator-Device:

Eines stört mich hier:
Die "Wasseruhr" gibt value = 138.006 raus
Die "Wasserkosten" gibt unter "Wasseruhr_value_CounterCurrent" den Wert 137.987 raus
So weit so gut könnte man meinen, das sollte aber nicht der Fall sein da das Attribut WaterCubicPerCounts  auf 0.001 steht.
Dementsprechend müsste das eigentlich auf 137.987 * 0.001 = 0.137987 stehen.
Wenn die Wasseruhr schon m3 rausgibt, müsste das Attribut WaterCubicPerCounts  auf 1 stehen.

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

C0mmanda

Zitat von: Sailor am 30 Januar 2023, 14:15:07

Wenn die Wasseruhr schon m3 rausgibt, müsste das Attribut WaterCubicPerCounts  auf 1 stehen.

Gruß
   Sailor

Wie anfangs erwähnt habe ich das Config-Problem einfach nicht gesehen und hatte da ein Brett vorm Kopf....
Das scheint es gewesen zu sein, es läuft jetzt offenbar wie es soll.

Danke für den Anstoß in die richtige Richtung!

Gruß

isy

Moin zusammen,
eine ganz doofe Frage zum regex, komme aber nicht weiter.

Die Ansteuerung des Moduls erfolgt über einen HM-MOD-EM-8 (Eingang1: HM_6674CF_Btn_01) und einen Wasserzähler mit Reed-Kontakt.
Der EM-8 setzt seinen state brav auf "closed" der "open", wenn der Reed Kontakt kurz schließt und wieder öffnet.

Ein Trigger im WaterCalculator auf HM_6674CF_Btn_01:.closed löst nicht aus. Auch mit über den Event monitor (notify oder DOIF) erzeugten regex auf "closed" löst der WaterCalculator nicht aus.

Diese regex HM_6674CF_Btn_01:.* funktioniert, liefert jedoch 2 Impulse, welche ich durch das Attribut WaterCubicPerCounts = 0.5 kompensiere. Funktioniert natürlich am Ende.

Kann mir jemand beim richtigen regex helfen?

VG Helmut

Ein Weg wird erst zu einem Weg, wenn man ihn geht

Sailor

Moin Helmut

Zitat von: isy am 20 Juni 2023, 12:29:56Eine ganz doofe Frage zum regex, komme aber nicht weiter.
Also der Satz ist schon mal an sich eine Granate!  ;D

Zitat von: isy am 20 Juni 2023, 12:29:56Kann mir jemand beim richtigen regex helfen?
Nein, weil die xCalculator Mudule nicht mit Impulsen arbeiten sondern siehe https://fhem.de/commandref.html#WaterCalculator 2ter Satz:

ZitatIt 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.

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

isy

OK, danke für die schnelle Reaktion!
Werde mal mit userReadings am EM-8 probieren, aus "open/closed" einen Zähler zu erzeugen
Ein Weg wird erst zu einem Weg, wenn man ihn geht

cortmen

#148
 ;) Hallo zusammen, eine Frage und eine bestimmt schnelle Antwort zum WaterCalculator

Frage:  warum werden default so viele Readings im Modul angelegt ?

Listing  WaterCalculator, Hinweis: nicht alle Einträge enthalten


Internals:
   DEF        myWaterCounter:.*
   FUUID      64bd8a50-f33f-0190-2a4f-17cbb329276f4e9c
   NAME       myWaterCalculator
   NOTIFYDEV  myWaterCounter
   NR         412
   NTFY_ORDER 10-myWaterCalculator
   REGEXP     myWaterCounter:.*
   STATE      564.000 m3
   TYPE       WaterCalculator
   eventCount 2
   READINGS:
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionCostDay 0.00
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionCostMeter 0.00
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionCostMonth 0.00
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionCostYear 0.00
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionDay 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionMeter 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionMonth 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_ConsumptionYear 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterCurrent 18.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterDay1st 18
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterDayLast 18.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterMeter1st 18
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterMeterLast 18.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterMonth1st 18
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterMonthLast 18.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterYear1st 18
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_CounterYearLast 18.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_FinanceReserve 513.600
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_MonthMeterReading 8
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_WFRCurrent 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_WFRDayAver 0.000
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_WFRDayMax 0
     2023-07-23 23:01:43   myWaterCounter_CPUtemp_WFRDayMin 0
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionCostDay 0.00
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionCostMeter 0.00
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionCostMonth 0.00
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionCostYear 0.00
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionDay 0.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionMeter 0.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionMonth 0.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_ConsumptionYear 0.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterCurrent 852311.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterDay1st 852311
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterDayLast 851047.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterMeter1st 852311
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterMeterLast 851047.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterMonth1st 852311
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterMonthLast 851047.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterYear1st 852311
     2023-07-23 23:01:42   myWaterCounter_freeMem_CounterYearLast 851047.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_FinanceReserve 513.600
     2023-07-23 23:01:42   myWaterCounter_freeMem_MonthMeterReading 8
     2023-07-23 23:01:42   myWaterCounter_freeMem_WFRCurrent 252800.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_WFRDayAver 252800.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_WFRDayMax 252800.000
     2023-07-23 23:01:42   myWaterCounter_freeMem_WFRDayMin 0
     2023-07-23 23:01:43   myWaterCounter_json_pre_ConsumptionCostDay 0.00
     2023-07-23 23:01:43   myWaterCounter_json_pre_ConsumptionCostMeter 0.00
     2023-07-23 23:01:43   myWaterCounter_json_pre_ConsumptionCostMonth 0.00
     2023-07-23 23:01:43   myWaterCounter_json_pre_ConsumptionCostYear 0.00
     2023-07-23 23:01:43   myWaterCounter_json_pre_ConsumptionDay 0.000



Schätze mal es liegt am  REGEXP  myWaterCounter:.* ?

hier mal ein Listing vom Counter (myWaterCounter) - Ai edge & esp-cam

Internals:
   CID        myWaterCounter
   DEF        myWaterCounter
   FUUID      64bd7ff9-f33f-0190-3da0-0cf2235fac9269fa
   FVERSION   10_MQTT2_DEVICE.pm:0.276740/2023-06-12
   IODev      fhem_mqtt_srv
   LASTInputDev fhem_mqtt_srv
   MSGCNT     1475
   NAME       myWaterCounter
   NR         410
   STATE      365777 m3
   TYPE       MQTT2_DEVICE
   eventCount 2
   fhem_mqtt_srv_CONN fhem_mqtt_srv_x.x.x.x_59195
   fhem_mqtt_srv_MSGCNT 1475
   fhem_mqtt_srv_TIME 2023-07-24 16:41:30
   READINGS:
     2023-07-24 16:41:30   CPUtemp         17
     2023-07-24 09:42:58   IODev           fhem_mqtt_srv
     2023-07-24 15:51:30   IP              x.x.x.x
     2023-07-24 15:51:30   MAC             0C:21:15:22:A9:E9
     2023-07-24 16:41:30   changeabsolut   0
     2023-07-24 16:41:30   connection      connected
     2023-07-24 16:41:30   error           no error
     2023-07-24 16:41:30   freeMem         815119
     2023-07-24 15:51:30   hostname        watermeter
     2023-07-24 15:51:30   interval        5.0
     2023-07-24 16:41:30   json_error      no error
     2023-07-24 16:41:30   json_pre        365777
     2023-07-24 16:41:30   json_rate       0.000000
     2023-07-24 16:41:30   json_raw        3N577N
     2023-07-24 16:41:30   json_timestamp  2023-07-24T16:40:52+0200
     2023-07-24 16:41:30   json_value      365777
     2023-07-24 16:41:30   rate            0.000000
     2023-07-24 16:41:30   rate_per_digitalization_round 0
     2023-07-24 16:41:30   rate_per_time_unit 0.000000
     2023-07-24 16:41:30   raw             3N577N
     2023-07-24 16:41:30   status          Flow finished
     2023-07-23 21:31:05   subscriptions   watermeter/readout/ctrl/flow_start watermeter/readout/ctrl/set_prevalue
     2023-07-24 16:41:30   timestamp       2023-07-24T16:40:52+0200
     2023-07-24 16:41:30   uptime          3063
     2023-07-24 16:41:30   value           365777
     2023-07-24 16:41:30   wifiRSSI        -75
Attributes:
   DbLogExclude .*
   event-on-change-reading value
   readingList myWaterCounter:watermeter/readout/status:.* status
myWaterCounter:watermeter/readout/MAC:.* MAC
myWaterCounter:watermeter/readout/IP:.* IP
myWaterCounter:watermeter/readout/hostname:.* hostname
myWaterCounter:watermeter/readout/interval:.* interval
myWaterCounter:watermeter/readout/connection:.* connection
myWaterCounter:watermeter/readout/uptime:.* uptime
myWaterCounter:watermeter/readout/freeMem:.* freeMem
myWaterCounter:watermeter/readout/wifiRSSI:.* wifiRSSI
myWaterCounter:watermeter/readout/CPUtemp:.* CPUtemp
myWaterCounter:watermeter/readout/main/value:.* value
myWaterCounter:watermeter/readout/main/error:.* error
myWaterCounter:watermeter/readout/main/rate:.* rate
myWaterCounter:watermeter/readout/main/rate_per_time_unit:.* rate_per_time_unit
myWaterCounter:watermeter/readout/main/changeabsolut:.* changeabsolut
myWaterCounter:watermeter/readout/main/rate_per_digitalization_round:.* rate_per_digitalization_round
myWaterCounter:watermeter/readout/main/raw:.* raw
myWaterCounter:watermeter/readout/main/timestamp:.* timestamp
myWaterCounter:watermeter/readout/main/json:.* { json2nameValue($EVENT, 'json_', $JSONMAP) }
   room       MQTT
 

Habe das nur schnell aus der Doku gelesen, keine weitere Eingriffe gemacht.

Ai on the edge 15.xx  und esp32-Cam  erkennen, die Werte sauber.


Thx für einen Tipp?


Capu

Hallo zusammen,
hab einen neuen Wasserzähler bekommen, der nun wieder bei 0 anfängt. Reicht es im Modul den WaterCounterOffset auf den Endwert des alten Zählers zu setzen?
Server: Raspberry 3B+ - USB-SSD (Raspian Stretch) - HM-MOD-RPI-PCB - 433MHz@GPIO - MQTT2
Support: Raspberry (Raspian Stretch) - lepresenced - slaesh's CC2652RB - zigbee2mqtt
Stuff: HM-Thermostate, -Dimmer, -Schalter, -Fensterkontakte, 433MHz-"Baumarktsteckdosen", Aqara Sensoren/Switches