This commit is contained in:
Tomaae 2023-08-31 02:53:34 +02:00
commit c8728238af
No known key found for this signature in database
GPG key ID: 2F97770867DAA4E6
10 changed files with 142 additions and 19 deletions

View file

@ -6,7 +6,7 @@
![GitHub commits since latest release](https://img.shields.io/github/commits-since/tomaae/homeassistant-mikrotik_router/latest?style=plastic)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/tomaae/homeassistant-mikrotik_router?style=plastic)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/tomaae/homeassistant-mikrotik_router/CI?label=CI&style=plastic)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/tomaae/homeassistant-mikrotik_router/ci.yml?style=plastic)
[![Help localize](https://img.shields.io/badge/lokalise-join-green?style=plastic&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REVCNzgzOEY4NDYxMTFFQUIyMEY4Njc0NzVDOUZFMkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REVCNzgzOEU4NDYxMTFFQUIyMEY4Njc0NzVDOUZFMkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0ZDRUY4Rjc0M0UxMUU3QUQ2MDg4M0Q0MkE0NjNCNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0ZDRUY5MDc0M0UxMUU3QUQ2MDg4M0Q0MkE0NjNCNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pjs1zyIAAABVSURBVHjaYvz//z8DOYCJgUxAtkYW9+mXyXIrI7l+ZGHc0k5nGxkupdHZxve1yQR1CjbPZURXh9dGoGJZIPUI2QC4JEgjIfyuJuk/uhgj3dMqQIABAPEGTZ/+h0kEAAAAAElFTkSuQmCC)](https://app.lokalise.com/public/581188395e9778a6060128.17699416/)

View file

@ -442,9 +442,9 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]):
# ---------------------------
# execute
# ---------------------------
def execute(self, path, command, param, value):
def execute(self, path, command, param, value, attributes=None):
"""Change value using Mikrotik API"""
return self.api.execute(path, command, param, value)
return self.api.execute(path, command, param, value, attributes)
# ---------------------------
# run_script
@ -1487,7 +1487,9 @@ class MikrotikCoordinator(DataUpdateCoordinator[None]):
):
return
self.execute("/system/package/update", "check-for-updates", None, None)
self.execute(
"/system/package/update", "check-for-updates", None, None, {"duration": 10}
)
self.ds["fw-update"] = parse_api(
data=self.ds["fw-update"],
source=self.api.query("/system/package/update"),

View file

@ -258,7 +258,7 @@ class MikrotikAPI:
# ---------------------------
# execute
# ---------------------------
def execute(self, path, command, param, value) -> bool:
def execute(self, path, command, param, value, attributes=None) -> bool:
"""Execute a command"""
entry_found = None
params = {}
@ -292,6 +292,9 @@ class MikrotikAPI:
params = {".id": entry_found}
if attributes:
params.update(attributes)
self.lock.acquire()
try:
tuple(response(command, **params))

View file

@ -331,7 +331,7 @@ SENSOR_TYPES: tuple[MikrotikSensorEntityDescription, ...] = (
icon="mdi:lan",
native_unit_of_measurement=None,
device_class=None,
state_class=None,
state_class=SensorStateClass.MEASUREMENT,
entity_category=None,
ha_group="System",
data_path="resource",
@ -346,7 +346,7 @@ SENSOR_TYPES: tuple[MikrotikSensorEntityDescription, ...] = (
icon="mdi:wifi",
native_unit_of_measurement=None,
device_class=None,
state_class=None,
state_class=SensorStateClass.MEASUREMENT,
entity_category=None,
ha_group="System",
data_path="resource",
@ -361,7 +361,7 @@ SENSOR_TYPES: tuple[MikrotikSensorEntityDescription, ...] = (
icon="mdi:key-wireless",
native_unit_of_measurement=None,
device_class=None,
state_class=None,
state_class=SensorStateClass.MEASUREMENT,
entity_category=None,
ha_group="System",
data_path="resource",

View file

@ -49,7 +49,7 @@
"sensor_mangle": "Mangle spínače",
"sensor_ppp": "Uživatelé PPP",
"sensor_filter": "Přepínače filtrů",
"sensor_client_captive": "Captive portal data"
"sensor_client_captive": "Captive portál data"
},
"title": "Nastavení Mikrotik Router (2\/2)",
"description": "Povolit senzory a přepínače"

View file

@ -17,7 +17,7 @@
"error": {
"name_exists": "Name existiert bereits",
"cannot_connect": "Verbindung zu Mikrotik nicht möglich.",
"ssl_handshake_failure": "SSL Vereinbarung-Fehler",
"ssl_handshake_failure": "SSL Handshake Fehler",
"connection_timeout": "Mikrotik-Verbindungstimeout.",
"wrong_login": "Ungültiger Benutzername oder Passwort."
}
@ -38,18 +38,18 @@
"sensor_select": {
"data": {
"track_network_hosts": "Verfolgen Sie Netzwerkgeräte",
"sensor_port_tracker": "Hafentracker-Sensoren",
"sensor_port_traffic": "Hafen-Verkehrssensoren",
"sensor_client_traffic": "Kunden-Verkehrssensoren",
"sensor_port_tracker": "Port-Statussensoren",
"sensor_port_traffic": "Port-Durchsatz Sensoren",
"sensor_client_traffic": "Client-Durchsatz Sensoren",
"sensor_simple_queues": "Einfache Endschalter",
"sensor_nat": "NAT-Schalter",
"sensor_scripts": "Skript-Schalter",
"sensor_environment": "Umwelt variable Sensoren",
"sensor_environment": "umgebungsvariablen-Sensoren",
"sensor_kidcontrol": "Kinderkontrolle",
"sensor_mangle": "Mangle-Schalter",
"sensor_ppp": "PPP-Nutzer",
"sensor_filter": "Schalter filtern",
"sensor_client_captive": "Captive portal data"
"sensor_filter": "Schalter für Filterregeln",
"sensor_client_captive": "Captive-Portal Daten"
},
"title": "Mikrotik-Router-Optionen (2\/2)",
"description": "Sensoren und Schalter aktivieren"

View file

@ -0,0 +1,59 @@
{
"config": {
"step": {
"user": {
"title": "Sett opp Mikrotik router",
"description": "Sett opp Mikrotik Router integrasjon",
"data": {
"name": "Navn på integreringen",
"host": "Adresse",
"port": "Port",
"username": "Brukernavn",
"password": "Passord",
"ssl": "Bruk SSL"
}
}
},
"error": {
"name_exists": "Navnet eksisterer allerede",
"cannot_connect": "Kunne ikke koble til Mikrotik",
"ssl_handshake_failure": "SSH håndtrykkfeil",
"connection_timeout": "Mikrotik tilkoblingen fikk tidsavbrudd",
"wrong_login": "Feil brukernavn og\/eller passord"
}
},
"options": {
"step": {
"basic_options": {
"data": {
"scan_interval": "Søke interval (krever HA omstart)",
"track_iface_clients": "Vis klient MAC og IP på grensesnittet",
"unit_of_measurement": "Måleenhet",
"track_network_hosts_timeout": "Spor nettverks enhet tidsavbrudd (sekunder)",
"zone": "Sone for enhetssporer"
},
"title": "Mikrotik Router alternativer",
"description": "Konfigurer integrasjon"
},
"sensor_select": {
"data": {
"track_network_hosts": "Spor nettverksenheter",
"sensor_port_tracker": "Port sporings sensorer",
"sensor_port_traffic": "Port trafikk sensorer",
"sensor_client_traffic": "Klient trafikk sensorer",
"sensor_simple_queues": "Enklel kø brytere",
"sensor_nat": "NAT Brytere",
"sensor_scripts": "Script brytere",
"sensor_environment": "Miljøvariabel sensorer",
"sensor_kidcontrol": "Barnekontroll",
"sensor_mangle": "Mangle brytere",
"sensor_ppp": "PPP Brukere",
"sensor_filter": "Filter brytere",
"sensor_client_captive": "Captive portal data"
},
"title": "Mikrotik Router options (2\/2)",
"description": "Skru på sensorer og brytere"
}
}
}
}

View file

@ -49,7 +49,7 @@
"sensor_mangle": "Interruptores Mangle",
"sensor_ppp": "Usuários de PPP",
"sensor_filter": "Interruptores de filtro",
"sensor_client_captive": "Captive portal data"
"sensor_client_captive": "sensores de cliente cativo"
},
"title": "Opções de roteador Mikrotik (2\/2)",
"description": "Ativar sensores e interruptores"

View file

@ -6,7 +6,7 @@
"description": "Настройка Home Assistant для интеграции с Mikrotik.",
"data": {
"name": "Название интеграции",
"host": "Адрес маршрутизатора",
"host": "Адрес хоста",
"port": "Порт",
"username": "Имя пользователя",
"password": "Пароль",
@ -49,7 +49,7 @@
"sensor_mangle": "Переключатели Mangle",
"sensor_ppp": "PPP-пользователи",
"sensor_filter": "Переключатели фильтров",
"sensor_client_captive": "Captive portal data"
"sensor_client_captive": "Данные портала авторизации"
},
"title": "Параметры Mikrotik Router (2\/2)",
"description": "Включить датчики и переключатели"

View file

@ -0,0 +1,59 @@
{
"config": {
"step": {
"user": {
"title": "Налаштувати Mikrotik Router",
"description": "Налаштувати Mikrotik Router інтеграцію",
"data": {
"name": "Назва інтеграції",
"host": "Хост",
"port": "Порт",
"username": "Користувач",
"password": "Пароль",
"ssl": "Використовувати SSL"
}
}
},
"error": {
"name_exists": "Назва вже існує.",
"cannot_connect": "Cannot connect to Mikrotik.",
"ssl_handshake_failure": "SSL handshake failure",
"connection_timeout": "Mikrotik connection timeout.",
"wrong_login": "Invalid user name or password."
}
},
"options": {
"step": {
"basic_options": {
"data": {
"scan_interval": "Scan interval (requires HA restart)",
"track_iface_clients": "Show client MAC and IP on interfaces",
"unit_of_measurement": "Unit of measurement",
"track_network_hosts_timeout": "Track network devices timeout (seconds)",
"zone": "Zone for device tracker"
},
"title": "Mikrotik Router options (1\/2)",
"description": "Налаштувати інтеграцію"
},
"sensor_select": {
"data": {
"track_network_hosts": "Track network devices",
"sensor_port_tracker": "Port tracker sensors",
"sensor_port_traffic": "Port traffic sensors",
"sensor_client_traffic": "Client traffic sensors",
"sensor_simple_queues": "Simple queues switches",
"sensor_nat": "NAT switches",
"sensor_scripts": "Script switches",
"sensor_environment": "Environment variable sensors",
"sensor_kidcontrol": "Дитячий контроль",
"sensor_mangle": "Mangle switches",
"sensor_ppp": "Користувачі PPP",
"sensor_filter": "Filter switches",
"sensor_client_captive": "Captive portal data"
},
"title": "Mikrotik Router options (2\/2)",
"description": "Enable sensors and switches"
}
}
}
}