mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-06-26 18:58:54 +02:00
api disconnects from router on communication error
This commit is contained in:
parent
2a9585a4b3
commit
94a80656c3
1 changed files with 17 additions and 0 deletions
|
@ -51,6 +51,15 @@ class MikrotikAPI:
|
|||
if not self._port:
|
||||
self._port = 8729 if self._use_ssl else 8728
|
||||
|
||||
# ---------------------------
|
||||
# disconnect
|
||||
# ---------------------------
|
||||
def disconnect(self) -> bool:
|
||||
"""Disconnect from Mikrotik device."""
|
||||
self._connected = False
|
||||
self._connection = None
|
||||
self._connection_epoch = 0
|
||||
|
||||
# ---------------------------
|
||||
# connect
|
||||
# ---------------------------
|
||||
|
@ -157,10 +166,12 @@ class MikrotikAPI:
|
|||
) as api_error:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while path %s", self._host, api_error)
|
||||
self.disconnect()
|
||||
return None
|
||||
except:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while path %s", self._host, "unknown")
|
||||
self.disconnect()
|
||||
return None
|
||||
else:
|
||||
self.lock.release()
|
||||
|
@ -218,10 +229,12 @@ class MikrotikAPI:
|
|||
) as api_error:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while update %s", self._host, api_error)
|
||||
self.disconnect()
|
||||
return False
|
||||
except:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while update %s", self._host, "unknown")
|
||||
self.disconnect()
|
||||
return False
|
||||
else:
|
||||
self.lock.release()
|
||||
|
@ -279,10 +292,12 @@ class MikrotikAPI:
|
|||
) as api_error:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, api_error)
|
||||
self.disconnect()
|
||||
return False
|
||||
except:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, "unknown")
|
||||
self.disconnect()
|
||||
return False
|
||||
else:
|
||||
self.lock.release()
|
||||
|
@ -333,10 +348,12 @@ class MikrotikAPI:
|
|||
) as api_error:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, api_error)
|
||||
self.disconnect()
|
||||
return None
|
||||
except:
|
||||
self.lock.release()
|
||||
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, "unknown")
|
||||
self.disconnect()
|
||||
return None
|
||||
else:
|
||||
self.lock.release()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue