Not archiving Signal Quality (rxCheckPercent) data

194 views
Skip to first unread message

Erick Dorsett

unread,
Sep 23, 2019, 12:46:55 PM9/23/19
to weewx-user
I recently installed weewx on a Pi to use with my ancient Davis Vantage Pro.  In order to get the winds to report actual degrees instead of quantized to the cardinals, I had to set  "record_generation = software" in the weewx.conf file.  However, after I did that, the data point for signal quality (rxCheckPercent) is no longer archived in weewx.sdb.

I use rxCheckPercent data for a bunch of reasons.  How do I get it back?


Thomas Keffer

unread,
Sep 23, 2019, 5:47:02 PM9/23/19
to weewx-user
Sorry, but the value of rxCheckPercent comes only from the console, and then only in archive records (not LOOP packets). If you disable hardware record generation, you lose it.

It would be a nice feature to be able to pick and chose where each datum in the archive record comes from, but, unfortunately, that's not the way WeeWX works now.

-tk

On Mon, Sep 23, 2019 at 9:46 AM Erick Dorsett <erickd...@gmail.com> wrote:
I recently installed weewx on a Pi to use with my ancient Davis Vantage Pro.  In order to get the winds to report actual degrees instead of quantized to the cardinals, I had to set  "record_generation = software" in the weewx.conf file.  However, after I did that, the data point for signal quality (rxCheckPercent) is no longer archived in weewx.sdb.

I use rxCheckPercent data for a bunch of reasons.  How do I get it back?


--
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 on the web visit https://groups.google.com/d/msgid/weewx-user/e564d660-ec57-4887-a74b-a28969ebf374%40googlegroups.com.

Pat

unread,
Sep 25, 2019, 9:48:59 PM9/25/19
to weewx-user
I'm not sure how the Davis driver works, but with the Meteostick driver it's able to calculate rxCheckPercent based on number of RF packets received over a known interval and doing that math. Since I use the Meteostick driver for my Davis station, I'm set to software generation and I get the rxCheckPercent. I wonder if there's a way to incorporate this bit of code into a Davis driver fork? 

Could be a large project (which I'm not volunteering for) but thought I'd at least mention it and link to the code.


On Monday, September 23, 2019 at 5:47:02 PM UTC-4, Thomas Keffer wrote:
Sorry, but the value of rxCheckPercent comes only from the console, and then only in archive records (not LOOP packets). If you disable hardware record generation, you lose it.

It would be a nice feature to be able to pick and chose where each datum in the archive record comes from, but, unfortunately, that's not the way WeeWX works now.

-tk

On Mon, Sep 23, 2019 at 9:46 AM Erick Dorsett <erickd...@gmail.com> wrote:
I recently installed weewx on a Pi to use with my ancient Davis Vantage Pro.  In order to get the winds to report actual degrees instead of quantized to the cardinals, I had to set  "record_generation = software" in the weewx.conf file.  However, after I did that, the data point for signal quality (rxCheckPercent) is no longer archived in weewx.sdb.

I use rxCheckPercent data for a bunch of reasons.  How do I get it back?


--
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...@googlegroups.com.

Thomas Keffer

unread,
Sep 25, 2019, 10:02:27 PM9/25/19
to weewx-user
Looking through the Meteostick driver, it seems to emit rxCheckPercent data on a running basis in its LOOP packets (not archive packets). These would then get stored in the WeeWX accumulators, then extracted as part of the software record generation.

That is certainly a reasonable approach:  modify the Vantage driver to keep track of dropped packets, and emit the results in the LOOP packets.

I'm not going to do it, but, as always, pull requests are welcome! :-)

-tk



To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/09aa1d9c-1e40-4dbd-bcb0-9e4184ecd255%40googlegroups.com.

Erick Dorsett

unread,
Oct 21, 2019, 6:24:45 PM10/21/19
to weewx-user

I have found a semi-acceptable solution:  I created a separate weewx.conf file ("dump.conf") that contains "record_generation = hardware" along with a separate SQLite database name to dump into.  I then invoke both with  "wee_device dump.conf --dump".  That spits out the sought after rxCheckPercent data into its own .sdb, which I can then data mine.  The Davis datalogger apparently keeps its own archive records independent of what weewx writes into my SQLite database. 

I say semi-acceptable because I can only retrieve the last 8 days worth of data at any one time based on my archive interval, and because the --dump routine constantly times out.  Sometimes I get hundreds of records before it quits, sometime none, and thus it takes many, many, MANY tries to get the whole log.  I have played with the various timeout interval and retry parameters, but have not yet found the magic combo. 

I am doing this with ssh into a headless Pi that uses a cheap USB-serial adapter between itself and the Davis.  I have not ruled out the possibility that my spartan setup makes me deserving of all the unwanted timeouts.

Pat

unread,
Oct 27, 2019, 6:30:55 PM10/27/19
to weewx-user
I recently picked up a 2nd hand Weatherlink IP for my Davis VP2 console and have been running it on a test weewx instance. I'm now facing this same challenge where I don't like the way Davis archives wind direction, but I lose rxCheckPercent when switching to software record generation. 

I agree with you that it would be nice to be able to choose where each datum comes from (like windDir = [hardware|software|prefer_hardware]), but since that's not possible I'll look into forking the vantage driver and adding in the rxCheckPercent method from the Meteostick driver and see if that helps bridge the gap in this specific use case.

Pat

unread,
Nov 2, 2019, 4:52:12 PM11/2/19
to weewx-user
I wasn't sure which way to tackle this - in the end I decided that the console should track rxCheckPercent, and it would be easier to have weewx calculate wind direction. This is because different models of Vantage have different ways to calculate the rxCheckPercent. Seemed too complicated to replicate.

Thanks to Tom's help with this one, this was easier than I thought. When the archive runs, weewx downloads the archive off the console. Then this extension deletes the wind data from that archive. By way of how weewx works, the weewx wind direction gets re-inserted into the archive from the accumulator. Easier than I thought!

If weewx is offline for a certain period of time, it will download the archive off the console as a catchup. In this case then the windDir from the console will be used. Once a loop is established then the extension will use weewx's method of calculating windDir. 

I did add a quick check in the extension to make sure the [Station] --> station_type = Vantage because in my testing I was bouncing back and forth between drivers. This also makes sure you're not deleting wind direction from another driver. If you want to run this on a system that isn't running Vantage, then you can remove the check within the extension easily. 

I've been testing it for a few days and it seems pretty good. 

  1. Have a backup of anything and everything. Your database, your weewx folder, your extensions, everything! I'm don't want to be responsible if something goes sideways.
  2. Add the attached extension to your bin/user folder. 
  3. Set your [StdArchive] --> record_generation setting back to hardware
  4. Update the data_services setting here: [Engine] --> [[Services]] --> data_services = user.deleteVantageWindDir.DeleteWindDir
  5. Restart weewx

deleteVantageWindDir.py
Message has been deleted

Erick Dorsett

unread,
Nov 4, 2019, 4:21:02 PM11/4/19
to weewx-user

HEY!  It works!

Thank you for the extension.  It has been running so far on my 2004-vintage Vantage Pro ("model_type = 1")

NB:  For certain distros, like the one running on my RPi, the extension gets copied to /usr/share/weewx/user directory.
Reply all
Reply to author
Forward
0 new messages