Tom's patch prevents this:
Feb 22 05:57:11 Weather-Centre weewx[9909] CRITICAL user.loopdata: ****
Traceback (most recent call last): Feb 22 05:57:11 Weather-Centre
weewx[9909] CRITICAL user.loopdata: **** File
"/usr/share/weewx/user/loopdata.py", line 810, in process_queue Feb 22
05:57:11 Weather-Centre weewx[9909] CRITICAL user.loopdata: ****
windrun_val = weewx.wxxtypes.WXXTypes.calc_windrun('windrun', pkt) Feb 22
05:57:11 Weather-Centre weewx[9909] CRITICAL user.loopdata: **** File
"/usr/share/weewx/weewx/wxxtypes.py", line 303, in calc_windrun Feb 22
05:57:11 Weather-Centre weewx[9909] CRITICAL user.loopdata: **** raise
weewx.CannotCalculate(key) Feb 22 05:57:11 Weather-Centre weewx[9909]
CRITICAL user.loopdata: **** weewx.CannotCalculate: windrun
although you have to patch the beaufort_val:
try:
beaufort_val =
weewx.wxxtypes.WXXTypes.calc_beaufort('beaufort', pkt)
pkt['beaufort'] = beaufort_val[0]
except weewx.CannotCalculate:
pass
Unfortunately the lack of interval data continues to prevent loopdata from
outputting json or populating it's skin. I will keep investigating but this
will take a while........
Andrew
On Tuesday, 22 February 2022 at 06:15:25 UTC Andrew Roberts wrote:
> Thanks Tom & John,
>
> Loopdata doesn't crash weewx and sits there happily chirping out it's
> loops (see attached syslog after a restart). It doesn't write it's json
> output (loop-data.txt) and the skin is devoid of data.
>
> I'll try Tom's patch and report back.
>
> Andrew
>
> On Tuesday, 22 February 2022 at 00:42:48 UTC [email protected] wrote:
>
>> Thanks, Tom.
>>
>> I don’t think that’s the problem as I add an interval to the (copy of)
>> the packet. That is needed because I keep my own set of accumulators so
>> that loopdata can write out observations on every loop packet (in its own
>> thread) and never have to access the database. I can add an interval
>> because the user specifies a LoopFrequency in seconds.
>>
>> Indeed, on my VantagePro2 and RainWise weewx installs, I have no problem
>> with windrun in loopdata.
>>
>> I’ve seen issues at startup when I’ve tried the WeatherLinkUDP driver and
>> I have code not checked in to catch and ignore errors to make it pass the
>> startup, but I worry that loopdata won’t be accurate for drivers where loop
>> packets don’t always contain all the data. It’s not something I am likely
>> to tackle anytime soon.
>>
>> I’m guessing this driver is one of those cases, where loops don’t contain
>> all the observations. If so, it’s not a good candidate to use loopdata (at
>> least, not at this time).
>>
>> To the original OP, does everything work fine without loopdata?
>> Furthermore, does loopdata break the operation of weewx? I’d be surprised
>> if this is true as the loopdata thread should just die.
>>
>>
>> On Feb 21, 2022, at 4:09 PM, Tom Keffer <[email protected]> wrote:
>>
>>
>>
>> loopdata is trying to calculate windrun, which requires a value for
>> 'interval'. You need it to multiply against velocity to get distance.
>> Unfortunately, 'interval' is not available in loop packets because they
>> come at irregular intervals.
>>
>> The source for loopdata could be modified to only calculate windrun if
>> possible. For example, this patch should work (NOT TESTED):
>>
>> Index: bin/user/loopdata.py
>> ===================================================================
>> diff --git a/bin/user/loopdata.py b/bin/user/loopdata.py
>> --- a/bin/user/loopdata.py (revision
>> 0ee9d2ba94c53888154363aa412f1d5d5002ff12)
>> +++ b/bin/user/loopdata.py (date 1645488401429)
>> @@ -807,11 +807,14 @@
>> pkt_time: int = to_int(pkt['dateTime'])
>> pkt['interval'] = self.cfg.loop_frequency / 60.0
>>
>> - windrun_val =
>> weewx.wxxtypes.WXXTypes.calc_windrun('windrun', pkt)
>> - pkt['windrun'] = windrun_val[0]
>> - if windrun_val[0] > 0.00 and 'windDir' in pkt and
>> pkt['windDir'] is not None:
>> - bkt =
>> LoopProcessor.get_windrun_bucket(pkt['windDir'])
>> - pkt['windrun_%s' % windrun_bucket_suffixes[bkt]] =
>> windrun_val[0]
>> + try:
>> + windrun_val =
>> weewx.wxxtypes.WXXTypes.calc_windrun('windrun', pkt)
>> + pkt['windrun'] = windrun_val[0]
>> + if windrun_val[0] > 0.00 and 'windDir' in pkt and
>> pkt['windDir'] is not None:
>> + bkt =
>> LoopProcessor.get_windrun_bucket(pkt['windDir'])
>> + pkt['windrun_%s' % windrun_bucket_suffixes[bkt]]
>> = windrun_val[0]
>> + except weewx.CannotCalculate:
>> + pass
>>
>> beaufort_val =
>> weewx.wxxtypes.WXXTypes.calc_beaufort('beaufort', pkt)
>> pkt['beaufort'] = beaufort_val[0]
>>
>>
>> On Sun, Feb 20, 2022 at 7:57 AM Andrew Roberts <[email protected]>
>> wrote:
>>
>>> Hi,
>>> I'm after a steer as to where to look to fix/block this issue. I'm
>>> running RTLDavis <https://github.com/lheijst/weewx-rtldavis> with a
>>> Vantage Vue and weewx 4.6.1. The indoor temperature and pressure (BMP280)
>>> is coming through as a data service over a serial link.
>>>
>>> When I start up weewx and use loopdata
>>> <https://github.com/chaunceygardiner/weewx-loopdata/>, syslog shows:
>>>
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** Traceback (most recent call last):
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** File "/usr/share/weewx/user/loopdata.py", line 810, in process_queue
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** windrun_val = weewx.wxxtypes.WXXTypes.calc_windrun('windrun', pkt)
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** File "/usr/share/weewx/weewx/wxxtypes.py", line 303, in calc_windrun
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** raise weewx.CannotCalculate(key)
>>> Feb 20 12:01:23 Weather-Centre weewx[12537] CRITICAL user.loopdata:
>>> **** weewx.CannotCalculate: windrun
>>>
>>> 1. Looking into the code it seems to be a lack of interval data. I can
>>> not find a way of sorting this in weewx.conf and close inspection of the
>>> RTLDavis DEBUG data in Syslog (attached) doesn't have any interval data in
>>> it.
>>>
>>> 2. In spite of it raining, the console reporting rain and after tipping
>>> a cup of water into the bucket I'm not reliably getting rain data from the
>>> ISS. the DEBUG (all three debug options set to 3) log records:
>>>
>>> DEBUG user.rtldavis: data_pkt: {'channel': 1, 'bat_iss': 0,
>>> 'wind_speed_ec': 15, 'wind_speed_raw': 14, 'wind_dir': 273.9486166007905,
>>> 'wind_speed': 6.705583333333333, 'rain_count': 37, 'curr_cnt0': 2982,
>>> 'curr_cnt1': 0, 'curr_cnt2': 0, 'curr_cnt3': 0}
>>> DEBUG user.rtldavis: rain=0.0 rain_count=0 last_rain_count=37
>>> DEBUG user.rtldavis: pkt= {'windSpeed': 6.705583333333333, 'windDir':
>>> 273.9486166007905, 'txBatteryStatus': 0, 'rain': 0.0, 'dateTime':
>>> 1645353107, 'usUnits': 17}
>>>
>>> Any suggestions as to next steps for me troubleshooting these would be
>>> welcome.
>>>
>>> Andrew
>>>
>>> --
>>> 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].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/a75644e9-5c1b-44a9-a345-70803e116d81n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/weewx-user/a75644e9-5c1b-44a9-a345-70803e116d81n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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].
>>
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/CAPq0zECnoccFApyQW3fG3%2BOUYh-e8%3DOL567%2BdgqViXM3_2jKZA%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zECnoccFApyQW3fG3%2BOUYh-e8%3DOL567%2BdgqViXM3_2jKZA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/3437dde2-1303-4b54-b78c-1854643f648cn%40googlegroups.com.