mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-03 22:14:32 +02:00
added support for overriding zone name in device_tracker
This commit is contained in:
parent
6129e18cc3
commit
873d18e60a
4 changed files with 32 additions and 1 deletions
|
@ -16,6 +16,8 @@ from homeassistant.const import (
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
|
CONF_ZONE,
|
||||||
|
STATE_HOME
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
|
|
||||||
|
@ -207,6 +209,13 @@ class MikrotikControllerOptionsFlowHandler(OptionsFlow):
|
||||||
CONF_TRACK_HOSTS_TIMEOUT, DEFAULT_TRACK_HOST_TIMEOUT
|
CONF_TRACK_HOSTS_TIMEOUT, DEFAULT_TRACK_HOST_TIMEOUT
|
||||||
),
|
),
|
||||||
): int,
|
): int,
|
||||||
|
vol.Optional(
|
||||||
|
CONF_ZONE,
|
||||||
|
default=self.config_entry.options.get(
|
||||||
|
CONF_ZONE, STATE_HOME
|
||||||
|
),
|
||||||
|
): str,
|
||||||
|
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -9,6 +9,7 @@ from homeassistant.components.device_tracker.const import SOURCE_TYPE_ROUTER
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
ATTR_ATTRIBUTION,
|
ATTR_ATTRIBUTION,
|
||||||
|
STATE_NOT_HOME,
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
||||||
|
@ -300,6 +301,13 @@ class MikrotikControllerHostDeviceTracker(MikrotikControllerDeviceTracker):
|
||||||
return "mdi:lan-connect"
|
return "mdi:lan-connect"
|
||||||
return "mdi:lan-disconnect"
|
return "mdi:lan-disconnect"
|
||||||
|
|
||||||
|
@property
|
||||||
|
def state(self) -> str:
|
||||||
|
"""Return the state of the device."""
|
||||||
|
if self.is_connected:
|
||||||
|
return self._ctrl.option_zone
|
||||||
|
return STATE_NOT_HOME
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def extra_state_attributes(self) -> Dict[str, Any]:
|
def extra_state_attributes(self) -> Dict[str, Any]:
|
||||||
"""Return the state attributes."""
|
"""Return the state attributes."""
|
||||||
|
|
|
@ -24,6 +24,8 @@ from homeassistant.const import (
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_SSL,
|
CONF_SSL,
|
||||||
|
CONF_ZONE,
|
||||||
|
STATE_HOME,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
|
@ -311,6 +313,17 @@ class MikrotikControllerData:
|
||||||
CONF_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT
|
CONF_UNIT_OF_MEASUREMENT, DEFAULT_UNIT_OF_MEASUREMENT
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# ---------------------------
|
||||||
|
# option_zone
|
||||||
|
# ---------------------------
|
||||||
|
@property
|
||||||
|
def option_zone(self):
|
||||||
|
"""Config entry option to not track ARP."""
|
||||||
|
return self.config_entry.options.get(
|
||||||
|
CONF_ZONE, STATE_HOME
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# signal_update
|
# signal_update
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
|
|
|
@ -29,7 +29,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_hosts_timeout": "Track network devices timeout (seconds)"
|
"track_network_hosts_timeout": "Track network devices timeout (seconds)",
|
||||||
|
"zone": "Zone for device tracker"
|
||||||
},
|
},
|
||||||
"title": "Basic options"
|
"title": "Basic options"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue