Convert namedtuple to NamedTuple for smartthings (#115395)

This commit is contained in:
Sid 2024-05-24 10:53:05 +02:00 committed by GitHub
parent 1ad2e4951d
commit bc72f82776
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,8 +2,8 @@
from __future__ import annotations from __future__ import annotations
from collections import namedtuple
from collections.abc import Sequence from collections.abc import Sequence
from typing import NamedTuple
from pysmartthings import Attribute, Capability from pysmartthings import Attribute, Capability
from pysmartthings.device import DeviceEntity from pysmartthings.device import DeviceEntity
@ -34,9 +34,17 @@ from homeassistant.util import dt as dt_util
from . import SmartThingsEntity from . import SmartThingsEntity
from .const import DATA_BROKERS, DOMAIN from .const import DATA_BROKERS, DOMAIN
Map = namedtuple(
"Map", "attribute name default_unit device_class state_class entity_category" class Map(NamedTuple):
) """Tuple for mapping Smartthings capabilities to Home Assistant sensors."""
attribute: str
name: str
default_unit: str | None
device_class: SensorDeviceClass | None
state_class: SensorStateClass | None
entity_category: EntityCategory | None
CAPABILITY_TO_SENSORS: dict[str, list[Map]] = { CAPABILITY_TO_SENSORS: dict[str, list[Map]] = {
Capability.activity_lighting_mode: [ Capability.activity_lighting_mode: [
@ -629,8 +637,8 @@ class SmartThingsSensor(SmartThingsEntity, SensorEntity):
device: DeviceEntity, device: DeviceEntity,
attribute: str, attribute: str,
name: str, name: str,
default_unit: str, default_unit: str | None,
device_class: SensorDeviceClass, device_class: SensorDeviceClass | None,
state_class: str | None, state_class: str | None,
entity_category: EntityCategory | None, entity_category: EntityCategory | None,
) -> None: ) -> None: