I am running Weewx 5.1 on an rpi 4 with a BYOWS driver. It crashes several times a day at random times (weewx process stops somehow), below is the log file of a time where it crashes. I have created a crontab task that starts Weewx every hour (in case it has crashed and starts again) and that works, but then gaps appear, I can create that task every 5 minutes, but would rather get rid of the source of the problems and I can't figure out what is not going right now. Can anyone help me?
Log:
Sep 22 11:11:32 byows-jim weewxd[71261]: INFO weewx.engine: Main loop exiting. Shutting engine down.
Sep 22 11:11:32 byows-jim weewxd[71261]: INFO weewx.engine: Shutting down StdReport thread
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: Caught unrecoverable exception:
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** list index out of range
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** Traceback (most recent call last):
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/usr/share/weewx/weewxd.py", line 127, in main
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** engine.run()
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/usr/share/weewx/weewx/engine.py", line 204, in run
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** for packet in self.console.genLoopPackets():
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/etc/weewx/bin/user/byows_rpi.py", line 83, in genLoopPackets
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** data = self.station.get_data()
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** ^^^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/etc/weewx/bin/user/byows_rpi.py", line 147, in get_data
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** data["soilTemp1"] = self.get_soil_temp()
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** ^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/etc/weewx/bin/user/byows_rpi.py", line 129, in get_soil_temp
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** return self.temp_probe.read_temp()
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/etc/weewx/bin/user/byows_rpi.py", line 189, in read_temp
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** success = self.crc_check(lines)
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** ^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** File "/etc/weewx/bin/user/byows_rpi.py", line 180, in crc_check
Sep 22 11:11:32 byows-jim weewxd[71261]: Traceback (most recent call last):
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/usr/share/weewx/weewxd.py", line 226, in <module>
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** return lines[0].strip()[-3:] == "YES"
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** ~~~~~^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: main()
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/usr/share/weewx/weewxd.py", line 127, in main
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** IndexError: list index out of range
Sep 22 11:11:32 byows-jim weewxd[71261]: engine.run()
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/usr/share/weewx/weewx/engine.py", line 204, in run
Sep 22 11:11:32 byows-jim weewxd[71261]: for packet in self.console.genLoopPackets():
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/etc/weewx/bin/user/byows_rpi.py", line 83, in genLoopPackets
Sep 22 11:11:32 byows-jim weewxd[71261]: CRITICAL __main__: **** Exiting.
Sep 22 11:11:32 byows-jim weewxd[71261]: data = self.station.get_data()
Sep 22 11:11:32 byows-jim weewxd[71261]: ^^^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/etc/weewx/bin/user/byows_rpi.py", line 147, in get_data
Sep 22 11:11:32 byows-jim weewxd[71261]: data["soilTemp1"] = self.get_soil_temp()
Sep 22 11:11:32 byows-jim weewxd[71261]: ^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/etc/weewx/bin/user/byows_rpi.py", line 129, in get_soil_temp
Sep 22 11:11:32 byows-jim weewxd[71261]: return self.temp_probe.read_temp()
Sep 22 11:11:32 byows-jim weewxd[71261]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/etc/weewx/bin/user/byows_rpi.py", line 189, in read_temp
Sep 22 11:11:32 byows-jim weewxd[71261]: success = self.crc_check(lines)
Sep 22 11:11:32 byows-jim weewxd[71261]: ^^^^^^^^^^^^^^^^^^^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: File "/etc/weewx/bin/user/byows_rpi.py", line 180, in crc_check
Sep 22 11:11:32 byows-jim weewxd[71261]: return lines[0].strip()[-3:] == "YES"
Sep 22 11:11:32 byows-jim weewxd[71261]: ~~~~~^^^
Sep 22 11:11:32 byows-jim weewxd[71261]: IndexError: list index out of range
Sep 22 11:11:32 byows-jim systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE
Sep 22 11:11:32 byows-jim systemd[1]: weewx.service: Failed with result 'exit-code'.
Sep 22 11:11:32 byows-jim systemd[1]: weewx.service: Consumed 5min 32.737s CPU time.'