I use the (sometimes much maligned) systemd and have in there that it must 
(re)start after the NFS network drive that I use (the system is a RPi4 with 
the SD card is set to be Read Only and in-memory logging) is fully mounted.
Just an alternative approach perhaps (or 'belts and braces')
Susan

On Monday 20 May 2024 at 2:00:17 am UTC+10 vince wrote:

> You need to replace the weewxd.py file with the newer one for the 
> loop_on_init switch to work.  There's a bug in the previous versions.
>
> On Sunday, May 19, 2024 at 5:33:50 AM UTC-7 Ben W. wrote:
>
>> Thanks! I have  loop_on_init = 1 right now per the documentation. I will 
>> change it to "True" to give that a shot. I"m a bit lost with the rest of 
>> your response, but I'll look into that more. Thank you!
>>
>> On Saturday, May 18, 2024 at 4:32:36 PM UTC-5 vince wrote:
>>
>>> At the top of weewx.conf add "loop_on_init = True" to have it try 
>>> basically continually.   Until 5.1 comes out you'll need to grab an updated 
>>> weewxd.py and overwrite your existing 5.x copy of that file so the option 
>>> works.   The latest version is at 
>>> https://raw.githubusercontent.com/weewx/weewx/master/src/weewxd.py if 
>>> you want to grab it sooner rather than later.
>>>
>>> Worked for me here vs. the ecowitt driver under similar circumstances 
>>> when I needed to take my network offline for a bit to update firmware on 
>>> the network gear....
>>>
>>> On Saturday, May 18, 2024 at 12:56:58 PM UTC-7 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/795f8639-15be-4cfe-8a4a-3950a75b9ba4n%40googlegroups.com.

Reply via email to