Sometimes simple is best! I'll look at cron and possibly doing something like that - thank you!
On Saturday, May 18, 2024 at 2:56:58 PM UTC-5 p q wrote: > Here's a dumb suggestion. I'm sure there will be smarter answers. Restart > weewx every day at 2am with a cron job whether it needs it or not. > > On Sat, May 18, 2024 at 12:45 PM Ben W. <proofof...@gmail.com> wrote: > >> Hello! >> >> Every so often, my home network (through eero) will upgrade causing >> devices to go offline/lose connection for a few minutes. >> >> The last two times my eero/network was updated in the early morning, >> WeeWx stopped when the connection was lost (expected). I cannot find how to >> set WeeWx to restart once the network is available again. >> >> The log from the most recent upgrade around 02:41 on the 15th: >> >> >> >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.restx: PWSWeather: >> Published record 2024-05-15 02:40:00 CDT (1715758800) >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.cheetahgenerator: >> Generated 8 files for report SeasonsReport in 0.38 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.imagegenerator: >> Generated 17 images for report SeasonsReport in 0.21 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.reportengine: Copied 0 >> files to /var/www/html/weewx >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.cheetahgenerator: >> Generated 6 files for report SmartphoneReport in 0.02 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.imagegenerator: >> Generated 6 images for report SmartphoneReport in 0.05 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.reportengine: Copied 0 >> files to /var/www/html/weewx/smartphone >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.cheetahgenerator: >> Generated 1 files for report MobileReport in 0.01 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.imagegenerator: >> Generated 4 images for report MobileReport in 0.03 seconds >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.reportengine: Copied 0 >> files to /var/www/html/weewx/mobile >> May 15 02:40:24 rpi5 weewxd[101529]: INFO weewx.cheetahgenerator: >> Generated 13 files for report StandardReport in 0.22 seconds >> May 15 02:40:25 rpi5 weewxd[101529]: INFO weewx.imagegenerator: >> Generated 12 images for report StandardReport in 0.11 seconds >> May 15 02:40:25 rpi5 weewxd[101529]: INFO weewx.reportengine: Copied 0 >> files to /var/www/html/weewx >> May 15 02:40:25 rpi5 weewxd[101529]: INFO weewx.cheetahgenerator: >> Generated 12 files for report Belchertown in 0.38 seconds >> May 15 02:40:25 rpi5 weewxd[101529]: INFO weewx.reportengine: Copied 3 >> files to /var/www/html/weewx/belchertown >> May 15 02:41:06 rpi5 weewxd[101529]: ERROR user.gw1000: Failed to obtain >> response to command 'CMD_GW1000_LIVEDATA' after 3 attempts >> May 15 02:41:06 rpi5 weewxd[101529]: ERROR user.gw1000: Unable to obtain >> live sensor data >> May 15 02:41:06 rpi5 weewxd[101529]: INFO weewx.engine: Main loop >> exiting. Shutting engine down. >> May 15 02:41:06 rpi5 weewxd[101529]: INFO weewx.engine: Shutting down >> StdReport thread >> May 15 02:41:06 rpi5 weewxd[101529]: ERROR user.gw1000: Failed to obtain >> response to command 'CMD_GW1000_LIVEDATA' after 3 attempts >> May 15 02:41:06 rpi5 weewxd[101529]: ERROR user.gw1000: Unable to obtain >> live sensor data >> May 15 02:41:07 rpi5 weewxd[101529]: INFO user.gw1000: GatewayCollector >> thread has been terminated >> May 15 02:41:17 rpi5 weewxd[101529]: ERROR user.gw1000: Unable to shut >> down GatewayCollector thread >> May 15 02:41:17 rpi5 weewxd[101529]: CRITICAL __main__: Caught >> WeeWxIOError: Failed to obtain response to command 'CMD_GW1000_LIVEDATA' >> after 3 attempts >> May 15 02:41:17 rpi5 weewxd[101529]: CRITICAL __main__: **** >> Waiting 60.0 seconds then retrying... >> May 15 02:41:27 rpi5 weewxd[101529]: ERROR user.gw1000: Failed to obtain >> response to command 'CMD_GW1000_LIVEDATA' after 3 attempts >> May 15 02:41:27 rpi5 weewxd[101529]: ERROR user.gw1000: Unable to obtain >> live sensor data >> May 15 02:42:17 rpi5 weewxd[101529]: INFO __main__: retrying... >> May 15 02:42:17 rpi5 weewxd[101529]: INFO weewx.engine: Loading station >> type GW1000 (user.gw1000) >> May 15 02:42:17 rpi5 weewxd[101529]: INFO user.gw1000: GatewayDriver: >> version is 0.6.1 >> May 15 02:42:17 rpi5 weewxd[101529]: INFO user.gw1000: device >> address is 192.168.7.206:45000 >> May 15 02:42:17 rpi5 weewxd[101529]: INFO user.gw1000: poll >> interval is 20 seconds >> May 15 02:42:39 rpi5 weewxd[101529]: ERROR user.gw1000: Failed to obtain >> response to command 'CMD_READ_STATION_MAC' after 3 attempts >> May 15 02:42:39 rpi5 weewxd[101529]: ERROR weewx.engine: Import of >> driver failed: Failed to obtain response to command 'CMD_READ_STATION_MAC' >> after 3 attempts (<class 'user.gw1000.GWIOError'>) >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> Traceback (most recent call last): >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/usr/share/weewx/weewx/engine.py", line 115, in setupStation >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> self.console = loader_function(config_dict, self) >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 1907, in loader >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> return GatewayDriver(**config_dict[DRIVER_NAME]) >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 2523, in __init__ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> super(GatewayDriver, self).__init__(**stn_dict) >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 1156, in __init__ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> self.collector = GatewayCollector(ip_address=self.ip_address, >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 2818, in __init__ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> self.device = GatewayDevice(ip_address=ip_address, port=port, >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 6240, in __init__ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> self.api = GatewayApi(ip_address=ip_address, >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 4981, in __init__ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> self.mac = self.get_mac_address() >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 5416, in get_mac_address >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> response = self.send_cmd_with_retries('CMD_READ_STATION_MAC') >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> File "/etc/weewx/bin/user/gw1000.py", line 5670, in send_cmd_with_retries >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> raise GWIOError(_msg) >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL weewx.engine: **** >> user.gw1000.GWIOError: Failed to obtain response to command >> 'CMD_READ_STATION_MAC' after 3 attempts >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL __main__: Unable to load >> driver: Failed to obtain response to command 'CMD_READ_STATION_MAC' after 3 >> attempts >> May 15 02:42:39 rpi5 weewxd[101529]: CRITICAL __main__: **** >> Exiting... >> May 15 02:42:40 rpi5 systemd[1]: weewx.service: Main process exited, >> code=exited, status=4/NOPERMISSION >> May 15 02:42:40 rpi5 systemd[1]: weewx.service: Failed with result >> 'exit-code'. >> May 15 02:42:40 rpi5 systemd[1]: weewx.service: Consumed 2h 32min 7.226s >> CPU time. >> >> >> >> >> It took me three days to realize it wasn't running. I'm back online now >> but would like to avoid those gaps going forward. >> >> Thanks! >> >> -- >> 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/b48ffc02-f9af-4873-bd09-e1971d3ff08an%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/b48ffc02-f9af-4873-bd09-e1971d3ff08an%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > Peter Quinn > (415)794-2264 <(415)%20794-2264> > -- 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/580ed037-5b96-44c1-b721-8f7ae0123300n%40googlegroups.com.