mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-07 07:54:31 +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:
|
if not self._port:
|
||||||
self._port = 8729 if self._use_ssl else 8728
|
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
|
# connect
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
|
@ -157,10 +166,12 @@ class MikrotikAPI:
|
||||||
) as api_error:
|
) as api_error:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while path %s", self._host, api_error)
|
_LOGGER.error("Mikrotik %s error while path %s", self._host, api_error)
|
||||||
|
self.disconnect()
|
||||||
return None
|
return None
|
||||||
except:
|
except:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while path %s", self._host, "unknown")
|
_LOGGER.error("Mikrotik %s error while path %s", self._host, "unknown")
|
||||||
|
self.disconnect()
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
|
@ -218,10 +229,12 @@ class MikrotikAPI:
|
||||||
) as api_error:
|
) as api_error:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while update %s", self._host, api_error)
|
_LOGGER.error("Mikrotik %s error while update %s", self._host, api_error)
|
||||||
|
self.disconnect()
|
||||||
return False
|
return False
|
||||||
except:
|
except:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while update %s", self._host, "unknown")
|
_LOGGER.error("Mikrotik %s error while update %s", self._host, "unknown")
|
||||||
|
self.disconnect()
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
|
@ -279,10 +292,12 @@ class MikrotikAPI:
|
||||||
) as api_error:
|
) as api_error:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, api_error)
|
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, api_error)
|
||||||
|
self.disconnect()
|
||||||
return False
|
return False
|
||||||
except:
|
except:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, "unknown")
|
_LOGGER.error("Mikrotik %s error while run_script %s", self._host, "unknown")
|
||||||
|
self.disconnect()
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
|
@ -333,10 +348,12 @@ class MikrotikAPI:
|
||||||
) as api_error:
|
) as api_error:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, api_error)
|
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, api_error)
|
||||||
|
self.disconnect()
|
||||||
return None
|
return None
|
||||||
except:
|
except:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, "unknown")
|
_LOGGER.error("Mikrotik %s error while get_traffic %s", self._host, "unknown")
|
||||||
|
self.disconnect()
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
self.lock.release()
|
self.lock.release()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue