Merged System category

Added Visit Device URL
This commit is contained in:
tomaae 2021-12-13 13:26:46 +01:00
parent 74a4a367dd
commit 448483da22
3 changed files with 31 additions and 3 deletions

View file

@ -5,6 +5,12 @@ import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.const import (
CONF_NAME,
CONF_HOST,
)
from .const import (
DOMAIN,
DATA_CLIENT,
@ -71,8 +77,16 @@ async def async_setup_entry(hass, config_entry):
connections={(DOMAIN, controller.data["routerboard"]["serial-number"])},
manufacturer=controller.data["resource"]["platform"],
model=controller.data["routerboard"]["model"],
name=controller.data["routerboard"]["model"],
name=f"{config_entry.data[CONF_NAME]} {controller.data['routerboard']['model']}",
sw_version=controller.data["resource"]["version"],
configuration_url=f"http://{config_entry.data[CONF_HOST]}",
identifiers={
DOMAIN,
"serial-number",
controller.data["routerboard"]["serial-number"],
"sensor",
f"{config_entry.data[CONF_NAME]} {controller.data['routerboard']['model']}",
}
)
return True

View file

@ -10,6 +10,7 @@ from homeassistant.components.binary_sensor import (
)
from homeassistant.const import (
CONF_NAME,
CONF_HOST,
ATTR_ATTRIBUTION,
)
from homeassistant.core import callback
@ -264,10 +265,16 @@ class MikrotikControllerBinarySensor(BinarySensorEntity):
@property
def device_info(self) -> Dict[str, Any]:
"""Return a description for device registry."""
if self._type[ATTR_GROUP] == "System":
self._type[ATTR_GROUP] = self._ctrl.data["resource"]["board-name"]
info = {
"connections": {(DOMAIN, self._ctrl.data["routerboard"]["serial-number"])},
"manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"],
"name": f"{self._inst} {self._type[ATTR_GROUP]}",
"sw_version": self._ctrl.data["resource"]["version"],
"configuration_url": f"http://{self._ctrl.config_entry.data[CONF_HOST]}",
}
if ATTR_GROUP in self._type:
info["identifiers"] = {
@ -276,7 +283,7 @@ class MikrotikControllerBinarySensor(BinarySensorEntity):
"serial-number",
self._ctrl.data["routerboard"]["serial-number"],
"sensor",
self._type[ATTR_GROUP],
f"{self._inst} {self._type[ATTR_GROUP]}",
)
}

View file

@ -5,6 +5,7 @@ from typing import Any, Dict, Optional
from homeassistant.const import (
CONF_NAME,
CONF_HOST,
ATTR_ATTRIBUTION,
ATTR_DEVICE_CLASS,
TEMP_CELSIUS,
@ -430,10 +431,16 @@ class MikrotikControllerSensor(SensorEntity):
@property
def device_info(self) -> Dict[str, Any]:
"""Return a description for device registry."""
if self._type[ATTR_GROUP] == "System":
self._type[ATTR_GROUP] = self._ctrl.data["resource"]["board-name"]
info = {
"connections": {(DOMAIN, self._ctrl.data["routerboard"]["serial-number"])},
"manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"],
"name": f"{self._inst} {self._type[ATTR_GROUP]}",
"sw_version": self._ctrl.data["resource"]["version"],
"configuration_url": f"http://{self._ctrl.config_entry.data[CONF_HOST]}",
}
if ATTR_GROUP in self._type:
info["identifiers"] = {
@ -442,7 +449,7 @@ class MikrotikControllerSensor(SensorEntity):
"serial-number",
self._ctrl.data["routerboard"]["serial-number"],
"sensor",
self._type[ATTR_GROUP],
f"{self._inst} {self._type[ATTR_GROUP]}",
)
}