Add missing device_class to update for MikroTIk (#178704)

This commit is contained in:
Simone Chemelli
2026-08-11 13:04:19 +02:00
committed by GitHub
parent e8670aa100
commit 0abd914f14
2 changed files with 15 additions and 6 deletions
@@ -4,6 +4,7 @@ from dataclasses import dataclass
from typing import Any, cast, override
from homeassistant.components.update import (
UpdateDeviceClass,
UpdateEntity,
UpdateEntityDescription,
UpdateEntityFeature,
@@ -41,6 +42,7 @@ UPDATES = {
MikrotikUpdateEntityDescription(
key="fw-update",
translation_key="firmware_update",
device_class=UpdateDeviceClass.FIRMWARE,
entity_category=EntityCategory.CONFIG,
supported_features=UpdateEntityFeature.INSTALL | UpdateEntityFeature.BACKUP,
path=UPDATE,
@@ -51,6 +53,7 @@ UPDATES = {
MikrotikUpdateEntityDescription(
key="routerboard-update",
translation_key="routerboard_update",
device_class=UpdateDeviceClass.FIRMWARE,
entity_category=EntityCategory.CONFIG,
supported_features=UpdateEntityFeature.INSTALL,
path=ROUTERBOARD,
@@ -24,7 +24,7 @@
'object_id_base': 'RouterBOARD',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterBOARD',
'platform': 'mikrotik',
@@ -40,6 +40,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterBOARD',
@@ -86,7 +87,7 @@
'object_id_base': 'RouterOS',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterOS',
'platform': 'mikrotik',
@@ -102,6 +103,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterOS',
@@ -148,7 +150,7 @@
'object_id_base': 'RouterBOARD',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterBOARD',
'platform': 'mikrotik',
@@ -164,6 +166,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterBOARD',
@@ -210,7 +213,7 @@
'object_id_base': 'RouterOS',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterOS',
'platform': 'mikrotik',
@@ -226,6 +229,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterOS',
@@ -272,7 +276,7 @@
'object_id_base': 'RouterBOARD',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterBOARD',
'platform': 'mikrotik',
@@ -288,6 +292,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterBOARD',
@@ -334,7 +339,7 @@
'object_id_base': 'RouterOS',
'options': dict({
}),
'original_device_class': None,
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
'original_icon': None,
'original_name': 'RouterOS',
'platform': 'mikrotik',
@@ -350,6 +355,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
<UpdateEntityStateAttribute.AUTO_UPDATE: 'auto_update'>: False,
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'firmware',
<UpdateEntityStateAttribute.DISPLAY_PRECISION: 'display_precision'>: 0,
<EntityStateAttribute.ENTITY_PICTURE: 'entity_picture'>: '/api/brands/integration/mikrotik/icon.png',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'Mikrotik RouterOS',