No Rain data used

339 views
Skip to first unread message

Christian H.

unread,
Jan 13, 2023, 1:48:48 AM1/13/23
to weewx-user
Hello at all!
sorry for my english
I have a gw2000 in combination with a ws90
Weewx works fine. i use the user.gw1000 plugin to address the station.
Database is sqlite. I think about using mysql
I get all the data. But the rain data is not processed. I don't see them in the records, not in NOAA and not on the home page.

Which skin I use does not matter. Database is a sqlite.
I only know weewx for a week, so I don't know what else you need to help me.

Here is the driver test. Rain data is there.
[weewx bin]# python3 -m user.gw1000 --test-driver
Using configuration file /home/weewx/weewx.conf

Interrogating GW2000 at 192.168.178.37:45000

2023-01-13 07:41:39 CET (1673592099): 'dateTime': '1673592099', 'daymaxwind': '4.7', 'inHumidity': '50', 'inTemp': '17.9', 'luminosity': '0.0', 'outHumidity': '78', 'outTemp': '7.8', 'p_dayRain': '0.6', 'p_monthRain': '19.7', 'p_rain': 'None', 'p_rainRate': '0.0', 'p_stormRain': '16.1', 'p_weekRain': '17.8', 'p_yearRain': '19.7', 'pressure': '990.9', 'relbarometer': '990.9', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'windDir': '171', 'windGust': '2.2', 'windSpeed': '1.3', 'ws90_batt': '3.06', 'ws90_sig': '4'


I installed weewx  4.9.1 from  tar.gz under /home/weewx/

regards, Christian

gjr80

unread,
Jan 14, 2023, 4:30:45 AM1/14/23
to weewx-user
From what you post it looks like everything is working as it should, you just need to tell WeeWX to use the WS90 rain data. There are a couple of different ways to do this, which approach you use will depend on your preference and future weather station plans. 

First a little background. Before the GW2000/WS90 were released the Ecowitt gateway devices provided rain data from traditional tipping style rain gauges only and the (then) GW1000 driver mapped this rain data to the standard WeeWX rain fields rain and rainRate. Everything worked fine out of the box. The WS90 uses a piezo sensor to detect rainfall and when Ecowitt released the GW2000/WS90 the Ecowitt gateway devices were updated to simultaneously receive/provide both the traditional tipping rain gauge data and the WS90 piezo rain data. The GW1000 driver acts similarly and provides both the traditional tipping rain gauge data as well as the piezo rain data. So as not to break existing users installs, the default GW1000 driver action is to map the traditional tipping rain gauge data to the standard WeeWX rain related fields and the piezo rain data is passed through and is available for the user to map to these or other WeeWX fields as the user sees fit. Unfortunately, this means that WS90 users need to take further action is they wish WeeWX to record/report piezo rain data. 

There are two approaches you can take. The first approach is to just map the driver p_rain and p_rainRate fields to WeeWX fields rain and rainRate respectively. This approach is the simplest to implement and is appropriate if you have no other rain gauge on your Ecowitt station. The mapping change is effected by modifying [GW1000] stanza in weewx.conf through adding a [[field_map_extensions]] stanza as follows:

[GW1000]
    ....
    [[field_map_extensions]]
        rain = p_rain
        rainRate = p_rainRate

Simply save weewx.conf and restart WeeWX. There should be no need to for changes to your database or skins/reports; WeeWX will automatically save the piezo rain data to database and include the same data in reports.

The second approach is to optionally map the piezo rain fields to new WeeWX fields (eg rain2 and rainRate2). Whether mapped to different fields or left as p_rain and p_rainRate, the fields used would need to be added to the WeeWX database and any skins/reports modified to use these new fields. This approach is more complex and time consuming to setup but is necessary if there are both traditional tipping and piezo rain gauges in your Ecowitt system. I would not recommend it in your case.

You also mention potentially using MySQL in the future. My advice is that unless you have specific reasons for changing stick with SQLite; you will notice little if any speed improvements, will have more complex database backup and restore processes and you will have added database management overhead.

Gary

Christian H.

unread,
Jan 14, 2023, 9:37:07 AM1/14/23
to weewx-user
Hello Gary thank you for your detailed help and further information.
With the adjustments in the weewx.conf I also got further.
unfortunately I still have a problem with the units.
The GW200 says now for today: Rain 5.0mm
Weewx says 0.04cm. I would not care about the rounding error. But there is a 0 too much. I have already looked in the skin and in the Weewx.conf, but got no idea where the error could be.

Do you have another idea for me?

Christian

if it sounds too formal, i use deepl for translation

gjr80

unread,
Jan 14, 2023, 6:26:55 PM1/14/23
to weewx-user
Has WeeWX been obtaining data from the GW2000 for the entire day or just a partial day? WeeWX does not record and display the day/month/year rainfall totals provided by the GW2000,  rather the driver calculates the difference between successive values of one of these cumulative values and records the rain that has fallen during the period concerned. this gives a per-period rainfall value. WeeWX then sums these per-period values for the current day to display the day rainfall total. So if WeeWX has only been receiving data since, say midday, and it rained at 9am then the day total shown by WeeWX will be low.

If WeeWX has been recording data for the full day then there may be a problem that requires further investigation.

Gary

Christian H.

unread,
Jan 15, 2023, 11:23:36 AM1/15/23
to weewx-user
Hello Gary

Now it gets complicated for me.
I just saw that the GW2000 offers different "Rainfall Data Priority":
"Piezoelectric Rain Gauge", "Traditional Rain Gauge" and "No Rain Gauge".

I could reset the data on the Gw2000 and clear the database from weewx and then watch for the next few days. The few days of data loss wouldn't matter. The weather station has only been hanging in its final location since Thursday.
Attached are two pictures.

ChristianBildschirmfoto 2023-01-15 um 17.19.58.pngBildschirmfoto 2023-01-15 um 17.20.23.png

gjr80

unread,
Jan 15, 2023, 5:53:07 PM1/15/23
to weewx-user
Yes the GW2000 (and for that matter any Ecowitt gateway device that supports the WS90) allows the user to select whether traditional or piezo rain takes precedence. This setting determines which rainfall data (traditional or piezo) is displayed in the WSView Plus app as well as being sent to external services. This setting has no affect at all in the WeeWX Ecowitt gateway driver. The driver obtains both sets of rainfall data (traditional and piezo) provided they exist and forwards them through to WeeWX. If there is no traditional rainfall data then of course it is not forwarded through. As I explained in my previous post the default is for the traditional rainfall data to be mapped to the standard WeeWX rainfall fields (ie rain and rainRate). If you wish to have WeeWX place the piezo rainfall data in these fields then you need to extend the field map as I explained earlier. As far as the driver is concerned it does not matter what the rainfall priority setting is in the GW2000; in effect you can think of the field map extensions as being the driver equivalent of the Ecowitt rainfall priority setting.

I am not sure what the images you provide are displaying, were they both at the same time on 15 January? Was WeeWX/Ecowitt gateway driver running continuously since midnight on that day? What units/unit setting are in place for the NOAA format report? 

To track down a units issue you need to follow the data from the GW2000 through the driver and onto WeeWX. What happens when you run WeeWX directly? Try running WeeWX directly (ideally when raining but that is not necessary) and then post a good 15 minutes of console output here. This will display the loop packet (lines starting with LOOP:) and archive record (lines starting with REC:) data on the screen. Loop packets are the data obtained from the GW2000 by the driver. Archive records are the accumulation of this loop data for the archive period concerned. In terms of rainfall this will be the sum of the rainfall dat ain the loop pockets covering the archive period. Are the values on screen consistent with the GW2000 data displayed via the WSView Plus app? The units do not need to be the same but they need to be consistent.

Gary

Christian H.

unread,
Jan 22, 2023, 9:20:43 AM1/22/23
to weewx-user
Hey Gary

I have not forgotten this. Currently I have but snow and no rain. I will in February all data reset,then I hopefully come to data that are resilient to compare.

Christian

Christian H.

unread,
Feb 7, 2023, 7:15:53 AM2/7/23
to weewx-user

Here I am again.

I suddenly got no data at all, so I reinstalled weewx and reset the gw2000 data.

Current status is that weewx does not show any rain data, and the data I see in the console does not match the data the gw2000 shows me. I am attaching everything I have.

I removed Station Data from weewx.conf.

I hope for a small stupid configuration error that I just do not see

Christian



weewx@weewx:~/bin$ python -m user.gw1000 --test-service

Using configuration file /home/weewx/weewx.conf

Interrogating GW2000 at 192.168.178.37:45000

LOOP:   2023-02-07 13:10:50 CET (1675771850) 'dateTime': '1675771850', 'daymaxwind': '6.0', 'dummyTemp': '96.3', 'inHumidity': '38', 'inTemp': '64.22', 'luminosity': '12780.0', 'outHumidity': '62', 'outTemp': '39.38', 'p_dayRain': '0.003937007874015749', 'p_monthRain': '0.03937007874015748', 'p_rain': 'None', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.03937007874015748', 'p_yearRain': '0.03937007874015748', 'pressure': '30.229848203750002', 'relbarometer': '1023.7', 'usUnits': '1', 'UV': '0', 'uvradiation': '0.0', 'windDir': '71', 'windGust': '6.710825555817913', 'windSpeed': '4.026495333490748', 'ws90_batt': '2.96', 'ws90_sig': '4'
LOOP:   2023-02-07 13:11:01 CET (1675771861) 'dateTime': '1675771861', 'dummyTemp': '96.3', 'usUnits':




Bildschirm­foto 2023-02-07 um 13.12.14.png
weewx.conf

Graham Eddy

unread,
Feb 7, 2023, 6:50:06 PM2/7/23
to WeeWX User
rain in LOOP packet (inches) equals rain in wsview app (mm)
⊣GE⊢

gjr80

unread,
Feb 8, 2023, 2:27:05 AM2/8/23
to weewx-user
Christian,

Let's take a few steps back and look at your overall setup. What weather stations do you have connected to WeeWX? The config file you attached shows you using the Ecowitt Gateway driver both as a driver and also as a service. Your first post indicates you have GW2000/WS90, if this is the only station you are connecting to WeeWX then you should be using the Ecowitt Gateway driver as a driver only and not as a service. If you do have another station then one station should be operated with a WeeWX driver and the other as a service (note that not all drivers can operate as a service as the Ecowitt Gateway driver does - this may limit which station operates with a driver and which operates with a service).

Assuming you only have the GW2000/WS90 then you should remove the user.gw1000.GatewayService from the data_services option under [Engine] [[Services]] in weewx.conf.

As for your rain data, I see nothing wrong in what you posted. WeeWX records rainfall on a per-interval basis rather than on a cumulative basis, that is the rainfall in a loop packet is the rainfall received since the last loop packet. The rainfall in an archive record is the total rainfall in the period covered by the archive record (this is normally the sum of the loop packets rainfall in the archive period). The Ecowitt devices do not provide such rainfall data, instead they provide a number of cumulative values, eg rainfall since midnight, rainfall this week, rainfall this month etc. The Ecowitt Gateway driver uses one of these cumulative rainfall fields and takes the difference in value between successive loop packets to calculate the loop packet 'rain' field. So when the first loop packet is received, there was no earlier loop packet to use in that difference calculation, so the rainfall is recorded as None - this is what you see for p_rain in the solitary test loop packet you provided. If you would have let the driver continue to run you would have seen subsequent loop packets have 0.0 as the p_rain value.

The other thing you need to do is as I said in my first post, you need to map the GW2000/WS90 p_rain field to the WeeWX rain field via a field map extension. The config file you posted does not have this mapping. Refer to my first post above. Once you do this (and restart WeeWX) you will see data appear in WeeWX field rain (and rainRate).

Remember, WeeWX calculates rainfall since midnight as the sum of the rainfall in each archive record since midnight, likewise for rainfall this week, this month and this year;  all are  based on the sum of the data WeeWX has received in the period concerned. WeeWX does not use the cumulative values from the Ecowitt device (other than for calculating the loop packet rainfall as outlined earlier). Consequently, if you start WeeWX running and only have data for part of a day/week/month/year then the WeeWX calculated rainfall values will likely not match the Ecowitt device displayed values. That is why I said in an earlier post you cannot compare WeeWX day rainfall values with that displayed on the device/app unless WeeWX has been receiving data continuously since midnight.

Christian H.

unread,
Feb 8, 2023, 9:59:28 AM2/8/23
to weewx-user

Hello Gary


Thank you for your patience. I just made the changes in the config. I had the mapping in mind, but had forgotten where it came from.And what exactly to do. I had not thought of the discussion here anymore. My fault.


Just now I deleted the rain measurement in the Ecowitt and made "rain with the garden hose (at 4°C)." And hooray: The data is correct: 13.8mm/hr and 2.3mm total.


Thank you very much!

I will save the current state and then start to adjust the skin according to my wishes.


Christian

Reply all
Reply to author
Forward
0 new messages