diff --git a/homeassistant/components/brother/const.py b/homeassistant/components/brother/const.py index 2a2e8724821..52170057fb1 100644 --- a/homeassistant/components/brother/const.py +++ b/homeassistant/components/brother/const.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Final -from homeassistant.const import PERCENTAGE +from homeassistant.const import ATTR_ICON, PERCENTAGE from .model import SensorDescription @@ -25,7 +25,9 @@ ATTR_DRUM_COUNTER: Final = "drum_counter" ATTR_DRUM_REMAINING_LIFE: Final = "drum_remaining_life" ATTR_DRUM_REMAINING_PAGES: Final = "drum_remaining_pages" ATTR_DUPLEX_COUNTER: Final = "duplex_unit_pages_counter" +ATTR_ENABLED: Final = "enabled" ATTR_FUSER_REMAINING_LIFE: Final = "fuser_remaining_life" +ATTR_LABEL: Final = "label" ATTR_LASER_REMAINING_LIFE: Final = "laser_remaining_life" ATTR_MAGENTA_DRUM_COUNTER: Final = "magenta_drum_counter" ATTR_MAGENTA_DRUM_REMAINING_LIFE: Final = "magenta_drum_remaining_life" @@ -38,6 +40,7 @@ ATTR_PF_KIT_1_REMAINING_LIFE: Final = "pf_kit_1_remaining_life" ATTR_PF_KIT_MP_REMAINING_LIFE: Final = "pf_kit_mp_remaining_life" ATTR_REMAINING_PAGES: Final = "remaining_pages" ATTR_STATUS: Final = "status" +ATTR_UNIT: Final = "unit" ATTR_UPTIME: Final = "uptime" ATTR_YELLOW_DRUM_COUNTER: Final = "yellow_drum_counter" ATTR_YELLOW_DRUM_REMAINING_LIFE: Final = "yellow_drum_remaining_life" @@ -77,147 +80,147 @@ ATTRS_MAP: Final[dict[str, tuple[str, str]]] = { SENSOR_TYPES: Final[dict[str, SensorDescription]] = { ATTR_STATUS: { - "icon": "mdi:printer", - "label": ATTR_STATUS.title(), - "unit": None, - "enabled": True, + ATTR_ICON: "mdi:printer", + ATTR_LABEL: ATTR_STATUS.title(), + ATTR_UNIT: None, + ATTR_ENABLED: True, }, ATTR_PAGE_COUNTER: { - "icon": "mdi:file-document-outline", - "label": ATTR_PAGE_COUNTER.replace("_", " ").title(), - "unit": UNIT_PAGES, - "enabled": True, + ATTR_ICON: "mdi:file-document-outline", + ATTR_LABEL: ATTR_PAGE_COUNTER.replace("_", " ").title(), + ATTR_UNIT: UNIT_PAGES, + ATTR_ENABLED: True, }, ATTR_BW_COUNTER: { - "icon": "mdi:file-document-outline", - "label": ATTR_BW_COUNTER.replace("_", " ").title(), - "unit": UNIT_PAGES, - "enabled": True, + ATTR_ICON: "mdi:file-document-outline", + ATTR_LABEL: ATTR_BW_COUNTER.replace("_", " ").title(), + ATTR_UNIT: UNIT_PAGES, + ATTR_ENABLED: True, }, ATTR_COLOR_COUNTER: { - "icon": "mdi:file-document-outline", - "label": ATTR_COLOR_COUNTER.replace("_", " ").title(), - "unit": UNIT_PAGES, - "enabled": True, + ATTR_ICON: "mdi:file-document-outline", + ATTR_LABEL: ATTR_COLOR_COUNTER.replace("_", " ").title(), + ATTR_UNIT: UNIT_PAGES, + ATTR_ENABLED: True, }, ATTR_DUPLEX_COUNTER: { - "icon": "mdi:file-document-outline", - "label": ATTR_DUPLEX_COUNTER.replace("_", " ").title(), - "unit": UNIT_PAGES, - "enabled": True, + ATTR_ICON: "mdi:file-document-outline", + ATTR_LABEL: ATTR_DUPLEX_COUNTER.replace("_", " ").title(), + ATTR_UNIT: UNIT_PAGES, + ATTR_ENABLED: True, }, ATTR_DRUM_REMAINING_LIFE: { - "icon": "mdi:chart-donut", - "label": ATTR_DRUM_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:chart-donut", + ATTR_LABEL: ATTR_DRUM_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_BLACK_DRUM_REMAINING_LIFE: { - "icon": "mdi:chart-donut", - "label": ATTR_BLACK_DRUM_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:chart-donut", + ATTR_LABEL: ATTR_BLACK_DRUM_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_CYAN_DRUM_REMAINING_LIFE: { - "icon": "mdi:chart-donut", - "label": ATTR_CYAN_DRUM_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:chart-donut", + ATTR_LABEL: ATTR_CYAN_DRUM_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_MAGENTA_DRUM_REMAINING_LIFE: { - "icon": "mdi:chart-donut", - "label": ATTR_MAGENTA_DRUM_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:chart-donut", + ATTR_LABEL: ATTR_MAGENTA_DRUM_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_YELLOW_DRUM_REMAINING_LIFE: { - "icon": "mdi:chart-donut", - "label": ATTR_YELLOW_DRUM_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:chart-donut", + ATTR_LABEL: ATTR_YELLOW_DRUM_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_BELT_UNIT_REMAINING_LIFE: { - "icon": "mdi:current-ac", - "label": ATTR_BELT_UNIT_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:current-ac", + ATTR_LABEL: ATTR_BELT_UNIT_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_FUSER_REMAINING_LIFE: { - "icon": "mdi:water-outline", - "label": ATTR_FUSER_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:water-outline", + ATTR_LABEL: ATTR_FUSER_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_LASER_REMAINING_LIFE: { - "icon": "mdi:spotlight-beam", - "label": ATTR_LASER_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:spotlight-beam", + ATTR_LABEL: ATTR_LASER_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_PF_KIT_1_REMAINING_LIFE: { - "icon": "mdi:printer-3d", - "label": ATTR_PF_KIT_1_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d", + ATTR_LABEL: ATTR_PF_KIT_1_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_PF_KIT_MP_REMAINING_LIFE: { - "icon": "mdi:printer-3d", - "label": ATTR_PF_KIT_MP_REMAINING_LIFE.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d", + ATTR_LABEL: ATTR_PF_KIT_MP_REMAINING_LIFE.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_BLACK_TONER_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_BLACK_TONER_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_BLACK_TONER_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_CYAN_TONER_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_CYAN_TONER_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_CYAN_TONER_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_MAGENTA_TONER_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_MAGENTA_TONER_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_MAGENTA_TONER_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_YELLOW_TONER_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_YELLOW_TONER_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_YELLOW_TONER_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_BLACK_INK_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_BLACK_INK_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_BLACK_INK_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_CYAN_INK_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_CYAN_INK_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_CYAN_INK_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_MAGENTA_INK_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_MAGENTA_INK_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_MAGENTA_INK_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_YELLOW_INK_REMAINING: { - "icon": "mdi:printer-3d-nozzle", - "label": ATTR_YELLOW_INK_REMAINING.replace("_", " ").title(), - "unit": PERCENTAGE, - "enabled": True, + ATTR_ICON: "mdi:printer-3d-nozzle", + ATTR_LABEL: ATTR_YELLOW_INK_REMAINING.replace("_", " ").title(), + ATTR_UNIT: PERCENTAGE, + ATTR_ENABLED: True, }, ATTR_UPTIME: { - "icon": None, - "label": ATTR_UPTIME.title(), - "unit": None, - "enabled": False, + ATTR_ICON: None, + ATTR_LABEL: ATTR_UPTIME.title(), + ATTR_UNIT: None, + ATTR_ENABLED: False, }, } diff --git a/homeassistant/components/brother/sensor.py b/homeassistant/components/brother/sensor.py index 2f66e1c75d5..50c9b8d79ff 100644 --- a/homeassistant/components/brother/sensor.py +++ b/homeassistant/components/brother/sensor.py @@ -5,7 +5,7 @@ from typing import Any from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry -from homeassistant.const import DEVICE_CLASS_TIMESTAMP +from homeassistant.const import ATTR_ICON, DEVICE_CLASS_TIMESTAMP from homeassistant.core import HomeAssistant from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback @@ -14,8 +14,11 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import BrotherDataUpdateCoordinator from .const import ( ATTR_COUNTER, + ATTR_ENABLED, + ATTR_LABEL, ATTR_MANUFACTURER, ATTR_REMAINING_PAGES, + ATTR_UNIT, ATTR_UPTIME, ATTRS_MAP, DATA_CONFIG_ENTRY, @@ -58,7 +61,7 @@ class BrotherPrinterSensor(CoordinatorEntity, SensorEntity): """Initialize.""" super().__init__(coordinator) self._description = SENSOR_TYPES[kind] - self._name = f"{coordinator.data.model} {self._description['label']}" + self._name = f"{coordinator.data.model} {self._description[ATTR_LABEL]}" self._unique_id = f"{coordinator.data.serial.lower()}_{kind}" self._device_info = device_info self.kind = kind @@ -97,7 +100,7 @@ class BrotherPrinterSensor(CoordinatorEntity, SensorEntity): @property def icon(self) -> str | None: """Return the icon.""" - return self._description["icon"] + return self._description[ATTR_ICON] @property def unique_id(self) -> str: @@ -107,7 +110,7 @@ class BrotherPrinterSensor(CoordinatorEntity, SensorEntity): @property def unit_of_measurement(self) -> str | None: """Return the unit the value is expressed in.""" - return self._description["unit"] + return self._description[ATTR_UNIT] @property def device_info(self) -> DeviceInfo: @@ -117,4 +120,4 @@ class BrotherPrinterSensor(CoordinatorEntity, SensorEntity): @property def entity_registry_enabled_default(self) -> bool: """Return if the entity should be enabled when first added to the entity registry.""" - return self._description["enabled"] + return self._description[ATTR_ENABLED]