This is a perplexing problem. I don't know enough about the structure of weewx code or the Davis Monitor II driver to hazard a guess as to which nay be the problem. My station, a Davis Monitor II, running on a Raspberry PI B+ appears to be working fine without drama. The PI has an IP assigned outside of DHCP on a Spectrum Gateway router. I have always had stability issues between PIs and Spectrum. I have avoided the random disconnects by running this on the hour as a chron task.
#!/bin/bash
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
sudo service networking restart
I let the setup run several days before enabling posting to Wundergound. My data when views on the web site locally looked fine. When I looked at my data on WundergroundI discovered an anomaly with humidity. After the chron task ran the pressure reads low for one reading.
![Wu_report](https://user-images.githubusercontent.com/18121312/64119922-cbfd5b00-cd4f-11e9-9f46-467b725aeb9e.jpg)
This is beyond weird. Only pressure is off and it is only the first reading after the network reconnect. What could be wrong? Have I discovered some really subtle bug? If you think so, I can repost on the weewx google development forum.
Bill - AB6OR
** EDIT
Reply from the Google forum:
Looking at KCAORANG21, the WU is receiving low values for pressure on the hour, although with the WU, you never really know. But, given that you are cycling the wifi adapter at exactly the same time, odds are that the problem is on your end, rather than on the WU end.
I am not familiar with the wmii driver but, looking through its code, it ignores the checksum, so it's entirely possible it is receiving a bad packet on the hour, which gets decoded into nonsense values. The many bad values logged give evidence to this theory. For example,
Sep 1 08:29:17 raspberrypi weewx[425]: engine: 2019-09-01 08:29:17 PDT (1567351757) LOOP value 'pressure' -29.33 outside limits (24.0, 34.5)
Sep 1 08:29:17 raspberrypi weewx[425]: engine: 2019-09-01 08:29:17 PDT (1567351757) LOOP value 'outHumidity' 128 outside limits (0.0, 100.0)
Sep 1 08:29:17 raspberrypi weewx[425]: engine: 2019-09-01 08:29:17 PDT (1567351757) LOOP value 'outTemp' 3276.7 outside limits (-40.0, 120.0)
Sep 1 08:29:18 raspberrypi weewx[425]: engine: 2019-09-01 08:29:18 PDT (1567351758) LOOP value 'pressure' -29.33 outside limits (24.0, 34.5)
Sep 1 08:29:18 raspberrypi weewx[425]: engine: 2019-09-01 08:29:18 PDT (1567351758) LOOP value 'outHumidity' 128 outside limits (0.0, 100.0)
So, when weewx calculates the average pressure for the interval, it gets an off value. Incidentally, you're getting low values for other types, such as outside temperature. They are probably suffering from the same problem.
I will be happy to work on the code if you can point me in the right direction. It looks to be like you are using CRC but perhaps the wrong thing is happening if a bad CRC is discovered.