2.5 KiB
title | description | ha_category | ha_release | ha_codeowners | ha_config_flow | ha_domain | ha_iot_class | ha_platforms | ha_integration_type | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mikrotik | Instructions on how to integrate MikroTik/RouterOS based devices into Home Assistant. |
|
0.44 |
|
true | mikrotik | Local Polling |
|
integration |
The mikrotik
platform offers presence detection by looking at connected devices to a MikroTik RouterOS based router.
There is currently support for the following device types within Home Assistant:
- Presence detection
Prerequisites
You have to enable accessing the RouterOS API on your router to use this platform.
RouterOS uses a ping test to determine client presence, make sure you are not blocking this on the client (Windows firewall default behavior), as this will result in the provided device_tracker
having the state not_home
.
Terminal:
/ip service
set api disabled=no port=8728
Web Frontend:
Go to IP -> Services -> API and enable it.
Make sure that port 8728 or the port you choose is accessible from your network.
{% include integrations/config_flow.md %}
Use a certificate
To use SSL to connect to the API (via api-ssl
instead of api
service) further configuration is required at RouterOS side. You have to upload or generate a certificate and configure api-ssl
service to use it. Here is an example of a self-signed certificate:
/certificate add common-name="Self signed demo certificate for API" days-valid=3650 name="Self signed demo certificate for API" key-usage=digital-signature,key-encipherment,tls-server,key-cert-sign,crl-sign
/certificate sign "Self signed demo certificate for API"
/ip service set api-ssl certificate="Self signed demo certificate for API"
/ip service enable api-ssl
If everything is working fine you can disable the pure api
service in RouterOS:
/ip service disable api
The user privileges in RouterOS
To use this device tracker, you only need limited privileges. To enhance the security of your MikroTik device, create a "read only" group with solely API and ping test permissions and add a user to that group:
/user
group add name=homeassistant policy=read,api,test
add group=homeassistant name=homeassistant
You will be prompted to set a password for the newly created user. Depending on your RouterOS version and configuration, you might need to set a password yourself:
/user set [find username=homeassistant] password=PASSWORD