Mengatasi Mikrotik Router Custom Integration Error di Home Assistant 2026.4.2
Baru-baru ini saya melakukan update Home Assistant di server Unraid saya (berjalan di atas Docker) ke versi 2026.4.2. Proses update berjalan lancar seperti biasa, sampai saya sadar ada satu hal yang janggal.
Integrasi Mikrotik Router tiba-tiba terputus dan tidak bisa terhubung sama sekali ke router Mikrotik saya.

Apa Penyebabnya?
Untuk mencari tahu masalahnya, saya langsung mengecek file home-assistant.log. Di sana, saya menemukan error yang cukup jelas:
ERROR (SyncWorker_5) [custom_components.mikrotik_router.mikrotikapi] Mikrotik 10.20.30.40 error while connecting: connect() got an unexpected keyword argument 'login_methods'. Did you mean 'login_method'?
Dari log tersebut, terlihat bahwa ada perubahan parameter dari login_methods menjadi login_method pada library bawaan yang digunakan. Sayangnya, maintainer dari custom integration ini (tomaae/homeassistant-mikrotik_router) sepertinya belum merilis update untuk memperbaiki bug ini.
Bagaimana tidak kesal? Tapi untungnya, kita bisa memperbaiki masalah ini sendiri dengan sedikit modifikasi file secara manual.
Cara Memperbaiki
Kita perlu mengedit file mikrotikapi.py yang ada di dalam folder instalasi custom integration tersebut.
Langkah 1: Edit File
Buka file /custom_components/mikrotik_router/mikrotikapi.py menggunakan text editor andalan kalian.
Langkah 2: Tambahkan Import
Di bagian atas file, tambahkan deklarasi import baru berikut ini:
from librouteros.login import plain, token
Langkah 3: Ganti Fungsi Connect
Cari fungsi connect(self) -> bool: di dalam file tersebut, lalu timpa seluruh fungsi tersebut dengan code di bawah ini:
# ---------------------------
# connect
# ---------------------------
def connect(self) -> bool:
"""Connect to Mikrotik device."""
self.error = ""
self._connected = False
self._connection_epoch = time()
login_method = self._login_method
if login_method == "plain":
login_method = plain
elif login_method == "token":
login_method = token
kwargs = {
"encoding": self._encoding,
"login_method": login_method,
"port": self._port,
}
self.lock.acquire()
try:
if self._use_ssl:
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
if self._ssl_verify:
ssl_context.verify_mode = ssl.CERT_REQUIRED
ssl_context.verify_flags &= ~ssl.VERIFY_X509_STRICT
from functools import partial
ssl_wrapper = partial(
ssl_context.wrap_socket,
server_hostname=self._host,
)
else:
ssl_context.verify_mode = ssl.CERT_NONE
ssl_context.set_ciphers("ADH:@SECLEVEL=0")
ssl_wrapper = ssl_context.wrap_socket
kwargs["ssl_wrapper"] = ssl_wrapper
self._connection = librouteros.connect(
self._host, self._username, self._password, **kwargs
)
except Exception as e:
if not self.connection_error_reported:
_LOGGER.error("Mikrotik %s error while connecting: %s", self._host, e)
self.connection_error_reported = True
self.error_to_strings(f"{e}")
self._connection = None
self.lock.release()
return False
else:
if self.connection_error_reported:
_LOGGER.warning("Mikrotik Reconnected to %s", self._host)
self.connection_error_reported = False
else:
_LOGGER.debug("Mikrotik Connected to %s", self._host)
self._connected = True
self._reconnected = True
self.lock.release()
return self._connected
Simpan file tersebut, lalu restart Home Assistant.
Setelah proses restart selesai, integrasi Mikrotik Router seharusnya sudah kembali terhubung dengan normal tanpa ada error di log. Setidaknya fix sementara ini bisa kita gunakan sampai maintainer resminya merilis pembaruan.
Stay curious! ✨