Configuring multiple ecowitt rain sensors

80 views
Skip to first unread message

vince

unread,
Sep 26, 2025, 12:50:07 PM9/26/25
to weewx-user
Everybody convinced me to add a tipping rain gauge to my piezo WS85 station...arrives today...

I'd like to figure out a reasonable way to have both piezo and tipping gauge sets of data saved in weewx so I can display them overlaid on graphs etc. for comparison and to help me 'try' to tune the piezo settings.

Since weewx only supports one rain sensor without doing hacks like reusing things like hail in the schema, I'm strongly leaning toward extending my ecowitt station schema with more rain-related fields to be able to support two rain sensors.

Looking for suggestions on what db elements might make sensor to add....

Currently the default weewx schema includes:
  • rain
  • rainRate
  • rainBatteryStatus
So I'm thinking of simply adding matching piezo elements:
  • p_rain
  • p_rainRate
  • p_rainBatteryStatus
That seem reasonable ?

Assuming so, I'd add columns to the db and assign them to the appropriate unit groups to match per the docs too (?)

Now to set the tipping sensor as the primary....

Since I only have the piezo sensor currently,  I have the following mapping to set the piezo sensor items from the driver as primary:
   [[field_map_extensions]]
        # use WS85 as primary wind/rain sensor
        rain = p_rain
        stormRain = p_rainevent
        rainRate = p_rainrate
        dayRain = p_rainday
        weekRain = p_rainweek
        monthRain = p_rainmonth
        yearRain = p_rainyear
        windBatteryStatus = ws85_batt

The driver seems to internally use t_xyz elements which I'm guessing is tipping_xyz notionally, so to change the map to set the WH40BH as the primary sensor, would I want to do something like the following ?

   [[field_map_extensions]]
        # use WH40BH as primary rain sensor
        rain = t_rain
        stormRain = t_rainevent
        rainRate = t_rainrate
        dayRain = t_rainday
        weekRain = t_rainweek
        monthRain = t_rainmonth
        yearRain = t_rainyear
        rainBatteryStatus = wh40_batt

        # use WS85 as secondary rain sensor
        p_rain = p_rain

        p_stormRain = p_rainevent
        p_rainRate = p_rainrate
        p_dayRain = p_rainday
        p_weekRain = p_rainweek
        p_monthRain = p_rainmonth
        p_yearRain = p_rainyear

        # still use WS85 for wind sensor battery status
        windBatteryStatus = ws85_batt

Does that seem like a reasonable approach ? 

I know the ecowitt gear has more signal status type elements available in the driver, but for the moment I'd just like to save and compare the two sensors rain and rain rate.

Make sense ?  Any suggestions ?

michael.k...@gmx.at

unread,
Sep 26, 2025, 1:28:39 PM9/26/25
to weewx-user
Just one question: when referring to "the driver": which one do you mean and which fork do you use?

Other than that: Looks like a reasonable approach. I'd always use the WH40 as primary rain sensor.

With my frankenstein version of the ecpwitt_http driver (installed from a fork of a later version of gary's repo and Werner's ecowitt_http.py manually copied) I only have

[[Corrections]]
        p_rainRate = p_rainrate   #<== this might be better in 
[[field_map_extensions]]

[Accumulator]
    [[p_rain]]
        extractor = sum
    [[p_rainrate]]
        extractor = max

in my weewx.conf. But I didn't add p_rainBatteryStatus to the database, nor am I aware that I am using any other than p_rain and p_rainRate.

The result looks like this, using the fuzzy-archer a.k.a. Bootstrap skin:

2025-09-26 19_26_26-weewx-data.png

steepleian

unread,
Sep 26, 2025, 1:44:52 PM9/26/25
to weewx...@googlegroups.com
Vince, that is exactly what I do. It is so much cleaner. I also add the dayRain, monthRain, yearRain etc. so you have all the cumulatives on a plate. 

On 26 Sep 2025, at 18:28, 'michael.k...@gmx.at' via weewx-user <weewx...@googlegroups.com> wrote:

Just one question: when referring to "the driver": which one do you mean and which fork do you use?

Other than that: Looks like a reasonable approach. I'd always use the WH40 as primary rain sensor.

With my frankenstein version of the ecpwitt_http driver (installed from a fork of a later version of gary's repo and Werner's ecowitt_http.py manually copied) I only have

[[Corrections]]
        p_rainRate = p_rainrate   #<== this might be better in 
[[field_map_extensions]]

[Accumulator]
    [[p_rain]]
        extractor = sum
    [[p_rainrate]]
        extractor = max

in my weewx.conf. But I didn't add p_rainBatteryStatus to the database, nor am I aware that I am using any other than p_rain and p_rainRate.

The result looks like this, using the fuzzy-archer a.k.a. Bootstrap skin:

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/weewx-user/dff83cdf-8ed8-47c7-a119-f6b638603029n%40googlegroups.com.
<2025-09-26 19_26_26-weewx-data.png>

steepleian

unread,
Sep 26, 2025, 1:49:59 PM9/26/25
to weewx...@googlegroups.com
So WH40 is your primary source for rain, dayRain etc and with a p_ prefix for your WS85. When I am near a computer I will send you my complete config setup.

On 26 Sep 2025, at 18:44, steepleian <steep...@btinternet.com> wrote:

Vince, that is exactly what I do. It is so much cleaner. I also add the dayRain, monthRain, yearRain etc. so you have all the cumulatives on a plate. 

vince

unread,
Sep 26, 2025, 2:09:33 PM9/26/25
to weewx-user
Yup.    Adding the columns was easy.  I didn't add day/month/year rain figuring weewx can handle that for me by default.  It was nice to see Gary already had the unit groups set up in the driver so all I did so far was add the columns (awaiting Amazon delivery).

Michael - I used the original gw1000 driver from Gary since it supports all my hardware.

michael.k...@gmx.at

unread,
Sep 26, 2025, 2:18:06 PM9/26/25
to weewx-user
I still use the gw1000 driver in my production environment. 
Other than adding p_rain and p_rainRate to the database, this is in weewx.conf (I think it came with installing the driver):

[Accumulator]
    [[p_rain]]
        extractor = sum
    [[p_stormRain]]
        extractor = last
    [[p_dayRain]]
        extractor = last
    [[p_weekRain]]
        extractor = last
    [[p_monthRain]]
        extractor = last
    [[p_yearRain]]
        extractor = last
Reply all
Reply to author
Forward
0 new messages