ECOWITT Wittboy - how to use hourly rain rate properly?

Hi dear community,
for about a year I am using an ECOWITT Wittboy with the integrated piezo and an external WH40 rain gauge.
I am using the core integration but I don’t think my issue is because if the integration.
From what I found so far is that the calculation for the “hourly rain rate” is different than for the other “rain rates”.
I really don’t like the term “rate” in this context because a “rate” is usually a value “per something” for me, for example mm/hour.
So what I also see in my data is that the other “rates” like daily or monthly work like the HA utility integration where you set a point when it is reset it starts counting from 0 again.
But the “hourly rain rate” from ECOWITT is “for the last hour”. So every time I get a value transmitted from that sensor it is the amount of rain from “now - 60 minutes”.
This might be a nice information but building a graph from it is IMHO totally useless.
And considering the same naming scheme if find it problematic to use a different definition of how that measurement works.
What I want to do is show graphs for various time ranges with Grafana and for this I think it would be best to have an amount of rain in the least possible interval. So in connection with InfluxDB I used the yearly sensor for now and “non_negative_difference” for that sensor to get reasonable results.

What I want to ask, is my problem real or do I misinterpret the use?
How do you use the “hourly rain rate” and if you draw graphs which sensors do you use for that?

For now I am going to try some extra HA utility sensors based on the yearly because what I am also missing is a total sensor just increasing to infinity like other integrations have, the yearly will be reset each year.

My Ecowitt rain rate is the estimated mm/hour based on current rainfall.

I wonder if there is a setting you can change?

I don’t think I would trust this as data I could plot as it varies quite a bit based on how heavy the rain is.

I know there is a “rain rate” which is acutally the rate “mm/hour”, but the hourly, monthly, and so on sensors are also named “rate”…

Ah ok. My GW1000 only has the mm/hour rain rate as native data. Possibly the rest is calculated by the integration?

No idea where it really comes from, in the web interface of ma GW2000 i see “rain …” and a “rain rate” all with proper units.
Maybe it comes from the underlying lib of the integration aioecowitt, here the source: https://github.com/home-assistant-libs/aioecowitt/blob/a93ffe5f6d8c990667b05041046858e5e1fa858a/aioecowitt/sensor.py#L88
There all the sensors and “… rain rate” but with sensor type “_COUNT_”…

But the naming does not change the function so…

My problem is that the data the integration gets from the gateway for hourly works different than all the others…

Here for example the sensors data in HA as of now:

What I expect of an “hourly” sensor is that it is 0 at the start of each hour, which it is obviously not at 3am…

Here a rain gauge of a different weather station I run where I had to create the sensors in HA my self because I just a get an increasing total value from the station:


This is based on the HA utility meter which resets at the beginning of each hour…

Sorry I couldn’t assist, but your implementation has inspired me to have a look at the utility meter, to do 15 min interval stats for my own gauge. Thanks…

As long as you base that on the yearly sensor or the total one, which does not exist for the piezo sensor as far as I can see, it’s all good :smiley:

any movement on this? Just got the same station and pretty much noticed that straight away when setting up some graphs

Don’t think aynthing changed, this is no a problem of the integration but comes from the GW firmware that way…

2 Likes

Heads up on this if you’re using influxdb you can resolve this simply by grouping:

SELECT last(value) FROM "mm" WHERE ("entity_id"::tag = 'hp2561ae_pro_v1_9_5_hourly_rain_rate') AND $timeFilter GROUP BY time(1h) fill(null)