On 29/11/2025 16:13, Martyn Bradshaw wrote:
>
> However, I am noticing a repetitive "lock up" or data duplication issue
> when fetching data from a CM2000 every 2nd hour (so 12:00, 14:00, 16:00
> etc). The issue starts at xx:59:xx (eg 11:59:xx) and continues for about
> 6 minutes before normal logging resumes. It looks like the duplication
> is of wind speed, gust and temperature data. Pressure data continues to
> change in the period. During this 6-minute period the same data is
> logged despite the weather station display updating continuously. After
> the 6th minute, normal data logging resumes. I have included an extract
> from a raw log file below.
This isn't what I usually call a "lock up", it's just not fetching
external data for 6 minutes.
This just might be a consequence of the strategy pywws uses to avoid
causing a real USB lock up by reading data at the same time as the
station is expecting external data or logging its data internally.
You appear to have a logging interval of one minute, rather than the
usual five, which may exacerbate the problem.
The external sensors send data every 48 seconds, according to a "clock"
in the external sensors. pywws detects the phase of this clock and
avoids interrogating the station when external data is expected. As the
sensor clock drifts it will eventually coincide with the base station's
clock that controls when it logs data, every minute in your case. pywws
also avoids interrogating the base station when it's expected to log data.
I wouldn't expect a problem at such regular intervals, or to last as
long as 6 minutes, so this might all be a can of red herrings.
> It's not a massive issue, but I have never got to the bottom of it. I
> have tried running a very basic pywws config (normally I copy files to a
> local pi webserver as well as to Weather Underground and only templating
> 1 file, to rule out compute / bandwidth issues) but no difference. I
> have tried multiple CM2000 weather station consoles, all the same.
Running pywws from the command line (after temporarily disabling the
daemon background service process) with higher verbosity will show when
data is received or missed, and things like "live_data log extended".
This might give you a clue.
The documentation page "Understanding pywws log files" attempts to
explain some of this.
--
Jim Easterbrook <
http://www.jim-easterbrook.me.uk/>