Depois de testes eis o apurado.
O QUE APARENTEMENTE FUNCIONA BEM:
# This section can adjust data using calibration expressions.
[StdCalibrate]
[[Corrections]]
# For each type, an arbitrary calibration expression can be given.
# It should be in the units defined in the StdConvert section.
# AURIOL RAINMETER SPECIFIC VALUES
rain = 1.25 * rain
rainRate = 1.25 * rainRate
# FINEOFFSET WIND INSTRUMENTS SPECIFIC VALUES
windSpeed = windSpeed * 0.448
windGust = windGust * 0.448
# This section controls the origin of derived values.
[StdWXCalculate]
# Derived quantities are calculated by this service. Possible values are:
# hardware - use the value provided by hardware
# software - use the value calculated by weewx
# prefer_hardware - use value provide by hardware if available,
# otherwise use value calculated by weewx
rainRate = prefer_hardware
# This section is for configuring the archive service.
[StdArchive]
# If the station hardware supports data logging then the archive interval
# will be downloaded from the station. Otherwise, specify it (in seconds).
archive_interval = 300
# How long to wait (in seconds) before processing new archive data. Must
# be greater than zero.
archive_delay = 15
# If possible, new archive records are downloaded from the station
# hardware. If the hardware does not support this, then new archive
# records will be generated in software.
# Set the following to "software" to force software record generation.
record_generation = hardware
# Whether to include LOOP data in hi/low statistics
loop_hilo = True
O QUE FUNCIONA MAL:
record_generation = software -> invariavelmente regista a rainRate mas não a rain
Isto é estranho porque na documentação o autor demonstra conhecimento e compatibilidade como construções caseiras emulando uma Davis SEM Logger, recomendando que nesse caso se use a opção "software" (como é que nesse caso a rain é calculada?)
É possível tentar contornar isto definindo nas Corrections algo como: rain = rainRate / 5
Seria no entanto necessário entender como o Weewx calcula a rainRate a partir dos dados no loop para perceber se pode ser uma constante ou uma valor calculado usando eventualmente outras variáveis.
Tendo mudado o processo de geração do arquivo (i.e, de introdução dos valores na base de dados do Weewx) para a recuperação dos dados a partir do hardware perdi o registo do valor da temperatura da caixa externa que estava a mapear como soilTemp1.
Dúvida: é possível modificar o software WeatherDuino para gravar o soilTemp1 no arquivo?
PS: No WeeWX para apagar valores erróneos e regenerar as estatísticas, é uma questão de editar a base de dados usando o
sqlitebrowser e depois usar a ferramenta incluida com o programa:
wee_database --drop-daily
wee_database --backfill-daily
Tanto quanto entendo o programa mantém tabelas com os registos máximos, mínimos e acumulados por dia que depois consulta para gerar os gráficos e as stats.