I think this is the code in restx.py which is used;
if 'dayRain' not in _datadict:
# NB: The WU considers the archive with time stamp 00:00
# (midnight) as (wrongly) belonging to the current day
# (instead of the previous day). But, it's their site,
# so we'll do it their way. That means the SELECT statement
# is inclusive on both time ends:
_result = dbmanager.getSql(
"SELECT SUM(rain), MIN(usUnits), MAX(usUnits) FROM %s "
"WHERE dateTime>=? AND dateTime<=?" %
dbmanager.table_name, (_sod_ts, _time_ts))
if _result is not None and _result[0] is not None:
if not _result[1] == _result[2] == record['usUnits']:
raise ValueError("Inconsistent units (%s vs %s vs
%s) when querying for dayRain" %
(_result[1], _result[2],
record['usUnits']))
_datadict['dayRain'] = _result[0]
else:
_datadict['dayRain'] = None
On Thursday, 1 June 2017 09:49:17 UTC-3, gjr80 wrote:
>
> I am intrigued to know how dayRain is 'calculated by weeWX' when the
> meteostick driver is being used. I see nothing in the meteostick driver
> that calculates dayRain. As of weeWX 3.7.1 service StdWXCalculate does
> not know how to calculate dayRain so I don't see [StdWXCalculate]
> providing dayRain. In fact, in the 3.7.1 codebase the only modules that
> reference dayRain are accum.py (only defines an extractor for dayRain),
> restx.py (uses dayRain for posting if available), units.py (defines the
> observation group for dayRain) and vantage.py (obviously not the
> meteostick dayRain source). Or is there some specially modified verison
> of meteostick.py or weeWX in use?
>
> Gary
>
> On Thursday, 1 June 2017 21:54:25 UTC+10, Luc Heijst wrote:
>>
>> Tom,
>>
>> When dayRain is calculated by weewx and not read by the vantage driver
>> the rain reset at midnight is OK.
>>
>> Below the results for vantage (vpro) and meteostick (mstk).
>> vpro: 23:59:58 R=1.2
>> mstk: 23:59:59 R=1.2
>> vpro: 00:00:04 R=0.0
>> mstk: 00:00:04 R=0.0
>>
>> Luc
>>
>>
>> On Wednesday, 31 May 2017 18:42:14 UTC-3, Luc Heijst wrote:
>>>
>>> Hi Tom,
>>>
>>> Dealing with the dayRain value of the Vantage loop data received from
>>> the Pro2 and Vue consoles or Envoys when no time stamps are available and
>>> with an internal clock which can run both slow or fast will be not easy and
>>> should not be done.
>>> A possible solution might introduce other problems.
>>>
>>> I advice to use instead the dayRain calculation of weewx which already
>>> will be done for most (all?) other weather stations and even for the
>>> Vantage stations when used with the Meteostick driver.
>>> We could of course introduce a choice (hardware, software or
>>> prefer_hardware) but again I think it is wasting of time because the
>>> software solution is the best in my opinion
>>>
>>> As a test I renamed the "dayRain" variable names in the loop definitions
>>> of the Vantage driver to "dayRain_skip" with as result the dayRain value in
>>> the Vantage driver also will be calculate by weewx.
>>>
>>> I will report tomorrow the results of the upload data round midnight.
>>>
>>> Cheers, Luc
>>>
>>>
>>> On Tuesday, 30 May 2017 21:09:21 UTC-3, Tom Keffer wrote:
>>>>
>>>> If we are going to have the driver make a decision that a dayRain (and
>>>>> monthRain and yearRain and maybe dayET, monthET and yearET?) value is
>>>>> to be ignored (ie we are essentially making the decision that the packet
>>>>> was from the previous day) can we not just leave the packet data as is
>>>>> (we
>>>>> have no reason to doubt its accuracy) and just set the packet timestamp
>>>>> to
>>>>> 00:00?
>>>>>
>>>>>
>>>> A sensible idea.
>>>>
>>>> But, say we have a packet that arrives at 00:00:02. How do we know if
>>>> it's from the previous day? Maybe it is the very first packet of the day?
>>>>
>>>> At the end of the day (pun intended), we are trying to create N+1
>>>> pieces of data out of N pieces of information. Can't be done.
>>>>
>>>> -tk
>>>>
>>>>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.