diff --git a/custom_components/mikrotik_router/binary_sensor.py b/custom_components/mikrotik_router/binary_sensor.py index 428f5b9..c2086f3 100644 --- a/custom_components/mikrotik_router/binary_sensor.py +++ b/custom_components/mikrotik_router/binary_sensor.py @@ -122,19 +122,21 @@ class MikrotikControllerBinarySensor(BinarySensorDevice): def device_info(self): """Return a port description for device registry.""" info = { - "identifiers": { + "manufacturer": self._ctrl.data["resource"]["platform"], + "model": self._ctrl.data["resource"]["board-name"], + "name": f"{self._inst} {self._type[ATTR_GROUP]}", + } + if ATTR_GROUP in self._type: + info["identifiers"] = { ( DOMAIN, "serial-number", self._ctrl.data["routerboard"]["serial-number"], "switch", - "PORT", + self._type[ATTR_GROUP], ) - }, - "manufacturer": self._ctrl.data["resource"]["platform"], - "model": self._ctrl.data["resource"]["board-name"], - "name": self._type[ATTR_GROUP], - } + } + return info async def async_update(self): diff --git a/custom_components/mikrotik_router/device_tracker.py b/custom_components/mikrotik_router/device_tracker.py index 090211c..48485e1 100644 --- a/custom_components/mikrotik_router/device_tracker.py +++ b/custom_components/mikrotik_router/device_tracker.py @@ -210,7 +210,7 @@ class MikrotikControllerPortDeviceTracker(ScannerEntity): (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": self._data["default-name"], + "name": f"{self._inst} {self._data['default-name']}", } return info @@ -332,18 +332,9 @@ class MikrotikControllerHostDeviceTracker(ScannerEntity): info = { "connections": { (CONNECTION_NETWORK_MAC, self._data["mac-address"])}, - "identifiers": { - ( - DOMAIN, - "serial-number", - self._ctrl.data["routerboard"]["serial-number"], - "switch", - "Hosts", - ) - }, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": "Hosts", + "name": f"{self._inst} {self._data['host-name']}", } return info diff --git a/custom_components/mikrotik_router/sensor.py b/custom_components/mikrotik_router/sensor.py index d784af8..3504cbd 100644 --- a/custom_components/mikrotik_router/sensor.py +++ b/custom_components/mikrotik_router/sensor.py @@ -86,7 +86,6 @@ SENSOR_TYPES = { ATTR_GROUP: "Accounting", ATTR_UNIT: "ps", ATTR_UNIT_ATTR: "tx-rx-attr", - ATTR_PATH: "accounting", ATTR_ATTR: "lan-tx", }, "accounting_lan_rx": { @@ -96,7 +95,6 @@ SENSOR_TYPES = { ATTR_GROUP: "Accounting", ATTR_UNIT: "ps", ATTR_UNIT_ATTR: "tx-rx-attr", - ATTR_PATH: "accounting", ATTR_ATTR: "lan-rx", }, "accounting_wan_tx": { @@ -106,7 +104,6 @@ SENSOR_TYPES = { ATTR_GROUP: "Accounting", ATTR_UNIT: "ps", ATTR_UNIT_ATTR: "tx-rx-attr", - ATTR_PATH: "accounting", ATTR_ATTR: "wan-tx", }, "accounting_wan_rx": { @@ -116,7 +113,6 @@ SENSOR_TYPES = { ATTR_GROUP: "Accounting", ATTR_UNIT: "ps", ATTR_UNIT_ATTR: "tx-rx-attr", - ATTR_PATH: "accounting", ATTR_ATTR: "wan-rx", }, } @@ -288,19 +284,21 @@ class MikrotikControllerSensor(Entity): def device_info(self): """Return a port description for device registry.""" info = { - "identifiers": { + "manufacturer": self._ctrl.data["resource"]["platform"], + "model": self._ctrl.data["resource"]["board-name"], + "name": f"{self._inst} {self._type[ATTR_GROUP]}", + } + if ATTR_GROUP in self._type: + info["identifiers"] = { ( DOMAIN, "serial-number", self._ctrl.data["routerboard"]["serial-number"], "switch", - "PORT", + self._type[ATTR_GROUP], ) - }, - "manufacturer": self._ctrl.data["resource"]["platform"], - "model": self._ctrl.data["resource"]["board-name"], - "name": self._type[ATTR_GROUP], - } + } + return info async def async_update(self): @@ -342,8 +340,9 @@ class MikrotikControllerTrafficSensor(MikrotikControllerSensor): (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": self._data["default-name"], + "name": f"{self._inst} {self._data['default-name']}", } + return info async def async_added_to_hass(self): @@ -392,18 +391,9 @@ class MikrotikAccountingSensor(MikrotikControllerSensor): def device_info(self): """Return a accounting description for device registry.""" info = { - "identifiers": { - ( - DOMAIN, - "serial-number", - self._ctrl.data["routerboard"]["serial-number"], - "sensor", - "Accounting" - ) - }, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": self._type[ATTR_GROUP], + "name": f"{self._inst} {self._data['host-name']}", } return info diff --git a/custom_components/mikrotik_router/switch.py b/custom_components/mikrotik_router/switch.py index fc7aeab..b825c36 100644 --- a/custom_components/mikrotik_router/switch.py +++ b/custom_components/mikrotik_router/switch.py @@ -208,7 +208,7 @@ class MikrotikControllerPortSwitch(MikrotikControllerSwitch): (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": self._data["default-name"], + "name": f"{self._inst} {self._data['default-name']}", } return info @@ -303,7 +303,7 @@ class MikrotikControllerNATSwitch(MikrotikControllerSwitch): }, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": "NAT", + "name": f"{self._inst} NAT", } return info @@ -408,7 +408,7 @@ class MikrotikControllerScriptSwitch(MikrotikControllerSwitch): }, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": "Scripts", + "name": f"{self._inst} Scripts", } return info @@ -438,7 +438,7 @@ class MikrotikControllerScriptSwitch(MikrotikControllerSwitch): # --------------------------- -# MikrotikControllerNATSwitch +# MikrotikControllerQueueSwitch # --------------------------- class MikrotikControllerQueueSwitch(MikrotikControllerSwitch): """Representation of a queue switch.""" @@ -491,7 +491,7 @@ class MikrotikControllerQueueSwitch(MikrotikControllerSwitch): }, "manufacturer": self._ctrl.data["resource"]["platform"], "model": self._ctrl.data["resource"]["board-name"], - "name": "Queue", + "name": f"{self._inst} Queue", } return info