Flume integration

I just got a Flume device, which means more metrics to track! Thanks for the driver - I added support for it to my Hubitat Prometheus exporter. Changeset here. I pushed a v1.3.0 release candidate (and corresponding Docker image) for anyone who wants to play with it before I get around to wrapping up the version.

2 Likes

Not exclusively a Hubitat issue but I just learned that the San Antonio Water System is replacing all of the existing water meters with electronic meters not compatible with Flume! :grimacing:

I am thinking about installing my old meter if I can get it or another compatible meter on my side of the official meter.

Has anyone else experienced this issue or have suggestions for a workaround?

https://www.saws.org/connecth2o/faqs/

I saw that too.... Which I find hilarious, as SAWS is who got me my discounted Flume to begin with just a few years ago.... :roll_eyes: They are just throwing their money away every chance they get.

Most speculate that they will pay for it via levying fines more widely/automatically when people water their lawns during water restrictions. I know some jerks in my neighborhood that think restrictions don't apply to them, and have never been fined before, are very worried about it. lol

1 Like

I wonder what would be involved in putting a Flume compatible meter like this on my side of the SAWS meter or possibly getting them to leave me the old meter?

Mechanically it wouldn't take much. Not sure if there is a code consideration in adding an additional meter downstream of the official one (wouldn't think so though...).

Of course if you are going to add things, you could just add a proper electronic flow meter, too., and remove flume from the equation altogether :wink:

Since I'm a LoRaWAN kind of guy, if I wanted to go that route I would do this for $67 (or something like it - there are other options):

2 Likes

Hi,
I just added Flume2 to my house and initially it started working with the custom driver but after few minutes I see the commstatus: error and no more reporting.
The interesting part is that the Flume app is up to date with all the latest information.
Reboot of the hub did not help / fix anything.
In the logs I see error: status code: 429, reason phrase: Too Many Requests @ Line: 128
& error: Cannot invoke method getAt() on null object @ Line: 397
Any idea?

Screenshot 2022-10-18 171556

Hopefully @tomw will have some sage input on this. My input is generally parsley. :wink:

2 Likes

There's a limit of 120 API accesses per hour from Flume, which is a relatively low limit.

When you first set up the integration, it will make approximately 6 API accesses. Each refresh makes another 4 API accesses.

So, if you manually your Refresh a few times or have a 1 minute refresh interval, you'll get ahead of your 120 per hour pace pretty quickly and run out before your hour is up.

What do you have your refresh rate set to on the Hubitat virtual device page? I'd encourage you to dial that down to every 2 minutes (or longer) and then wait about an hour to see if it begins working again.

2 Likes

ok, this make sense. I had the refresh interval set for 1 minute - changed it now to 2 minutes and the connection now show as good. Thanks for that!
Now I set the data to be stored in InfluxDB to present it in Grapana but no values of any of the virtual device activities are coming up there :frowning:

Do you mean no attributes are showing up for this device or no attributes are showing up for any devices?

Most of the attributes for the Flume device are custom attributes. Do you have to do anything to make those show up in your InfluxDB setup? I have never used that before.

that may explain the issue - none of the attributes are showing in Grafana so far, I'll check what is being recorded in the DB itself.

after checking the InfluxDB logs, it does seems like no values are being send to the database other than the Presence (?) and Dry/wet variable - All are info messages:
handleEvent(): House Water Monitor(water:null) dry
handleEvent(): House Water Monitor(presence:null) present
softPoll(): Softpolling device House Water Monitor for attribute: water

Any way to make the attributes binary so they will be exported and stored in the DB?
It was great if it would have been possible to export the flowStatus and usageLastMinute & hour to build my own water charts in the Grafana dashboard.

An example of another device which is reporting its data to influxDB (Thermostat in this case):
handleEvent(): Hallway Thermostat(heatingSetpoint:null) 68
softPoll(): Softpolling device Hallway Thermostat for attribute: heatingSetpoint
handleEvent(): Hallway Thermostat(temperature:Β°F) 70.4
softPoll(): Softpolling device Hallway Thermostat for attribute: temperature

There really aren't built in attributes to support everything I did as custom ones. Is there a way to log custom attributes in InfluxDB? I'd be surprised if that wasn't an option somehow.

He already replied but I can’t help myself.

Just give it thyme.

image

3 Likes

Any way to optimize the API calls per refresh to one?

There's not really a way to optimize it further without losing info from attributes supported by the integration.

The best I could see was maybe to remove 1 API access (out of 4) from each refresh, which would require removing the home/away status info. Some people might use this for automation or even presence indication, though, so I'm reluctant to do that.

What are you trying to do that requires further optimization? Keep in mind that the Flume sensor data itself isn't particularly responsive even though it is very accurate once updated, so spinning on Refresh at a high rate doesn't really give any more responsive data.

2 Likes

I was thinking that each poll to the API gives a number, and the quicker I can poll that number the more accuracy I'll gain in my hubitat logging over time. But if the resolution is only so-much as provided by the flume API, maybe it doesn't matter then?

The measurement is very accurate, but it doesn't update very often no matter how fast you poll using the API. So, I don't personally see much benefit from refreshing more than a few times per minute.

3 Likes

Got it, thanks for that!

Another question on tiles. I used attribute tiles to show me the last min, hour, and day of water usage. However, it's a bit of a waste of space honestly. On the Neurio driver they were able to use an "html" attribute to let us make a custom tile (although I haven't figured it out yet, but others have). Is there something like that possible in a future update of this?

I would recommend looking at one of my other drivers like the children from the Unifi Network or Blink (I think) to copy over the Tile Template method. It is a replacement/update I made to the original mircolino method (who is not on Hubitat anymore).

@tomw and I seem to have way too many cross over points. :smile:

2 Likes