FWIW I've seen crashes in ecowitt_http for the following reasons:

 - no SD card installed in GW3000
 - gateway is currently rebooting and does not respond in time
 - gateway has no upstream sensor data (battery gone on the weather 
station?), so there's no catchup data file for "today". This one hits just 
after midnight, following any upstream outage.

The systemd retry workaround seems effective, but there's a lot of holes to 
fall into here.

On Wednesday, August 5, 2026 at 2:45:47 PM UTC+1 matthew wall wrote:

>
>
> > On Aug 5, 2026, at 02:18, 'Michael Waldor' via weewx-user <
> [email protected]> wrote:
> > 
> > Of course the driver EcowittHttp relies on a working network connection. 
> But during boot weewx might be started too early before network is up. In 
> that exceptional case weewx will crash:
> > 
> > CRITICAL __main__: **** File "/etc/weewx/bin/user/ecowitt_http.py", line 
> 6775> CRITICAL __main__: **** if self.collector.device.model is not None: 
> CRITICAL __main__: **** File "/etc/weewx/bin/user/ecowitt_http.py", line 
> 13722> CRITICAL __main__: **** version_data = self.api.get_version() 
> CRITICAL __main__: **** File "/etc/weewx/bin/user/ecowitt_http.py", line 
> 7224> CRITICAL __main__: **** raise DeviceIOError(f"Failed to obtain 
> 'get_version' data: {e}")> CRITICAL __main__: **** 
> user.ecowitt_http.DeviceIOError: Failed to obtain 'get> CRITICAL __main__: 
> **** Exiting.
> > 
> > I myself have resolved that issue on my raspberry pi4 by enabling "wait 
> on network" before starting other services.
>
> this behavior is by design. when a driver fails during initialization, it 
> is *supposed* to fail hard - that way you can figure out what is happening 
> and fix it.
>
> in this particular case, the solution is to either set 
> "loop_on_init=True", or fix your system configuration so that networking is 
> established before weewx starts up.
>
> details:
>
> there are some drivers and weewx installations that never use networking. 
> in those cases, they do not need the system to have networking before weewx 
> starts.
>
> there are some installations of the ecowitt driver that are bound to a 
> specific ip address, others use the discovery option to automatically find 
> an ecowitt station on the network. there are some installations that have 
> multiple weewx instances, each of which talks to a different ecowitt 
> station. this requires binding to an address instead of discovery. in the 
> binding case, it is useful to have the driver fail hard when it cannot 
> contact the ecowitt station - that indicates that the ip address of the 
> station has changed, or the station is not online, or ...
>
>
>
>

-- 
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 visit 
https://groups.google.com/d/msgid/weewx-user/122f8dfa-486b-4b55-af39-054af0eaf87fn%40googlegroups.com.

Reply via email to