mirror of
https://github.com/home-assistant/core
synced 2024-10-04 07:58:43 +02:00
Add new sensors to Brother integration (#32466)
* Add new sensors * Suggested change
This commit is contained in:
parent
4bb9f1800d
commit
96a0aa3d2b
@ -2,19 +2,29 @@
|
||||
from homeassistant.const import TIME_DAYS, UNIT_PERCENTAGE
|
||||
|
||||
ATTR_BELT_UNIT_REMAINING_LIFE = "belt_unit_remaining_life"
|
||||
ATTR_BLACK_DRUM_COUNTER = "black_drum_counter"
|
||||
ATTR_BLACK_DRUM_REMAINING_LIFE = "black_drum_remaining_life"
|
||||
ATTR_BLACK_DRUM_REMAINING_PAGES = "black_drum_remaining_pages"
|
||||
ATTR_BLACK_INK_REMAINING = "black_ink_remaining"
|
||||
ATTR_BLACK_TONER_REMAINING = "black_toner_remaining"
|
||||
ATTR_BW_COUNTER = "b/w_counter"
|
||||
ATTR_COLOR_COUNTER = "color_counter"
|
||||
ATTR_CYAN_DRUM_COUNTER = "cyan_drum_counter"
|
||||
ATTR_CYAN_DRUM_REMAINING_LIFE = "cyan_drum_remaining_life"
|
||||
ATTR_CYAN_DRUM_REMAINING_PAGES = "cyan_drum_remaining_pages"
|
||||
ATTR_CYAN_INK_REMAINING = "cyan_ink_remaining"
|
||||
ATTR_CYAN_TONER_REMAINING = "cyan_toner_remaining"
|
||||
ATTR_DRUM_COUNTER = "drum_counter"
|
||||
ATTR_DRUM_REMAINING_LIFE = "drum_remaining_life"
|
||||
ATTR_DRUM_REMAINING_PAGES = "drum_remaining_pages"
|
||||
ATTR_DUPLEX_COUNTER = "duplex_unit_pages_counter"
|
||||
ATTR_FUSER_REMAINING_LIFE = "fuser_remaining_life"
|
||||
ATTR_ICON = "icon"
|
||||
ATTR_LABEL = "label"
|
||||
ATTR_LASER_REMAINING_LIFE = "laser_remaining_life"
|
||||
ATTR_MAGENTA_DRUM_COUNTER = "magenta_drum_counter"
|
||||
ATTR_MAGENTA_DRUM_REMAINING_LIFE = "magenta_drum_remaining_life"
|
||||
ATTR_MAGENTA_DRUM_REMAINING_PAGES = "magenta_drum_remaining_pages"
|
||||
ATTR_MAGENTA_INK_REMAINING = "magenta_ink_remaining"
|
||||
ATTR_MAGENTA_TONER_REMAINING = "magenta_toner_remaining"
|
||||
ATTR_MANUFACTURER = "Brother"
|
||||
@ -24,6 +34,9 @@ ATTR_PF_KIT_MP_REMAINING_LIFE = "pf_kit_mp_remaining_life"
|
||||
ATTR_STATUS = "status"
|
||||
ATTR_UNIT = "unit"
|
||||
ATTR_UPTIME = "uptime"
|
||||
ATTR_YELLOW_DRUM_COUNTER = "yellow_drum_counter"
|
||||
ATTR_YELLOW_DRUM_REMAINING_LIFE = "yellow_drum_remaining_life"
|
||||
ATTR_YELLOW_DRUM_REMAINING_PAGES = "yellow_drum_remaining_pages"
|
||||
ATTR_YELLOW_INK_REMAINING = "yellow_ink_remaining"
|
||||
ATTR_YELLOW_TONER_REMAINING = "yellow_toner_remaining"
|
||||
|
||||
@ -54,11 +67,36 @@ SENSOR_TYPES = {
|
||||
ATTR_LABEL: ATTR_COLOR_COUNTER.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PAGES,
|
||||
},
|
||||
ATTR_DUPLEX_COUNTER: {
|
||||
ATTR_ICON: "mdi:file-document-outline",
|
||||
ATTR_LABEL: ATTR_DUPLEX_COUNTER.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PAGES,
|
||||
},
|
||||
ATTR_DRUM_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:chart-donut",
|
||||
ATTR_LABEL: ATTR_DRUM_REMAINING_LIFE.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PERCENTAGE,
|
||||
},
|
||||
ATTR_BLACK_DRUM_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:chart-donut",
|
||||
ATTR_LABEL: ATTR_BLACK_DRUM_REMAINING_LIFE.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PERCENTAGE,
|
||||
},
|
||||
ATTR_CYAN_DRUM_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:chart-donut",
|
||||
ATTR_LABEL: ATTR_CYAN_DRUM_REMAINING_LIFE.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PERCENTAGE,
|
||||
},
|
||||
ATTR_MAGENTA_DRUM_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:chart-donut",
|
||||
ATTR_LABEL: ATTR_MAGENTA_DRUM_REMAINING_LIFE.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PERCENTAGE,
|
||||
},
|
||||
ATTR_YELLOW_DRUM_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:chart-donut",
|
||||
ATTR_LABEL: ATTR_YELLOW_DRUM_REMAINING_LIFE.replace("_", " ").title(),
|
||||
ATTR_UNIT: UNIT_PERCENTAGE,
|
||||
},
|
||||
ATTR_BELT_UNIT_REMAINING_LIFE: {
|
||||
ATTR_ICON: "mdi:current-ac",
|
||||
ATTR_LABEL: ATTR_BELT_UNIT_REMAINING_LIFE.replace("_", " ").title(),
|
||||
|
@ -4,17 +4,32 @@ import logging
|
||||
from homeassistant.helpers.entity import Entity
|
||||
|
||||
from .const import (
|
||||
ATTR_BLACK_DRUM_COUNTER,
|
||||
ATTR_BLACK_DRUM_REMAINING_LIFE,
|
||||
ATTR_BLACK_DRUM_REMAINING_PAGES,
|
||||
ATTR_CYAN_DRUM_COUNTER,
|
||||
ATTR_CYAN_DRUM_REMAINING_LIFE,
|
||||
ATTR_CYAN_DRUM_REMAINING_PAGES,
|
||||
ATTR_DRUM_COUNTER,
|
||||
ATTR_DRUM_REMAINING_LIFE,
|
||||
ATTR_DRUM_REMAINING_PAGES,
|
||||
ATTR_ICON,
|
||||
ATTR_LABEL,
|
||||
ATTR_MAGENTA_DRUM_COUNTER,
|
||||
ATTR_MAGENTA_DRUM_REMAINING_LIFE,
|
||||
ATTR_MAGENTA_DRUM_REMAINING_PAGES,
|
||||
ATTR_MANUFACTURER,
|
||||
ATTR_UNIT,
|
||||
ATTR_YELLOW_DRUM_COUNTER,
|
||||
ATTR_YELLOW_DRUM_REMAINING_LIFE,
|
||||
ATTR_YELLOW_DRUM_REMAINING_PAGES,
|
||||
DOMAIN,
|
||||
SENSOR_TYPES,
|
||||
)
|
||||
|
||||
ATTR_COUNTER = "counter"
|
||||
ATTR_REMAINING_PAGES = "remaining_pages"
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@ -65,11 +80,26 @@ class BrotherPrinterSensor(Entity):
|
||||
@property
|
||||
def device_state_attributes(self):
|
||||
"""Return the state attributes."""
|
||||
remaining_pages = None
|
||||
drum_counter = None
|
||||
if self.kind == ATTR_DRUM_REMAINING_LIFE:
|
||||
self._attrs["remaining_pages"] = self.printer.data.get(
|
||||
ATTR_DRUM_REMAINING_PAGES
|
||||
)
|
||||
self._attrs["counter"] = self.printer.data.get(ATTR_DRUM_COUNTER)
|
||||
remaining_pages = ATTR_DRUM_REMAINING_PAGES
|
||||
drum_counter = ATTR_DRUM_COUNTER
|
||||
elif self.kind == ATTR_BLACK_DRUM_REMAINING_LIFE:
|
||||
remaining_pages = ATTR_BLACK_DRUM_REMAINING_PAGES
|
||||
drum_counter = ATTR_BLACK_DRUM_COUNTER
|
||||
elif self.kind == ATTR_CYAN_DRUM_REMAINING_LIFE:
|
||||
remaining_pages = ATTR_CYAN_DRUM_REMAINING_PAGES
|
||||
drum_counter = ATTR_CYAN_DRUM_COUNTER
|
||||
elif self.kind == ATTR_MAGENTA_DRUM_REMAINING_LIFE:
|
||||
remaining_pages = ATTR_MAGENTA_DRUM_REMAINING_PAGES
|
||||
drum_counter = ATTR_MAGENTA_DRUM_COUNTER
|
||||
elif self.kind == ATTR_YELLOW_DRUM_REMAINING_LIFE:
|
||||
remaining_pages = ATTR_YELLOW_DRUM_REMAINING_PAGES
|
||||
drum_counter = ATTR_YELLOW_DRUM_COUNTER
|
||||
if remaining_pages and drum_counter:
|
||||
self._attrs[ATTR_REMAINING_PAGES] = self.printer.data.get(remaining_pages)
|
||||
self._attrs[ATTR_COUNTER] = self.printer.data.get(drum_counter)
|
||||
return self._attrs
|
||||
|
||||
@property
|
||||
|
Loading…
Reference in New Issue
Block a user