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.
- 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.
- Add the attached extension to your bin/user folder.
- Set your [StdArchive] --> record_generation setting back to hardware
- Update the data_services setting here: [Engine] --> [[Services]] --> data_services = user.deleteVantageWindDir.DeleteWindDir
- Restart weewx