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", "port": "Port",
"username": "Username", "username": "Username",
"password": "Password", "password": "Password",
"ssl": "Use SSL", "ssl": "Use SSL"
"unit_of_measurement": "Unit of measurement"
} }
} }
}, },
"error": { "error": {
"name_exists": "Name already exists.", "name_exists": "Name already exists.",
"cannot_connect": "Cannot connect to Mikrotik.", "cannot_connect": "Cannot connect to Mikrotik.",
"ssl_handshake_failure": "SSL handshake failure.", "ssl_handshake_failure": "SSL handshake failure",
"connection_timeout": "Mikrotik connection timeout.", "connection_timeout": "Mikrotik connection timeout.",
"wrong_login": "Invalid username or password." "wrong_login": "Invalid user name or password."
} }
}, },
"options": { "options": {
@ -33,7 +32,9 @@
"data": { "data": {
"scan_interval": "Scan interval (requires HA restart)", "scan_interval": "Scan interval (requires HA restart)",
"track_iface_clients": "Show client MAC and IP on interfaces", "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, DEFAULT_TRACK_IFACE_CLIENTS,
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
DEFAULT_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL,
CONF_TRACK_HOSTS,
DEFAULT_TRACK_HOSTS,
CONF_TRACK_HOSTS_TIMEOUT,
DEFAULT_TRACK_HOST_TIMEOUT,
LIST_UNIT_OF_MEASUREMENT, LIST_UNIT_OF_MEASUREMENT,
DEFAULT_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT,
DEFAULT_HOST, DEFAULT_HOST,
@ -162,12 +166,6 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
step_id="device_tracker", step_id="device_tracker",
data_schema=vol.Schema( 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( vol.Optional(
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
default=self.config_entry.options.get( default=self.config_entry.options.get(
@ -180,6 +178,24 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
CONF_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT CONF_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT
), ),
): vol.In(LIST_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_NAME = "Mikrotik"
DEFAULT_SSL = False 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" CONF_SCAN_INTERVAL = "scan_interval"
DEFAULT_TRACK_IFACE_CLIENTS = True
DEFAULT_SCAN_INTERVAL = 30 DEFAULT_SCAN_INTERVAL = 30
LIST_UNIT_OF_MEASUREMENT = ["bps", "Kbps", "Mbps", "B/s", "KB/s", "MB/s"]
DEFAULT_UNIT_OF_MEASUREMENT = "Kbps" 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)", "scan_interval": "Scan interval (requires HA restart)",
"track_iface_clients": "Show client MAC and IP on interfaces", "track_iface_clients": "Show client MAC and IP on interfaces",
"unit_of_measurement": "Unit of measurement", "unit_of_measurement": "Unit of measurement",
"track_network_clients": "Track network devices", "track_network_hosts": "Track network devices",
"scan_interval": "Scan interval (requires HA restart)" "track_network_hosts_timeout": "Track network devices timeout (seconds)"
} }
} }
} }