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 <alfw...@gmail.com> 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 weewx-user+...@googlegroups.com. >> 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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/7aa6ec0c-7a76-45d8-88aa-162dd26f41e6n%40googlegroups.com.