This has all the hallmarks of corrupt station memory. Corrupt memory prevents archive records from being emitted by the station, but if (my) memory serves me correctly, loop packets are still sent. That explains why meteotemplate is being updated every few seonds (it is using loop data). When
record_generation = hardware, weeWX only kicks off reporting and WU/awekas uploads when an archive record is available, corrupt memory means no archive records therefore no reports/uploads. Changing to software record generation uses loop data (which we know is working) to synthesise an archive record (in this case) every 5 minutes. Once an archive record exists the reporting and uploads occur and everything seems fine. I suspect that if you went back to hardware record generation and turned on WU rapid fire updates they would work.
It might be worthwhile going back to hardware record generation and working through
Corrupt station memory under the
WeeWX generates HTML pages, but it does not update them section in the User's Guide. Running weeWX with debug=1 and looking carefully at the log will tell you whether the memory is corrupt or not.
The advantage of getting your station memory sorted and using hardware record generation is that if you loose connectivity to your station for whatever reason, once connectivity is restored weeWX will download any missed records from the logger. If the memory is corrupt chnaces are this won't (con't) happen and you will lose data.
As for changing your archive interval, you need to stop weeWX then use
wee_device to set the archive interval in the hardware. Something like:
$ wee_device --set-interval=5
should give an archive interval of 5 minutes. Once set start weeWX.
Gary