separated hosts and accounting to host per group and all groups contain mikrotik name #24

This commit is contained in:
tomaae 2020-04-10 09:22:28 +02:00
parent 2c471cc981
commit 07690aad9f
4 changed files with 28 additions and 45 deletions

View file

@ -122,19 +122,21 @@ class MikrotikControllerBinarySensor(BinarySensorDevice):
def device_info(self): def device_info(self):
"""Return a port description for device registry.""" """Return a port description for device registry."""
info = { 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, DOMAIN,
"serial-number", "serial-number",
self._ctrl.data["routerboard"]["serial-number"], self._ctrl.data["routerboard"]["serial-number"],
"switch", "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 return info
async def async_update(self): async def async_update(self):

View file

@ -210,7 +210,7 @@ class MikrotikControllerPortDeviceTracker(ScannerEntity):
(CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])},
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": self._data["default-name"], "name": f"{self._inst} {self._data['default-name']}",
} }
return info return info
@ -332,18 +332,9 @@ class MikrotikControllerHostDeviceTracker(ScannerEntity):
info = { info = {
"connections": { "connections": {
(CONNECTION_NETWORK_MAC, self._data["mac-address"])}, (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"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": "Hosts", "name": f"{self._inst} {self._data['host-name']}",
} }
return info return info

View file

@ -86,7 +86,6 @@ SENSOR_TYPES = {
ATTR_GROUP: "Accounting", ATTR_GROUP: "Accounting",
ATTR_UNIT: "ps", ATTR_UNIT: "ps",
ATTR_UNIT_ATTR: "tx-rx-attr", ATTR_UNIT_ATTR: "tx-rx-attr",
ATTR_PATH: "accounting",
ATTR_ATTR: "lan-tx", ATTR_ATTR: "lan-tx",
}, },
"accounting_lan_rx": { "accounting_lan_rx": {
@ -96,7 +95,6 @@ SENSOR_TYPES = {
ATTR_GROUP: "Accounting", ATTR_GROUP: "Accounting",
ATTR_UNIT: "ps", ATTR_UNIT: "ps",
ATTR_UNIT_ATTR: "tx-rx-attr", ATTR_UNIT_ATTR: "tx-rx-attr",
ATTR_PATH: "accounting",
ATTR_ATTR: "lan-rx", ATTR_ATTR: "lan-rx",
}, },
"accounting_wan_tx": { "accounting_wan_tx": {
@ -106,7 +104,6 @@ SENSOR_TYPES = {
ATTR_GROUP: "Accounting", ATTR_GROUP: "Accounting",
ATTR_UNIT: "ps", ATTR_UNIT: "ps",
ATTR_UNIT_ATTR: "tx-rx-attr", ATTR_UNIT_ATTR: "tx-rx-attr",
ATTR_PATH: "accounting",
ATTR_ATTR: "wan-tx", ATTR_ATTR: "wan-tx",
}, },
"accounting_wan_rx": { "accounting_wan_rx": {
@ -116,7 +113,6 @@ SENSOR_TYPES = {
ATTR_GROUP: "Accounting", ATTR_GROUP: "Accounting",
ATTR_UNIT: "ps", ATTR_UNIT: "ps",
ATTR_UNIT_ATTR: "tx-rx-attr", ATTR_UNIT_ATTR: "tx-rx-attr",
ATTR_PATH: "accounting",
ATTR_ATTR: "wan-rx", ATTR_ATTR: "wan-rx",
}, },
} }
@ -288,19 +284,21 @@ class MikrotikControllerSensor(Entity):
def device_info(self): def device_info(self):
"""Return a port description for device registry.""" """Return a port description for device registry."""
info = { 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, DOMAIN,
"serial-number", "serial-number",
self._ctrl.data["routerboard"]["serial-number"], self._ctrl.data["routerboard"]["serial-number"],
"switch", "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 return info
async def async_update(self): async def async_update(self):
@ -342,8 +340,9 @@ class MikrotikControllerTrafficSensor(MikrotikControllerSensor):
(CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])},
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": self._data["default-name"], "name": f"{self._inst} {self._data['default-name']}",
} }
return info return info
async def async_added_to_hass(self): async def async_added_to_hass(self):
@ -392,18 +391,9 @@ class MikrotikAccountingSensor(MikrotikControllerSensor):
def device_info(self): def device_info(self):
"""Return a accounting description for device registry.""" """Return a accounting description for device registry."""
info = { info = {
"identifiers": {
(
DOMAIN,
"serial-number",
self._ctrl.data["routerboard"]["serial-number"],
"sensor",
"Accounting"
)
},
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": self._type[ATTR_GROUP], "name": f"{self._inst} {self._data['host-name']}",
} }
return info return info

View file

@ -208,7 +208,7 @@ class MikrotikControllerPortSwitch(MikrotikControllerSwitch):
(CONNECTION_NETWORK_MAC, self._data["port-mac-address"])}, (CONNECTION_NETWORK_MAC, self._data["port-mac-address"])},
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": self._data["default-name"], "name": f"{self._inst} {self._data['default-name']}",
} }
return info return info
@ -303,7 +303,7 @@ class MikrotikControllerNATSwitch(MikrotikControllerSwitch):
}, },
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": "NAT", "name": f"{self._inst} NAT",
} }
return info return info
@ -408,7 +408,7 @@ class MikrotikControllerScriptSwitch(MikrotikControllerSwitch):
}, },
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": "Scripts", "name": f"{self._inst} Scripts",
} }
return info return info
@ -438,7 +438,7 @@ class MikrotikControllerScriptSwitch(MikrotikControllerSwitch):
# --------------------------- # ---------------------------
# MikrotikControllerNATSwitch # MikrotikControllerQueueSwitch
# --------------------------- # ---------------------------
class MikrotikControllerQueueSwitch(MikrotikControllerSwitch): class MikrotikControllerQueueSwitch(MikrotikControllerSwitch):
"""Representation of a queue switch.""" """Representation of a queue switch."""
@ -491,7 +491,7 @@ class MikrotikControllerQueueSwitch(MikrotikControllerSwitch):
}, },
"manufacturer": self._ctrl.data["resource"]["platform"], "manufacturer": self._ctrl.data["resource"]["platform"],
"model": self._ctrl.data["resource"]["board-name"], "model": self._ctrl.data["resource"]["board-name"],
"name": "Queue", "name": f"{self._inst} Queue",
} }
return info return info