diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 47a9034..6300738 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -700,6 +700,8 @@ class MikrotikControllerData: {"name": "tx-previous", "default": 0.0}, {"name": "rx", "default": 0.0}, {"name": "tx", "default": 0.0}, + {"name": "rx-total", "default": 0.0}, + {"name": "tx-total", "default": 0.0}, ], skip=[ {"name": "type", "value": "bridge"}, @@ -740,6 +742,9 @@ class MikrotikControllerData: ) self.data["interface"][uid]["rx-previous"] = current_rx + self.data["interface"][uid]["tx-total"] = current_tx + self.data["interface"][uid]["rx-total"] = current_rx + self.data["interface"] = parse_api( data=self.data["interface"], source=self.api.path("/interface/ethernet"), diff --git a/custom_components/mikrotik_router/sensor_types.py b/custom_components/mikrotik_router/sensor_types.py index 61d144d..51a8068 100644 --- a/custom_components/mikrotik_router/sensor_types.py +++ b/custom_components/mikrotik_router/sensor_types.py @@ -13,6 +13,7 @@ from homeassistant.const import ( ELECTRIC_POTENTIAL_VOLT, POWER_WATT, PERCENTAGE, + DATA_BYTES, ) from .const import DOMAIN @@ -323,6 +324,44 @@ SENSOR_TYPES = { data_attributes_list=DEVICE_ATTRIBUTES_IFACE, func="MikrotikInterfaceTrafficSensor", ), + "total_tx": MikrotikSensorEntityDescription( + key="tx-total", + name="TX total", + icon="mdi:upload-network", + native_unit_of_measurement=DATA_BYTES, + device_class=None, + state_class=SensorStateClass.TOTAL_INCREASING, + entity_category=None, + ha_group="data__default-name", + ha_connection=CONNECTION_NETWORK_MAC, + ha_connection_value="data__port-mac-address", + data_path="interface", + data_attribute="tx-current", + data_name="name", + data_uid="", + data_reference="default-name", + data_attributes_list=DEVICE_ATTRIBUTES_IFACE, + func="MikrotikInterfaceTrafficSensor", + ), + "total_rx": MikrotikSensorEntityDescription( + key="rx-total", + name="RX total", + icon="mdi:download-network", + native_unit_of_measurement=DATA_BYTES, + device_class=None, + state_class=SensorStateClass.TOTAL_INCREASING, + entity_category=None, + ha_group="data__default-name", + ha_connection=CONNECTION_NETWORK_MAC, + ha_connection_value="data__port-mac-address", + data_path="interface", + data_attribute="rx-current", + data_name="name", + data_uid="", + data_reference="default-name", + data_attributes_list=DEVICE_ATTRIBUTES_IFACE, + func="MikrotikInterfaceTrafficSensor", + ), "client_traffic_lan_tx": MikrotikSensorEntityDescription( key="client_traffic_lan_tx", name="LAN TX",