diff --git a/VERSION b/VERSION index 938dde1..53675af 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.15 +0.99.16 diff --git a/amcrest_api.py b/amcrest_api.py index b7a50c8..0925359 100644 --- a/amcrest_api.py +++ b/amcrest_api.py @@ -37,6 +37,10 @@ class AmcrestAPI(object): # return just the config of each device, not the camera object return {d: self.devices[d]['config'] for d in self.devices.keys()} + def reset_connection(self, device_id): + device = self.devices[device_id] + device['camera'] = get_camera(device['config']['host']) + def get_camera(self, host): return AmcrestCamera( host, @@ -120,6 +124,7 @@ class AmcrestAPI(object): await self.process_device_event(device_id, code, payload) except Exception as err: self.logger.error(f'Failed to get events from device ({device_id}): {err}') + self.reset_connection(device_id) async def process_device_event(self, device_id, code, payload): try: