gw1000 API

257 views
Skip to first unread message

Francesco

unread,
Oct 13, 2021, 1:14:27 PM10/13/21
to weewx-user
Good evening, I have a Walbeck Halley WH2650 with the WH32B indoor T/H/P sensor, the WS69 outdoor array and a WH57 lighting detector. I'm using weewx on a raspberry, sending data to Meteotemplate and a remote influxDb server+Grafana. At the moment I managed to get everything successfully working with a custom modified version of the Interceptor driver, but I was thinking to switch to the gw1000 api driver, in order to custom upload data to another external server (now I'm sending data to the local raspberry). I have two questions for those who are using it:
1. What happens if wifi drops or router reboots (I have scheduled a router reboot every night - a couple of minutes to complete the process -  to avoid issues with connection getting stuck - I'm using a usb sim card dongle) and the driver is unable to reach the wh2650? Will it crash /stop weewx (so that I have to manually restart it) or it will continue? (with the interceptor being a simple "sniffer" nothing bad happens).
2. Is the lightning_distance field treated correctly? What I mean is that while the units of the main station packet loop are imperial and stored as imperial in Weewx database (but shown and extracted as metric), the lightning_distance field provided by the WH57 is in kilometres (checked with the ecowitt app), causing a units' mismatch (it was one of the small modifications I had to made to the interceptor driver - it was thinking that lightning_distance was in miles, storing it directly to the database and giving a mismatched value)
Sorry for being a bit lenghty, thank you for any help you can offer 

vince

unread,
Oct 13, 2021, 1:36:20 PM10/13/21
to weewx-user
1. if you set loop_on_init = true at the top of weewx.conf the driver reacts gracefully

2. I'd trust Gary did the units part correctly :-)

When you test the driver you see what the hardware emits...

$ PYTHONPATH=/usr/share/weewx python3 -m user.gw1000 --test-driver
Using configuration file /etc/weewx/weewx.conf

Interrogating GW1000 at 192.168.1.129:45000

2021-10-13 10:32:47 PDT (1634146367): batteryStatus1: 0, batteryStatus2: 0, batteryStatus3: 0, batteryStatus4: 0, batteryStatus8: 0, dateTime: 1634146367, extraHumid1: 45, extraHumid2: 42, extraHumid3: 46, extraHumid4: 48, extraTemp1: 21.3, extraTemp2: 22.1, extraTemp3: 22.8, extraTemp4: 22.1, inHumidity: 45, inTemp: 22.5, outHumidity: 90, outTemp: 8.0, outTempBatteryStatus: 0, pressure: 1006.7, relbarometer: 1018.2, soilMoist1: 66, usUnits: 17, wh26_sig: 4, wh31_ch1_sig: 4, wh31_ch2_sig: 4, wh31_ch3_sig: 4, wh31_ch4_sig: 4, wh51_ch1_sig: 4

And when I query the db you can see the temperatures are in my desired US units after weewx did its thing...

$ echo "select dateTime,outTemp,inTemp,extraTemp1,extraTemp2,extraTemp3,extraTemp4 from archive limit 10;" | sqlite3 weewx.sdb
1633887900|52.25|70.16|68.54|73.4|71.24|69.8
1633888200|52.16|69.98|68.54|73.34|71.18|69.8
1633888500|52.304|69.908|68.612|73.22|71.06|69.728
1633888800|52.532|69.836|68.576|73.352|70.976|69.62
1633889100|52.748|69.98|68.54|73.352|70.88|69.62
1633889400|52.88|69.98|68.54|73.2971428571429|70.7771428571429|69.62
1633889700|52.88|69.98|68.54|73.256|70.7|69.62
1633890000|53.0|69.8|68.54|73.22|70.652|69.62
1633890300|53.24|69.8|68.504|73.22|70.52|69.62
1633890600|53.48|69.764|68.54|72.98|70.52|69.584

gjr80

unread,
Oct 13, 2021, 5:06:05 PM10/13/21
to weewx-user
1. As Vince says set loop_on_init = True. If the GW1000 driver loses connection to the GW1000 it will retry (by default) two more times before giving up. If loop_on_init is set True WeeWX will then wait 60 seconds before effectively restarting, thus kicking off the process again. I can't guarantee that a router reboot will see GW1000 connectivity restored, it should, but its possible it may not. Vince and others appear to have success in this regard, but at times WeeWX has been unable to find my GW1000 after a network outage. Certainly the GW1000 driver is slightly more fragile in this regard than the interceptor. If you try it and have issues post something here as there are other things we can try (eg increasing the GW1000 driver retry time).

2. Yes. The interceptor driver works fine with the GW1000, but does not natively support the WH57 lightning detector. When used with the GW1000 the interceptor driver emit loop packets in US customary units (ie distance in miles) as the usUnits field is set to 1. It sounds like whatever modifications have been made to your interceptor driver simply took the WH57 lightning distance value and blindly added it to the loop packet without checking the unit system used in the loop packet and converting as necessary.

The good thing about the GW1000 driver is that you can install the driver and run it directly without changing your existing WeeWX setup. Refer to the GW1000 driver readme, in particular step 5. If you don't like it, simply uninstall the driverit and your existing WeeWX install will be unchanged.

Gary

Francesco

unread,
Oct 14, 2021, 2:21:13 AM10/14/21
to weewx-user
Ok, perfect,  I will give the gw1000 a try and let you know. Thank you again for your help!

Francesco

unread,
Nov 27, 2022, 9:53:41 AM11/27/22
to weewx-user
After more than a year I'm trying to switch from the interceptor to the gw1000 driver (I bought a new, more stable router that doesn't need rebooting), but I'm having some issues (one small). Here is the output running the driver directly:
UV: 0, dateTime: 1669558961, dayRain: 0.0, daymaxwind: 9.2, inHumidity: 69, inTemp: 10.3, lightning_distance: None, lightning_last_det_time: None, lightning_strike_count: None, lightningcount: 0, luminosity: 2852.0, monthRain: 125.8, outHumidity: 74, outTemp: 7.7, pressure: 948.2, rain: None, rainRate: 0.0, relbarometer: 1020.3, stormRain: 0.0, usUnits: 17, uvradiation: 2.4, weekRain: 0.0, wh25_batt: 0, wh25_sig: 4, wh57_batt: 4, wh57_sig: 4, wh65_batt: 0, wh65_sig: 4, windDir: 65, windGust: 3.6, windSpeed: 1.4, yearRain: 752.4
The first (small one) is probabily due to the old weewx /Seasons skin version (4.5.1), pressure value is not shown on Seasons skin (N/A) (I could solve it by upgrading weewx or by editing the gw1000 field map, not a big issue).
The other one is that the WH2650 stops posting to Weather Underground (it is configured to post directly to WUnderground website through the API key). If I switch back to the interceptor driver, posting starts to work again. Could somehow the polling from the driver "block" Wunderground posting? Does anybody have the same issue / know how to fix it?
Thank you!

gjr80

unread,
Nov 27, 2022, 4:28:28 PM11/27/22
to weewx-user
On Monday, 28 November 2022 at 00:53:41 UTC+10 Francesco wrote:
After more than a year I'm trying to switch from the interceptor to the gw1000 driver (I bought a new, more stable router that doesn't need rebooting), but I'm having some issues (one small). Here is the output running the driver directly:
UV: 0, dateTime: 1669558961, dayRain: 0.0, daymaxwind: 9.2, inHumidity: 69, inTemp: 10.3, lightning_distance: None, lightning_last_det_time: None, lightning_strike_count: None, lightningcount: 0, luminosity: 2852.0, monthRain: 125.8, outHumidity: 74, outTemp: 7.7, pressure: 948.2, rain: None, rainRate: 0.0, relbarometer: 1020.3, stormRain: 0.0, usUnits: 17, uvradiation: 2.4, weekRain: 0.0, wh25_batt: 0, wh25_sig: 4, wh57_batt: 4, wh57_sig: 4, wh65_batt: 0, wh65_sig: 4, windDir: 65, windGust: 3.6, windSpeed: 1.4, yearRain: 752.4
The first (small one) is probabily due to the old weewx /Seasons skin version (4.5.1), pressure value is not shown on Seasons skin (N/A) (I could solve it by upgrading weewx or by editing the gw1000 field map, not a big issue).

When you say 'pressure value is not shown on Seasons skin (N/A)' I assume you mean that 'Barometer' is showing as N/A (you need to be careful with terminology; WeeWX uses three different pressure fields - pressure, barometer and altimeter - the Seasons skin out of the box displays only one of these, barometer). This is likely nothing to do with the Seasons skin but rather something is causing WeeWX to not calculate barometer. The GW1000 driver obtains two pressure values from your station, one is the station pressure and the other is a simplified altitude corrected pressure that approximates barometric pressure. By default the GW1000 passes through the station pressure as WeeWX field pressure allowing WeeWX to calculate barometer using a more sophisticated algorithm. Based on the output you provided the driver and station seem to be working correctly. The next step in troubleshooting is to provide a debug startup log. Do this by editing weewx.conf and setting debug = 1. Save weewx.conf and restart WeeWX. Then take an extract from the WeeWX log showing the full WeeWX startup. Post the unedited log extract back here.

Also run WeeWX directly, this will display loop packets and archive records to the console. Take a text capture of a few minutes minutes of this output and post it here.
 
The other one is that the WH2650 stops posting to Weather Underground (it is configured to post directly to WUnderground website through the API key). If I switch back to the interceptor driver, posting starts to work again. Could somehow the polling from the driver "block" Wunderground posting? Does anybody have the same issue / know how to fix it?

I am not aware of the GW1000 driver causing any issues with Ecowitt gateway devices publishing to WU (or any other service for that matter). Let's see what the log extract shows in terms of your WeeWX config. You could also post the [Interceptor] stanza from weewx.conf.

Gary

Francesco

unread,
Nov 28, 2022, 1:13:46 PM11/28/22
to weewx-user
When you say 'pressure value is not shown on Seasons skin (N/A)' I assume you mean that 'Barometer' is showing as N/A (you need to be careful with terminology; WeeWX uses three different pressure fields - pressure, barometer and altimeter - the Seasons skin out of the box displays only one of these, barometer). This is likely nothing to do with the Seasons skin but rather something is causing WeeWX to not calculate barometer. The GW1000 driver obtains two pressure values from your station, one is the station pressure and the other is a simplified altitude corrected pressure that approximates barometric pressure. By default the GW1000 passes through the station pressure as WeeWX field pressure allowing WeeWX to calculate barometer using a more sophisticated algorithm. Based on the output you provided the driver and station seem to be working correctly. The next step in troubleshooting is to provide a debug startup log. Do this by editing weewx.conf and setting debug = 1. Save weewx.conf and restart WeeWX. Then take an extract from the WeeWX log showing the full WeeWX startup. Post the unedited log extract back here.
Yes, sorry I meant barometer: here is an extract of weewx log with debug = 1:
Nov 28 15:06:53 frazeropi weewx[3191]: Starting weewx weather system: weewx.
Nov 28 15:06:53 frazeropi systemd[1]: Started LSB: weewx weather system.
Nov 28 15:06:54 frazeropi weewx[3206] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Nov 28 15:06:54 frazeropi weewx[3206] INFO __main__: Debug is 1
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG __main__: Initializing engine
Nov 28 15:06:54 frazeropi weewx[3206] INFO weewx.engine: Loading station type GW1000 (user.gw1000)
Nov 28 15:06:54 frazeropi weewx[3206] INFO user.gw1000: GatewayDriver: version is 0.5.0b5
Nov 28 15:06:54 frazeropi weewx[3206] INFO user.gw1000: GatewayDriver: WH2650 address is 192.168.8.55:45000
Nov 28 15:06:54 frazeropi weewx[3206] INFO user.gw1000: GatewayDriver: poll interval is 20 seconds
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG user.gw1000: GatewayDriver: max tries is 3, retry wait time is 10 seconds
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG user.gw1000: GatewayDriver: broadcast address is 255.255.255.255:46000, broadcast timeout is 5 seconds
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG user.gw1000: GatewayDriver: socket timeout is 2 seconds
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG user.gw1000: GatewayDriver: field map is {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 'daymaxwind': 'daymaxwind', 'dayRain': 't_rainday', 'dewpoint': 'dewpoint', 'extraHumid1': 'humid1', 'extraHumid2': 'humid2', 'extraHumid3': 'humid3', 'extraHumid4': 'humid4', 'extraHumid5': 'humid5', 'extraHumid6': 'humid6', 'extraHumid7': 'humid7', 'extraHumid8': 'humid8', 'extraHumid17': 'humid17', 'extraTemp1': 'temp1', 'extraTemp2': 'temp2', 'extraTemp3': 'temp3', 'extraTemp4': 'temp4', 'extraTemp5': 'temp5', 'extraTemp6': 'temp6', 'extraTemp7': 'temp7', 'extraTemp8': 'temp8', 'extraTemp9': 'temp9', 'extraTemp10': 'temp10', 'extraTemp11': 'temp11', 'extraTemp12': 'temp12', 'extraTemp13': 'temp13', 'extraTemp14': 'temp14', 'extraTemp15': 'temp15', 'extraTemp16': 'temp16', 'extraTemp17': 'temp17', 'heatindex': 'heatindex', 'inHumidity': 'inhumid', 'inTemp': 'intemp', 'leafWet1': 'leafwet1', 'leafWet2': 'leafwet2', 'leafWet3': 'leafwet3', 'leafWet4': 'leafwet4', 'leafWet5': 'leafwet5', 'leafWet6': 'leafwet6', 'leafWet7': 'leafwet7', 'leafWet8': 'leafwet8', 'leak1': 'leak1', 'leak2': 'leak2', 'leak3': 'leak3', 'leak4': 'leak4', 'lightning_distance': 'lightningdist', 'lightning_last_det_time': 'lightningdettime', 'lightning_strike_count': 'lightning_strike_count', 'lightningcount': 'lightningcount', 'luminosity': 'light', 'monthRain': 't_rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', 'p_dayRain': 'p_rainday', 'p_monthRain': 'p_rainmonth', 'p_rain': 'p_rain', 'p_rainRate': 'p_rainrate', 'p_stormRain': 'p_rainevent', 'p_weekRain': 'p_rainweek', 'p_yearRain': 'p_rainyear', 'pm2_5': 'pm251', 'pm2_51_24h_avg': 'pm251_24h_avg', 'pm2_52': 'pm252', 'pm2_52_24h_avg': 'pm252_24h_avg', 'pm2_53': 'pm253', 'pm2_53_24h_avg': 'pm253_24h_avg', 'pm2_54': 'pm254', 'pm2_54_24h_avg': 'pm254_24h_avg', 'pm2_55': 'pm255', 'pm2_55_24h_avg': 'pm255_24h_avg', 'pm10': 'pm10', 'pm10_24h_avg': 'pm10_24h_avg', 'pressure': 'absbarometer', 'rain': 't_rain', 'rainRate': 't_rainrate', 'relbarometer': 'relbarometer', 'soilMoist1': 'soilmoist1', 'soilMoist2': 'soilmoist2', 'soilMoist3': 'soilmoist3', 'soilMoist4': 'soilmoist4', 'soilMoist5': 'soilmoist5', 'soilMoist6': 'soilmoist6', 'soilMoist7': 'soilmoist7', 'soilMoist8': 'soilmoist8', 'soilMoist9': 'soilmoist9', 'soilMoist10': 'soilmoist10', 'soilMoist11': 'soilmoist11', 'soilMoist12': 'soilmoist12', 'soilMoist13': 'soilmoist13', 'soilMoist14': 'soilmoist14', 'soilMoist15': 'soilmoist15', 'soilMoist16': 'soilmoist16', 'soilTemp1': 'soiltemp1', 'soilTemp2': 'soiltemp2', 'soilTemp3': 'soiltemp3', 'soilTemp4': 'soiltemp4', 'soilTemp5': 'soiltemp5', 'soilTemp6': 'soiltemp6', 'soilTemp7': 'soiltemp7', 'soilTemp8': 'soiltemp8', 'soilTemp9': 'soiltemp9', 'soilTemp10': 'soiltemp10', 'soilTemp11': 'soiltemp11', 'soilTemp12': 'soiltemp12', 'soilTemp13': 'soiltemp13', 'soilTemp14': 'soiltemp14', 'soilTemp15': 'soiltemp15', 'soilTemp16': 'soiltemp16', 'stormRain': 't_rainevent', 'totalRain': 't_raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 't_rainweek', 'wh24_batt': 'wh24_batt', 'wh24_sig': 'wh24_sig', 'wh25_batt': 'wh25_batt', 'wh25_sig': 'wh25_sig', 'wh26_batt': 'wh26_batt', 'wh26_sig': 'wh26_sig', 'wh31_ch1_batt': 'wh31_ch1_batt', 'wh31_ch1_sig': 'wh31_ch1_sig', 'wh31_ch2_batt': 'wh31_ch2_batt', 'wh31_ch2_sig': 'wh31_ch2_sig', 'wh31_ch3_batt': 'wh31_ch3_batt', 'wh31_ch3_sig': 'wh31_ch3_sig', 'wh31_ch4_batt': 'wh31_ch4_batt', 'wh31_ch4_sig': 'wh31_ch4_sig', 'wh31_ch5_batt': 'wh31_ch5_batt', 'wh31_ch5_sig': 'wh31_ch5_sig', 'wh31_ch6_batt': 'wh31_ch6_batt', 'wh31_ch6_sig': 'wh31_ch6_sig', 'wh31_ch7_batt': 'wh31_ch7_batt', 'wh31_ch7_sig': 'wh31_ch7_sig', 'wh31_ch8_batt': 'wh31_ch8_batt', 'wh31_ch8_sig': 'wh31_ch8_sig', 'wh32_batt': 'wh32_batt', 'wh32_sig': 'wh32_sig', 'wh40_batt': 'wh40_batt', 'wh40_sig': 'wh40_sig', 'wh41_ch1_batt': 'wh41_ch1_batt', 'wh41_ch1_sig': 'wh41_ch1_sig', 'wh41_ch2_batt': 'wh41_ch2_batt', 'wh41_ch2_sig': 'wh41_ch2_sig', 'wh41_ch3_batt': 'wh41_ch3_batt', 'wh41_ch3_sig': 'wh41_ch3_sig', 'wh41_ch4_batt': 'wh41_ch4_batt', 'wh41_ch4_sig': 'wh41_ch4_sig', 'wh45_batt': 'wh45_batt', 'wh45_sig': 'wh45_sig', 'wh51_ch1_batt': 'wh51_ch1_batt', 'wh51_ch1_sig': 'wh51_ch1_sig', 'wh51_ch2_batt': 'wh51_ch2_batt', 'wh51_ch2_sig': 'wh51_ch2_sig', 'wh51_ch3_batt': 'wh51_ch3_batt', 'wh51_ch3_sig': 'wh51_ch3_sig', 'wh51_ch4_batt': 'wh51_ch4_batt', 'wh51_ch4_sig': 'wh51_ch4_sig', 'wh51_ch5_batt': 'wh51_ch5_batt', 'wh51_ch5_sig': 'wh51_ch5_sig', 'wh51_ch6_batt': 'wh51_ch6_batt', 'wh51_ch6_sig': 'wh51_ch6_sig', 'wh51_ch7_batt': 'wh51_ch7_batt', 'wh51_ch7_sig': 'wh51_ch7_sig', 'wh51_ch8_batt': 'wh51_ch8_batt', 'wh51_ch8_sig': 'wh51_ch8_sig', 'wh51_ch9_batt': 'wh51_ch9_batt', 'wh51_ch9_sig': 'wh51_ch9_sig', 'wh51_ch10_batt': 'wh51_ch10_batt', 'wh51_ch10_sig': 'wh51_ch10_sig', 'wh51_ch11_batt': 'wh51_ch11_batt', 'wh51_ch11_sig': 'wh51_ch11_sig', 'wh51_ch12_batt': 'wh51_ch12_batt', 'wh51_ch12_sig': 'wh51_ch12_sig', 'wh51_ch13_batt': 'wh51_ch13_batt', 'wh51_ch13_sig': 'wh51_ch13_sig', 'wh51_ch14_batt': 'wh51_ch14_batt', 'wh51_ch14_sig': 'wh51_ch14_sig', 'wh51_ch15_batt': 'wh51_ch15_batt', 'wh51_ch15_sig': 'wh51_ch15_sig', 'wh51_ch16_batt': 'wh51_ch16_batt', 'wh51_ch16_sig': 'wh51_ch16_sig', 'wh55_ch1_batt': 'wh55_ch1_batt', 'wh55_ch1_sig': 'wh55_ch1_sig', 'wh55_ch2_batt': 'wh55_ch2_batt', 'wh55_ch2_sig': 'wh55_ch2_sig', 'wh55_ch3_batt': 'wh55_ch3_batt', 'wh55_ch3_sig': 'wh55_ch3_sig', 'wh55_ch4_batt': 'wh55_ch4_batt', 'wh55_ch4_sig': 'wh55_ch4_sig', 'wh57_batt': 'wh57_batt', 'wh57_sig': 'wh57_sig', 'wh65_batt': 'wh65_batt', 'wh65_sig': 'wh65_sig', 'wh68_batt': 'wh68_batt', 'wh68_sig': 'wh68_sig', 'windchill': 'windchill', 'windDir': 'winddir', 'windGust': 'gustspeed', 'windSpeed': 'windspeed', 'wn34_ch1_batt': 'wn34_ch1_batt', 'wn34_ch1_sig': 'wn34_ch1_sig', 'wn34_ch2_batt': 'wn34_ch2_batt', 'wn34_ch2_sig': 'wn34_ch2_sig', 'wn34_ch3_batt': 'wn34_ch3_batt', 'wn34_ch3_sig': 'wn34_ch3_sig', 'wn34_ch4_batt': 'wn34_ch4_batt', 'wn34_ch4_sig': 'wn34_ch4_sig', 'wn34_ch5_batt': 'wn34_ch5_batt', 'wn34_ch5_sig': 'wn34_ch5_sig', 'wn34_ch6_batt': 'wn34_ch6_batt', 'wn34_ch6_sig': 'wn34_ch6_sig', 'wn34_ch7_batt': 'wn34_ch7_batt', 'wn34_ch7_sig': 'wn34_ch7_sig', 'wn34_ch8_batt': 'wn34_ch8_batt', 'wn34_ch8_sig': 'wn34_ch8_sig', 'wn35_ch1_batt': 'wn35_ch1_batt', 'wn35_ch1_sig': 'wn35_ch1_sig', 'wn35_ch2_batt': 'wn35_ch2_batt', 'wn35_ch2_sig': 'wn35_ch2_sig', 'wn35_ch3_batt': 'wn35_ch3_batt', 'wn35_ch3_sig': 'wn35_ch3_sig', 'wn35_ch4_batt': 'wn35_ch4_batt', 'wn35_ch4_sig': 'wn35_ch4_sig', 'wn35_ch5_batt': 'wn35_ch5_batt', 'wn35_ch5_sig': 'wn35_ch5_sig', 'wn35_ch6_batt': 'wn35_ch6_batt', 'wn35_ch6_sig': 'wn35_ch6_sig', 'wn35_ch7_batt': 'wn35_ch7_batt', 'wn35_ch7_sig': 'wn35_ch7_sig', 'wn35_ch8_batt': 'wn35_ch8_batt', 'wn35_ch8_sig': 'wn35_ch8_sig', 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 'ws90_batt': 'ws90_batt', 'ws90_sig': 'ws90_sig', 'yearRain': 't_rainyear'}
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
Nov 28 15:06:54 frazeropi weewx[3206] INFO weewx.engine: StdConvert target unit is 0x1
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.manager: Daily summary version is 4.0
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdArchive
Nov 28 15:06:54 frazeropi weewx[3206] INFO weewx.engine: Archive will use data binding wx_binding
Nov 28 15:06:54 frazeropi weewx[3206] INFO weewx.engine: Record generation will be attempted in 'software'
Nov 28 15:06:54 frazeropi weewx[3206] INFO weewx.engine: Using archive interval of 300 seconds (software record generation)
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
Nov 28 15:06:54 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: StationRegistry: Station will be registered.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdWunderground
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: Wunderground: Posting not enabled.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: PWSweather: Posting not enabled.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdCWOP
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: CWOP: Posting not enabled.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdWOW
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: WOW: Posting not enabled.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.restx: AWEKAS: Posting not enabled.
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service user.meteotemplate.Meteotemplate
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.meteotemplate: service version is 0.10
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.meteotemplate: Data will be uploaded to https://xxxxxxxxxxxxxxxxxxx/template/api.php
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service user.meteotemplate.Meteotemplate
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service user.influx.Influx
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: service version is 0.15
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: database is weather_fratticiola
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: desired unit system is METRIC
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: tags None
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: binding is archive
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.manager: Daily summary version is 4.0
Nov 28 15:06:55 frazeropi weewx[3206] INFO user.influx: Data will be uploaded to http://x.x.x.x:8086
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service user.influx.Influx
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdPrint
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Loading service weewx.engine.StdReport
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
Nov 28 15:06:55 frazeropi weewx[3206] INFO __main__: Starting up weewx version 4.5.1
Nov 28 15:06:55 frazeropi weewx[3206] DEBUG weewx.engine: Station does not support reading the time
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.manager: Starting backfill of daily summaries
Nov 28 15:06:55 frazeropi weewx[3206] INFO weewx.manager: Daily summaries up to date
Nov 28 15:06:56 frazeropi weewx[3206] INFO weewx.engine: Starting main packet loop.
Nov 28 15:06:56 frazeropi weewx[3206] INFO user.gw1000: Using 't_rainyear' for rain total
Nov 28 15:06:56 frazeropi weewx[3206] INFO user.gw1000: skipping rain measurement of 752.4: no last rain
Nov 28 15:06:56 frazeropi weewx[3206] INFO user.gw1000: Skipping lightning count of 0: no last count
Nov 28 15:06:56 frazeropi weewx[3206] DEBUG weewx.manager: Daily summary version is 4.0
Nov 28 15:07:14 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:07:35 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:07:55 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:08:15 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:08:35 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:08:55 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds
Nov 28 15:09:16 frazeropi weewx[3206] DEBUG user.gw1000: Next update in 20 seconds


Also run WeeWX directly, this will display loop packets and archive records to the console. Take a text capture of a few minutes minutes of this output and post it here.

And here is the output:
LOOP:   2022-11-28 15:03:57 CET (1669644237) altimeter:29.945237873440004, appTemp: 41.98302399538714, barometer:29.990568734724803, cloudbase: 3238.2254993770775, dateTime: 1669644237,
daymaxwind: 5.6, dayRain: 0.0, dewpoint: 39.626318595985296, heatindex:42.812, humidex: 44.78, inDewpoint: 38.82893049411446, inHumidity: 68,inTemp: 48.92, lightningcount: 0, lightning_distance: None,
lightning_last_det_time: None, lightning_strike_count: None, luminosity:4774.0, maxSolarRad: 121.48420444355837, monthRain: 4.952755905511811,outHumidity: 82, outTemp: 44.78, pressure: 27.77295324375,
 radiation:37.67955801104972, rain: None, rainRate: 0.0, relbarometer: 1012.8,stormRain: 0.0, usUnits: 1, UV: 0, uvradiation: 3.9, weekRain: 0.0,wh25_batt: 0, wh25_sig: 4, wh57_batt: 4, wh57_sig: 4,
 wh65_batt: 0,wh65_sig: 4, windchill: 44.78, windDir: 106, windGust:1.1184709259696521, windSpeed: 0.8947767407757218, yearRain:29.62204724409449

After this I've checked better weewx.conf and I noticed that in section [StdWXCalculate] [[Calculations]] these entries:
   pressure = software
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware
I changed "barometer" to "software" and now everything is working as expected (i.e. barometer field is correctly saved to database - no null values)
I am not aware of the GW1000 driver causing any issues with Ecowitt gateway devices publishing to WU (or any other service for that matter). Let's see what the log extract shows in terms of your WeeWX
As a matter of fact it's now working again, after editing some router settings (or maybe there was some issue with Wunderground yesterday)
Thank you very much for your time.
Francesco

gjr80

unread,
Nov 28, 2022, 10:32:43 PM11/28/22
to weewx-user
After this I've checked better weewx.conf and I noticed that in section [StdWXCalculate] [[Calculations]] these entries:
   pressure = software
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware
I changed "barometer" to "software" and now everything is working as expected (i.e. barometer field is correctly saved to database - no null values)

Yes, barometer = hardware will cause WeeWX to only accept barometer from the driver and if the driver does not supply barometer WeeWX will not calculate it. You might want to to consider changing the setting to barometer = prefer_hardware, this will give you the same end result but has the advantage of using the value from the driver if available and if not available WeeWX will calculate it (can be useful should you change your system in the future).

Gary
Reply all
Reply to author
Forward
0 new messages