mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-06-30 12:34:30 +02:00
Added config options for sensor selection #68
This commit is contained in:
parent
bbd29aad48
commit
f114ed23b3
3 changed files with 103 additions and 25 deletions
|
@ -27,6 +27,20 @@ from .const import (
|
|||
DEFAULT_SCAN_INTERVAL,
|
||||
CONF_TRACK_HOSTS,
|
||||
DEFAULT_TRACK_HOSTS,
|
||||
CONF_SENSOR_PORT_TRACKER,
|
||||
DEFAULT_SENSOR_PORT_TRACKER,
|
||||
CONF_SENSOR_PORT_TRAFFIC,
|
||||
DEFAULT_SENSOR_PORT_TRAFFIC,
|
||||
CONF_SENSOR_CLIENT_TRAFFIC,
|
||||
DEFAULT_SENSOR_CLIENT_TRAFFIC,
|
||||
CONF_SENSOR_SIMPLE_QUEUES,
|
||||
DEFAULT_SENSOR_SIMPLE_QUEUES,
|
||||
CONF_SENSOR_NAT,
|
||||
DEFAULT_SENSOR_NAT,
|
||||
CONF_SENSOR_SCRIPTS,
|
||||
DEFAULT_SENSOR_SCRIPTS,
|
||||
CONF_SENSOR_ENVIRONMENT,
|
||||
DEFAULT_SENSOR_ENVIRONMENT,
|
||||
CONF_TRACK_HOSTS_TIMEOUT,
|
||||
DEFAULT_TRACK_HOST_TIMEOUT,
|
||||
LIST_UNIT_OF_MEASUREMENT,
|
||||
|
@ -155,7 +169,7 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
|
|||
"""Manage the basic options options."""
|
||||
if user_input is not None:
|
||||
self.options.update(user_input)
|
||||
return await self.async_step_device_tracker()
|
||||
return await self.async_step_sensor_select()
|
||||
|
||||
return self.async_show_form(
|
||||
step_id="basic_options",
|
||||
|
@ -179,26 +193,6 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
|
|||
CONF_TRACK_IFACE_CLIENTS, DEFAULT_TRACK_IFACE_CLIENTS
|
||||
),
|
||||
): bool,
|
||||
}
|
||||
),
|
||||
)
|
||||
|
||||
async def async_step_device_tracker(self, user_input=None):
|
||||
"""Manage the device tracker options."""
|
||||
if user_input is not None:
|
||||
self.options.update(user_input)
|
||||
return self.async_create_entry(title="", data=self.options)
|
||||
|
||||
return self.async_show_form(
|
||||
step_id="device_tracker",
|
||||
data_schema=vol.Schema(
|
||||
{
|
||||
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(
|
||||
|
@ -208,3 +202,65 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
|
|||
}
|
||||
),
|
||||
)
|
||||
|
||||
async def async_step_sensor_select(self, user_input=None):
|
||||
"""Manage the sensor select options."""
|
||||
if user_input is not None:
|
||||
self.options.update(user_input)
|
||||
return self.async_create_entry(title="", data=self.options)
|
||||
|
||||
return self.async_show_form(
|
||||
step_id="sensor_select",
|
||||
data_schema=vol.Schema(
|
||||
{
|
||||
vol.Optional(
|
||||
CONF_SENSOR_PORT_TRACKER,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_PORT_TRACKER, DEFAULT_SENSOR_PORT_TRACKER
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_PORT_TRAFFIC,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_PORT_TRAFFIC, DEFAULT_SENSOR_PORT_TRAFFIC
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_TRACK_HOSTS,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_TRACK_HOSTS, DEFAULT_TRACK_HOSTS
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_CLIENT_TRAFFIC,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_CLIENT_TRAFFIC, DEFAULT_SENSOR_CLIENT_TRAFFIC
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_SIMPLE_QUEUES,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_SIMPLE_QUEUES, DEFAULT_SENSOR_SIMPLE_QUEUES
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_NAT,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_NAT, DEFAULT_SENSOR_NAT
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_SCRIPTS,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_SCRIPTS, DEFAULT_SENSOR_SCRIPTS
|
||||
),
|
||||
): bool,
|
||||
vol.Optional(
|
||||
CONF_SENSOR_ENVIRONMENT,
|
||||
default=self.config_entry.options.get(
|
||||
CONF_SENSOR_ENVIRONMENT, DEFAULT_SENSOR_ENVIRONMENT
|
||||
),
|
||||
): bool,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
|
@ -27,3 +27,18 @@ CONF_TRACK_HOSTS = "track_network_hosts"
|
|||
DEFAULT_TRACK_HOSTS = False
|
||||
CONF_TRACK_HOSTS_TIMEOUT = "track_network_hosts_timeout"
|
||||
DEFAULT_TRACK_HOST_TIMEOUT = 180
|
||||
|
||||
CONF_SENSOR_PORT_TRACKER = "sensor_port_tracker"
|
||||
DEFAULT_SENSOR_PORT_TRACKER = False
|
||||
CONF_SENSOR_PORT_TRAFFIC = "sensor_port_traffic"
|
||||
DEFAULT_SENSOR_PORT_TRAFFIC = False
|
||||
CONF_SENSOR_CLIENT_TRAFFIC = "sensor_client_traffic"
|
||||
DEFAULT_SENSOR_CLIENT_TRAFFIC = False
|
||||
CONF_SENSOR_SIMPLE_QUEUES = "sensor_simple_queues"
|
||||
DEFAULT_SENSOR_SIMPLE_QUEUES = False
|
||||
CONF_SENSOR_NAT = "sensor_nat"
|
||||
DEFAULT_SENSOR_NAT = False
|
||||
CONF_SENSOR_SCRIPTS = "sensor_scripts"
|
||||
DEFAULT_SENSOR_SCRIPTS = False
|
||||
CONF_SENSOR_ENVIRONMENT = "sensor_environment"
|
||||
DEFAULT_SENSOR_ENVIRONMENT = False
|
||||
|
|
|
@ -28,16 +28,23 @@
|
|||
"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_timeout": "Track network devices timeout (seconds)"
|
||||
},
|
||||
"title": "Basic options"
|
||||
},
|
||||
"device_tracker": {
|
||||
"sensor_select": {
|
||||
"data": {
|
||||
"sensor_port_tracker": "Port tracker",
|
||||
"sensor_port_traffic": "Port traffic",
|
||||
"track_network_hosts": "Track network devices",
|
||||
"track_network_hosts_timeout": "Track network devices timeout (seconds)"
|
||||
"sensor_client_traffic": "Client traffic",
|
||||
"sensor_simple_queues": "Simple queues",
|
||||
"sensor_nat": "NAT",
|
||||
"sensor_scripts": "Scripts",
|
||||
"sensor_environment": "Environment variables"
|
||||
},
|
||||
"title": "Device tracking options"
|
||||
"title": "Sensor selection"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue