home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.8k stars 30.5k forks source link

Water Usage reporting with Yolink FlowSmart All-in-One meter is too infrequent to be useful for flow rate analytics #128208

Open maggar opened 2 weeks ago

maggar commented 2 weeks ago

The problem

The Yolink water reporting sensor is too infrequent to be able to calculate a flow rate and does not provide an indication whether water is currently flowing. The Yolink app reports that water is flowing (sometimes requiring a manual refresh), but the integration does not, instead it only reports periodic and random updates to the sensor.yolink_water_meter_water_meter_reading. This means that water flow can start long before the sensor is updated and there's no way to know when the water has stopped flowing through the meter. This greatly diminishes the Yolink water meter's value when integrating with Home Assistant.

Suggestion:

1) Create a binary_sensor that updates immediately when the meter detects water is running/not running. 2) When water flow starts, stops or signficantly changes rate, the meter and hub should send an update to Home Assistant. there are concerns with battery life on the meter, it may make sense to make this optional and suggest that users use a DC adaptor on their water meter 3) Create a sensor that calculates the real-time current flow rate.

What version of Home Assistant Core has the issue?

2024.10.1

What was the last working version of Home Assistant Core?

2024.10.1

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Yolink

Link to integration documentation on our website

https://www.home-assistant.io/integrations/yolink/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 2 weeks ago

Hey there @matrixd2, mind taking a look at this issue as it has been labeled with an integration (yolink) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `yolink` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign yolink` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


yolink documentation yolink source (message by IssueLinks)

maggar commented 2 weeks ago

Here's an illustration of of the issue. I created a derivitive sensor to show the flow rate, and a template sensor that forces a refresh of the meter reading sensor every 5 minutes (so the derivitive sensor would see an update at lesat once every 5 minutes) As you can see below, this creates rather innacurate estimates of flow rates (gal/min) because it doesn't have accurate start/stop times.

image