1 """The Tesla Wall Connector integration."""
3 from __future__
import annotations
5 from collections.abc
import Callable
6 from dataclasses
import dataclass
12 from .
import WallConnectorData
13 from .const
import DOMAIN, WALLCONNECTOR_DEVICE_NAME
16 @dataclass(frozen=True)
18 """Mixin with a function pointer for getting sensor value."""
20 value_fn: Callable[[dict], Any]
24 """Get a unique entity name."""
25 return f
"{serial_number}-{key}"
29 """Base class for Wall Connector entities."""
31 _attr_has_entity_name =
True
33 def __init__(self, wall_connector_data: WallConnectorData) ->
None:
34 """Initialize WallConnector Entity."""
37 wall_connector_data.serial_number, self.entity_description.key
39 super().
__init__(wall_connector_data.update_coordinator)
43 """Return information about the device."""
46 name=WALLCONNECTOR_DEVICE_NAME,
DeviceInfo device_info(self)
None __init__(self, WallConnectorData wall_connector_data)
str _get_unique_id(str serial_number, str key)