Yes, seems to be an old problem.
I wonder how people using a Vaisala WXT520 has made it work without
crashing.
The code, in the driver, that I think is an issue, is probably this,
however I am not a python programmer, so I have no idea how to fix it:
* 537 @staticmethod 538 def _delta_rain(rain, last_rain):
539 if last_rain is None: 540 loginf("skipping rain
measurement of %s: no last rain" % rain) 541 return None
542 if rain < last_rain: 543 loginf("rain counter
wraparound detected: new=%s last=%s" % 544 (rain,
last_rain)) 545 return rain 546 return rain -
last_rain*
On Wednesday, February 21, 2024 at 4:36:37 PM UTC+1 Tom Keffer wrote:
> Looks like the author of the extension forgot to check whether the value
> of "rain" could be None. This appears to be a known issue, but hasn't been
> fixed. See https://github.com/matthewwall/weewx-wxt5x0/issues/8
>
>
>
> On Wed, Feb 21, 2024 at 1:18 AM awe <[email protected]> wrote:
>
>> I got the same issue with the wxt5x0 running on a Raspberry with the
>> latest everything.....
>>
>> Did you find a fix?
>>
>>
>>
>> Feb 21 06:31:56 hpii weewxd[427]: DEBUG user.wxt5x0: raw: 30 52 30 2C 44
>> 6D 3D 30 38 38 44 2C 44 78 3D 31 30 36 44 2C 53 6D 3D 32 2E 31 53 2C 53 78
>> 3D 32 2E 37 53 2C 54 61 3D 33 35 2E 36 46 2C 55 61 3D 36 38 2E 38 50 2C 50
>> 61 3D 32 39 2E 33 32 49 2C 52 63 3D 30 52 32 2C 54 61 3D 33 35 2E 36 46 2C
>> 55 61 3D 36 38 2E 38 50 2C 50 61 3D 32 39 2E 33 32 49 0D 0A
>> Feb 21 06:31:57 hpii weewxd[427]: ERROR user.wxt5x0: parse failed for
>> b'Rc' (b'0R2'):could not convert string to float: b'0R'
>> Feb 21 06:31:57 hpii weewxd[427]: DEBUG user.wxt5x0: parsed:
>> {'wind_dir_avg': 88.0, 'wind_dir_max': 106.0, 'wind_speed_avg':
>> 0.9387840000000001, 'wind_speed_max': 1.207008, 'temperature':
>> 2.000000000000001, 'humidity': 68.8, 'pressure': 992.889548, 'rain': None}
>> Feb 21 06:31:57 hpii weewxd[427]: INFO weewx.engine: Main loop exiting.
>> Shutting engine down.
>> Feb 21 06:31:57 hpii weewxd[427]: INFO weewx.engine: Shutting down
>> StdReport thread
>> Feb 21 06:31:57 hpii weewxd[427]: DEBUG weewx.engine: StdReport thread
>> has been terminated
>> Feb 21 06:31:57 hpii weewxd[427]: DEBUG user.wxt5x0: close serial port
>> /dev/ttyAMA0
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: Caught unrecoverable
>> exception:
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** '<' not
>> supported between instances of 'NoneType' and 'float'
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** Traceback
>> (most recent call last):
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** File
>> "/usr/share/weewx/weewxd.py", line 166, in main
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: ****
>> engine.run()
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** File
>> "/usr/share/weewx/weewx/engine.py", line 204, in run
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** for
>> packet in self.console.genLoopPackets():
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** File
>> "/etc/weewx/bin/user/wxt5x0.py", line 501, in genLoopPackets
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** packet
>> = self._data_to_packet(data)
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** File
>> "/etc/weewx/bin/user/wxt5x0.py", line 532, in _data_to_packet
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: ****
>> packet['rain'] = self._delta_rain(
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** File
>> "/etc/weewx/bin/user/wxt5x0.py", line 542, in _delta_rain
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** if
>> rain < last_rain:
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** TypeError:
>> '<' not supported between instances of 'NoneType' and 'float'
>> Feb 21 06:31:57 hpii weewxd[427]: Traceback (most recent call last):
>> Feb 21 06:31:57 hpii weewxd[427]: File "/usr/share/weewx/weewxd.py",
>> line 265, in <module>
>> Feb 21 06:31:57 hpii weewxd[427]: main()
>> Feb 21 06:31:57 hpii weewxd[427]: File "/usr/share/weewx/weewxd.py",
>> line 166, in main
>> Feb 21 06:31:57 hpii weewxd[427]: CRITICAL __main__: **** Exiting.
>> Feb 21 06:31:57 hpii weewxd[427]: engine.run()
>> Feb 21 06:31:57 hpii weewxd[427]: File
>> "/usr/share/weewx/weewx/engine.py", line 204, in run
>> Feb 21 06:31:57 hpii weewxd[427]: for packet in
>> self.console.genLoopPackets():
>> Feb 21 06:31:57 hpii weewxd[427]: File "/etc/weewx/bin/user/wxt5x0.py",
>> line 501, in genLoopPackets
>> Feb 21 06:31:57 hpii weewxd[427]: packet = self._data_to_packet(data)
>> Feb 21 06:31:57 hpii weewxd[427]: File "/etc/weewx/bin/user/wxt5x0.py",
>> line 532, in _data_to_packet
>> Feb 21 06:31:57 hpii weewxd[427]: packet['rain'] = self._delta_rain(
>> Feb 21 06:31:57 hpii weewxd[427]: File "/etc/weewx/bin/user/wxt5x0.py",
>> line 542, in _delta_rain
>> Feb 21 06:31:57 hpii weewxd[427]: if rain < last_rain:
>> Feb 21 06:31:57 hpii weewxd[427]: TypeError: '<' not supported between
>> instances of 'NoneType' and 'float'
>> Feb 21 06:31:58 hpii systemd[1]: weewx.service: Main process exited,
>> code=exited, status=1/FAILURE
>> Feb 21 06:31:58 hpii systemd[1]: weewx.service: Failed with result
>> 'exit-code'.
>> Feb 21 06:31:58 hpii systemd[1]: weewx.service: Consumed 1h 20min 28.253s
>> CPU time.
>>
>> On Friday, April 2, 2021 at 10:43:02 AM UTC+2 Sven Gloor wrote:
>>
>>>
>>> Hello everybody
>>>
>>> I'm using weewx on a Raspi 3B together with the Vaisala WXT520. The WXT
>>> is sending automatic messages (ASCII, 0R1: 3s, 0R2: 15s, 0R3: 60s, 0R0:
>>> 60s).
>>> After starting weewx everthing looks OK but after sometimes houres,
>>> sometimes days, weewx stop working. In the syslog I can see the following
>>> entries:
>>> Apr 2 02:55:25 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Rc' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:55:35 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Sn' (b'0.4N0R0'):could not convert string to float: b'0.4N0R'
>>> Apr 2 02:55:39 raspberrypi weewx[27403] INFO user.wxt5x0: unknown unit
>>> 'b'D'' for rain
>>> Apr 2 02:55:45 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Hp' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:55:53 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Hp' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:55:55 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Hp' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:56:00 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Hp' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:56:02 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Hp' (b'0.00R0'):could not convert string to float: b'0.00R'
>>> Apr 2 02:56:09 raspberrypi weewx[27403] ERROR user.wxt5x0: parse failed
>>> for b'Rc' (b'0.0.9N'):could not convert string to float: b'0.0.9'
>>> Apr 2 02:56:09 raspberrypi weewx[27403] INFO weewx.engine: Main loop
>>> exiting. Shutting engine down.
>>> Apr 2 02:56:09 raspberrypi weewx[27403] INFO weewx.engine: Shutting
>>> down StdReport thread
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: Caught
>>> unrecoverable exception:
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> '<' not supported between instances of 'NoneType' and 'float'
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> Traceback (most recent call last):
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> File "/usr/share/weewx/weewxd", line 157, in main
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__:
>>> **** engine.run()
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> File "/usr/share/weewx/weewx/engine.py", line 208, in run
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__:
>>> **** for packet in self.console.genLoopPackets():
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> File "/usr/share/weewx/user/wxt5x0.py", line 501, in genLoopPackets
>>> Apr 2 02:56:09 raspberrypi weewx[27403] CRITICAL __main__:
>>> **** packet = self._data_to_packet(data)
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> File "/usr/share/weewx/user/wxt5x0.py", line 533, in _data_to_packet
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__:
>>> **** packet['rain_total'], self.last_rain_total)
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> File "/usr/share/weewx/user/wxt5x0.py", line 542, in _delta_rain
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__:
>>> **** if rain < last_rain:
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> TypeError: '<' not supported between instances of 'NoneType' and 'float'
>>> Apr 2 02:56:10 raspberrypi weewx[27403] CRITICAL __main__: ****
>>> Exiting.
>>>
>>> After restarting weewx everthing is working again.
>>> So for me it looks like there are "collisions" between the automatic
>>> messages and the polled messages.
>>> Can I reconfigure weewx to not poll the WXT and only use the automatic
>>> messages?
>>>
>>> Kind regards
>>> Sven
>>>
>>> --
>> 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/f3120ead-3dac-4491-838d-c24a66bcfd35n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/weewx-user/f3120ead-3dac-4491-838d-c24a66bcfd35n%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/7aa6ec0c-7a76-45d8-88aa-162dd26f41e6n%40googlegroups.com.