mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-12 18:34:30 +02:00
separated hosts and accounting to host per group and all groups contain mikrotik name #24
This commit is contained in:
parent
2c471cc981
commit
07690aad9f
4 changed files with 28 additions and 45 deletions
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue