>From memory if the driver loses connectivity (ie no response is received to
an API request) it retries the same command two more times and if still no
response falls back to broadcast to locate the device (the MAC address is
used to ensure the driver connects to the same device). If no response to
the broadcast then the 60 sec delayed driver restart kicks in and if an IP
address has been specified it should be used rather than using a broadcast
(need to check). I could probably have the driver try the IP address (if
one has been specified) as well as the broadcast before bailing out into
the 60 second delayed driver restart.
There is the ability to reboot the GW1000 but you need connectivity to
issue the command plus I am loathed to start doing things like that in the
driver.
Gary
On Friday, 19 March 2021 at 01:27:49 UTC+10 vince wrote:
> I specified ip address, but I might note that the gateway is on a
> different VLAN/subnet than the weewx container, so nothing broadcast would
> work if you're using that under the hood. Given that I'm hard-specifying
> an ip_address, shouldn't all the relatively complicated discovery code be
> being skipped perhaps ?
>
> This isn't a big deal for me so no rush required, but I thought I'd post
> the abort in case others have run into the same issue...
>
> On Wednesday, March 17, 2021 at 7:50:44 PM UTC-7 gjr80 wrote:
>
>> Vince,
>>
>> I'll have a look at this in the coming days. Out of interest have you
>> specified an ip address for the GW1000 in weewx.conf or is discovery
>> being used.
>>
>> Gary
>>
>> On Thursday, 18 March 2021 at 11:30:36 UTC+10 vince wrote:
>>
>>> (apologies if this is badly formatted - google groups is going whacko
>>> for me currently and I'm now stuck in a tiny overlaid window in the Safari
>>> browser)
>>>
>>> I notice that my weewx (docker) instance running the gw1000 driver lost
>>> connection to the gateway on Sunday. I am going to guess it did not have
>>> anything to do with the daylight savings transition here in the US as the
>>> failure was at 20:42 localtime on Sunday 3/14.
>>>
>>> Restarting the weewx container did not help. While the ubuntu system
>>> could ping the ip address of the gw1000 just fine, weewx is complaining it
>>> can't find the mac address of the gateway and throws the usual 'retrying in
>>> 60 seconds' messages.
>>>
>>> I might add that the gateway's comm to the Ecowitt servers was working
>>> fine during this multi-day outage before I noticed weewx wasn't updating.
>>> The Ecowitt mobile app didn't miss any readings, it was just weewx that
>>> couldn't communicate with the gateway.
>>>
>>> Transcript follows.
>>>
>>> (note - a power reset on the gateway 'did' result in weewx automatically
>>> working again)
>>>
>>> Mar 14 20:41:55 d75bb2f0dc58 weewx[8] CRITICAL __main__: Caught
>>> WeeWxIOError: Failed to obtain response to command 'CMD_READ_SENSOR_ID'
>>> after 3 attempts
>>> Mar 14 20:41:55 d75bb2f0dc58 weewx[8] CRITICAL __main__: ****
>>> Waiting 60 seconds then retrying...
>>> Mar 14 20:42:55 d75bb2f0dc58 weewx[8] INFO __main__: retrying...
>>> Mar 14 20:42:55 d75bb2f0dc58 weewx[8] INFO __main__: Using configuration
>>> file /home/weewx/weewx.conf
>>> Mar 14 20:42:55 d75bb2f0dc58 weewx[8] INFO __main__: Debug is 0
>>> Mar 14 20:42:55 d75bb2f0dc58 weewx[8] INFO weewx.engine: Loading station
>>> type GW1000 (user.gw1000)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] ERROR user.gw1000: Failed to
>>> obtain response to command 'CMD_READ_STATION_MAC' after 3 attempts
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] ERROR weewx.engine: Import of
>>> driver failed: Failed to obtain response to command 'CMD_READ_STATION_MAC'
>>> after 3 attempts (<class 'user.gw1000.GW1000IOError'>)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> Traceback (most recent call last):
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/weewx/engine.py", line 119, in setupStation
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> self.console = loader_function(config_dict, self)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 1498, in loader
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> return Gw1000Driver(**config_dict[DRIVER_NAME])
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 1844, in __init__
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> super(Gw1000Driver, self).__init__(**stn_dict)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 972, in __init__
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> debug_wind=self.debug_wind)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 2166, in __init__
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> lost_contact_log_period=lost_contact_log_period)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 2964, in __init__
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> self.mac = self.get_mac_address()
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 3173, in get_mac_address
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> return self.send_cmd_with_retries('CMD_READ_STATION_MAC')
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> File "/home/weewx/bin/user/gw1000.py", line 3375, in send_cmd_with_retries
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> raise GW1000IOError(_msg)
>>> Mar 14 20:43:21 d75bb2f0dc58 weewx[8] CRITICAL weewx.engine: ****
>>> user.gw1000.GW1000IOError: Failed to obtain response to command
>>> 'CMD_READ_STATION_MAC' after 3 attempts
>>>
>>>
--
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/778794f6-ddcc-4caf-bb53-6304819eebe6n%40googlegroups.com.