SzczepanLeon / esphome-components

116 stars 40 forks source link

Feature Request: More Hydrus data #77

Open Flo2410 opened 5 months ago

Flo2410 commented 5 months ago

It would be nice to have all the data available in the telegram also be available as a sensor in Home Assistant for the Hydrus water meter.

Currently, only the total_water_m3 is supported. But the telegram includes more data, which would be nice to have in HA.

Here is a sample telegram: https://wmbusmeters.org/analyze/3e44a5118694177170077a69003005fd3859e9aa79a4412019793ddB8620ea05e74e86cc16a2155753Bd117d9880Bf6c70cBd6cBda40207B79a16e82959967:hydrus

Which has the following data:

{
    "media":"water",
    "meter":"hydrus",
    "name":"",
    "id":"71179486",
    "flow_temperature_c":10.5,
    "remaining_battery_life_y":13.3692,
    "target_m3":35.791,
    "target_datetime":"2024-01-31 23:59",
    "total_m3":37.512,
    "status":"OK",
    "timestamp":"2024-02-13T11:25:04Z"
}
geeuz commented 4 months ago

Hi Flo,

that would be great indeed!

ThomDietrich commented 3 weeks ago

I would also be interested in more data. My specific meter (Hydrus 2.0 Type 173) has a slightly different set of fields:

{
    "media":"water",
    "meter":"hydrus",
    "name":"",
    "id":"81755588",
    "at_date":"2128-03-31",
    "flow_m3h":0,
    "flow_temperature_c":16.4,
    "total_m3":5.434,
    "total_at_date_m3":188888.887,
    "status":"OK",
    "timestamp":"2024-06-26T14:28:21Z"
}

In addition to this wmbusmeters.org seems to not recognize the error flags field, which is described here: https://wasser.badenovanetze.de/downloads/wasser-allgemein/bedienungsanleitungen-funkwasserzaehler/bedienungsanleitung-hydrus-wasserzaehler-2.0-173.pdf

My meter publishes some further unrecognized fields:

036   : 2f2f decrypt check bytes (OK)
038   : 0C dif (8 digit BCD Instantaneous value)
039   : 13 vif (Volume l)
040 C!: 34540000 ("total_m3":5.434)
044   : 0B dif (6 digit BCD Instantaneous value)
045   : 3B vif (Volume flow l/h)
046 C!: 000000 ("flow_m3h":0)
049   : 04 dif (32 Bit Integer/Binary Instantaneous value)
050   : FD vif (Second extension FD of VIF-codes)
051   : 17 vife (Error flags (binary))
052 C?: 00000000
056   : 0A dif (4 digit BCD Instantaneous value)
057   : 5A vif (Flow temperature 10⁻¹ °C)
058 C!: 6401 ("flow_temperature_c":16.4)
060   : 4C dif (8 digit BCD Instantaneous value storagenr=1)
061   : 13 vif (Volume l)
062 C!: AAAAAAAA ("total_at_date_m3":188888.887)
066   : 42 dif (16 Bit Integer/Binary Instantaneous value storagenr=1)
067   : 6C vif (Date type G)
068 C!: FFFF ("at_date":"2128-03-31")
070   : 84 dif (32 Bit Integer/Binary Instantaneous value)
071   : 04 dife (subunit=0 tariff=0 storagenr=8)
072   : 6D vif (Date and time type)
073 C?: 3B371F35
077   : 8C dif (8 digit BCD Instantaneous value)
078   : 04 dife (subunit=0 tariff=0 storagenr=8)
079   : 13 vif (Volume l)
080 C?: 00020000