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. <[email protected]> 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 [email protected]. > 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 -- 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/CAA1SM20dBj8hfwz2nCQz%2BYfiDdkpr5xW1w4gZT2pFDjVzJsD%3DA%40mail.gmail.com.
