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.
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:45000May 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.