added device tracking options to config flow #24

This commit is contained in:
tomaae 2020-04-09 23:08:29 +02:00
parent e62e67e918
commit 41b6010210
4 changed files with 37 additions and 19 deletions

View file

@ -11,17 +11,16 @@
"port": "Port",
"username": "Username",
"password": "Password",
"ssl": "Use SSL",
"unit_of_measurement": "Unit of measurement"
"ssl": "Use SSL"
}
}
},
"error": {
"name_exists": "Name already exists.",
"cannot_connect": "Cannot connect to Mikrotik.",
"ssl_handshake_failure": "SSL handshake failure.",
"ssl_handshake_failure": "SSL handshake failure",
"connection_timeout": "Mikrotik connection timeout.",
"wrong_login": "Invalid username or password."
"wrong_login": "Invalid user name or password."
}
},
"options": {
@ -33,7 +32,9 @@
"data": {
"scan_interval": "Scan interval (requires HA restart)",
"track_iface_clients": "Show client MAC and IP on interfaces",
"unit_of_measurement": "Unit of measurement"
"unit_of_measurement": "Unit of measurement",
"track_network_hosts": "Track network devices",
"track_network_hosts_timeout": "Track network devices timeout (seconds)"
}
}
}

View file

@ -25,6 +25,10 @@ from .const import (
DEFAULT_TRACK_IFACE_CLIENTS,
CONF_SCAN_INTERVAL,
DEFAULT_SCAN_INTERVAL,
CONF_TRACK_HOSTS,
DEFAULT_TRACK_HOSTS,
CONF_TRACK_HOSTS_TIMEOUT,
DEFAULT_TRACK_HOST_TIMEOUT,
LIST_UNIT_OF_MEASUREMENT,
DEFAULT_UNIT_OF_MEASUREMENT,
DEFAULT_HOST,
@ -162,12 +166,6 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
step_id="device_tracker",
data_schema=vol.Schema(
{
vol.Optional(
CONF_TRACK_IFACE_CLIENTS,
default=self.config_entry.options.get(
CONF_TRACK_IFACE_CLIENTS, DEFAULT_TRACK_IFACE_CLIENTS
),
): bool,
vol.Optional(
CONF_SCAN_INTERVAL,
default=self.config_entry.options.get(
@ -180,6 +178,24 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
CONF_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT
),
): vol.In(LIST_UNIT_OF_MEASUREMENT),
vol.Optional(
CONF_TRACK_IFACE_CLIENTS,
default=self.config_entry.options.get(
CONF_TRACK_IFACE_CLIENTS, DEFAULT_TRACK_IFACE_CLIENTS
),
): bool,
vol.Optional(
CONF_TRACK_HOSTS,
default=self.config_entry.options.get(
CONF_TRACK_HOSTS, DEFAULT_TRACK_HOSTS
),
): bool,
vol.Optional(
CONF_TRACK_HOSTS_TIMEOUT,
default=self.config_entry.options.get(
CONF_TRACK_HOSTS_TIMEOUT, DEFAULT_TRACK_HOST_TIMEOUT
),
): int
}
),
)

View file

@ -15,12 +15,13 @@ DEFAULT_PORT = 0
DEFAULT_NAME = "Mikrotik"
DEFAULT_SSL = False
LIST_UNIT_OF_MEASUREMENT = ["bps", "Kbps", "Mbps", "B/s", "KB/s", "MB/s"]
CONF_TRACK_IFACE_CLIENTS = "track_iface_clients"
CONF_SCAN_INTERVAL = "scan_interval"
DEFAULT_TRACK_IFACE_CLIENTS = True
DEFAULT_SCAN_INTERVAL = 30
LIST_UNIT_OF_MEASUREMENT = ["bps", "Kbps", "Mbps", "B/s", "KB/s", "MB/s"]
DEFAULT_UNIT_OF_MEASUREMENT = "Kbps"
CONF_TRACK_IFACE_CLIENTS = "track_iface_clients"
DEFAULT_TRACK_IFACE_CLIENTS = True
CONF_TRACK_HOSTS = "track_network_hosts"
DEFAULT_TRACK_HOSTS = False
CONF_TRACK_HOSTS_TIMEOUT = "track_network_hosts_timeout"
DEFAULT_TRACK_HOST_TIMEOUT = 180

View file

@ -33,8 +33,8 @@
"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_clients": "Track network devices",
"scan_interval": "Scan interval (requires HA restart)"
"track_network_hosts": "Track network devices",
"track_network_hosts_timeout": "Track network devices timeout (seconds)"
}
}
}