I am sorry, Francis, but I am unable to reproduce this. I modified a copy of the simulator to emit an out-of-range value for "rain" randomly about 5% of the time. After letting it run for 40 minutes, I looked at the database. There was nothing but zeros in both the archive table and in the daily summaries:
sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), rain, rainRate from archive; 2025-01-14 16:10:00|0.0|0.0 2025-01-14 16:15:00|0.0|0.0 2025-01-14 16:20:00|0.0|0.0 2025-01-14 16:25:00|0.0|0.0 2025-01-14 16:30:00|0.0|0.0 2025-01-14 16:35:00|0.0|0.0 2025-01-14 16:40:00|0.0|0.0 2025-01-14 16:45:00|0.0|0.0 sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), sum, max from archive_day_rain; 2025-01-14 00:00:00|0.0|0.0 sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), sum, max from archive_day_rainRate; 2025-01-14 00:00:00|0.0|0.0 There is something peculiar about your setup, but I don't know what it is. If you can send me a configuration that reproduces the behavior by using the simulator, I'm happy to take another look. -tk On Mon, Jan 13, 2025 at 8:17 AM Francis Perea <[email protected]> wrote: > Hi again Tom, > > Definitely not enough with my new StdQC configuration. I still get wrong > observations into my DB. > > Just now I have this in my weewx.conf: > > [StdQC] > > [[MinMax]] > rain = 0, 10, mm > rainRate = 0, 3, mm_per_hour > > And I still get messages like these: > ene 13 16:10:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13 > 16:10:00 CET (1736781000) Archive value 'rainRate' 4.046533333333339 > outside limits (0.0, 0.11811023609999999) > > ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13 > 17:00:00 CET (1736784000) Archive value 'rain' 0.539 outside limits (0.0, > 0.3937007874015748) > ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: Discarding > observation > ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13 > 17:00:00 CET (1736784000) Archive value 'rainRate' 4.399999999999997 > outside limits (0.0, 0.11811023609999999) > ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: Discarding > observation > > Which generate these values into my DB: > > dateTime rain > rainRate > 1736781000 0.09899999999999998 3.079999999999999 > 1736784000 NULL 4.3119999999999985 > > It seems that the rainRate filter is not correct or not filtering. > > Any clue? > > Thanks once again for your help. > > > El domingo, 12 de enero de 2025 a las 18:51:15 UTC+1, Francis Perea > escribió: > >> Hi Tom, >> >> I get what you mean. I have been making all kind of tests to avoid wrong >> observations to get into the data base and I even think I began setting >> min-max values for rainRate, but I'll try again. >> >> What I get from your excellent explanation is that I should try to filter >> rainRate, not rain, and see if that keeps "pollution" out of the DB, isn't >> it? >> >> I think I'll use this: >> >> rainRate = 0, 3 >> >> Do you think it would be enough? Or would you suggest me any other way of >> filtering? Do you think I should also try to modify the rain_period >> parameter from its default 1800 seconds? >> >> Regarding the [[RainRate]] section you see in my config, I've to be >> honest and say that because of my desperation I even asked ChatGPT how to >> proceed and this is what he propossed. I have already removed it. >> >> Thanks again for your support and patience. >> >> >> El sábado, 11 de enero de 2025 a las 23:56:00 UTC+1, Tom Keffer escribió: >> >>> It looks like the field "rain" was nulled out (otherwise, it would be >>> 0.0, not NULL), so no bug. >>> >>> The field rainRate is not null, *however* the fields "rain" and >>> "rainRate" are completely different. The former represents the amount of >>> rain that fell, the latter how fast it fell. The field rainRate may be >>> emitted from your device, in which case, by default, WeeWX uses that value. >>> I suspect your byows hardware does not do this, so WeeWX will calculate it >>> using a *running average* over 15 minutes. So, if you get a bad rain >>> value, it will continue to "pollute" the rainRate value for up to 15 >>> minutes afterwards. You need to filter rainRate as well, or set its running >>> average window, given by option rain_period >>> <https://www.weewx.com/docs/5.1/reference/weewx-options/stdwxcalculate/#rainrater>, >>> to something shorter. >>> >>> [StdQC] >>>> >>> >>>> >>>> [[RainRate]] >>>> min = 0 >>>> max = 3 >>>> min_delta = 0 >>>> max_delta = 3 >>>> reject = True >>>> >>> >>> I don't know what any of this is. Did you write an addition to StdQC? If >>> so, you're going to have to debug it! >>> >>> -tk >>> >> -- > You received this message because you are subscribed to the Google Groups > "weewx-development" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/weewx-development/91ec157e-5f06-406b-8c16-f55fb40cd694n%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-development/91ec157e-5f06-406b-8c16-f55fb40cd694n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/weewx-development/CAPq0zEBXUQbRRtnjRExTTpMmDdD7atfjL_Z7Pz%3D7fbDTda2H0A%40mail.gmail.com.
