Skip to content

Commit 481db17

Browse files
authored
catch keyerror for get devices
if keyerror on get device set login valid to false send message to log. Next attempt will login again.
1 parent 579d1c6 commit 481db17

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

pymyq/__init__.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,19 @@ def get_devices(self):
120120
)
121121

122122
devices.raise_for_status()
123-
124-
devices = devices.json()['Devices']
125-
126-
return devices
123+
127124
except requests.exceptions.HTTPError as ex:
128125
self.logger.error("MyQ - API Error[get_devices] %s", ex)
129126
return False
130127

128+
try:
129+
devices = devices.json()['Devices']
130+
return devices
131+
except KeyError:
132+
self.logger.error("MyQ - Login security token may have expired, will attempt relogin on next update")
133+
self._logged_in = False
134+
135+
131136
def get_garage_doors(self):
132137
"""List only MyQ garage door devices."""
133138
devices = self.get_devices()

0 commit comments

Comments
 (0)