1 """An abstract class common to all EZVIZ entities."""
3 from __future__
import annotations
11 from .const
import DOMAIN, MANUFACTURER
12 from .coordinator
import EzvizDataUpdateCoordinator
16 """Generic entity encapsulating common features of EZVIZ device."""
18 _attr_has_entity_name =
True
22 coordinator: EzvizDataUpdateCoordinator,
25 """Initialize the entity."""
30 identifiers={(DOMAIN, serial)},
32 (CONNECTION_NETWORK_MAC, self.
datadatadata[
"mac_address"]),
34 manufacturer=MANUFACTURER,
35 model=self.
datadatadata[
"device_sub_category"],
37 sw_version=self.
datadatadata[
"version"],
41 def data(self) -> dict[str, Any]:
42 """Return coordinator data for this entity."""
43 return self.coordinator.data[self.
_serial_serial]
47 """Generic entity for EZVIZ individual poll entities."""
49 _attr_has_entity_name =
True
53 coordinator: EzvizDataUpdateCoordinator,
56 """Initialize the entity."""
61 identifiers={(DOMAIN, serial)},
63 (CONNECTION_NETWORK_MAC, self.
datadata[
"mac_address"]),
65 manufacturer=MANUFACTURER,
66 model=self.
datadata[
"device_sub_category"],
67 name=self.
datadata[
"name"],
68 sw_version=self.
datadata[
"version"],
72 def data(self) -> dict[str, Any]:
73 """Return coordinator data for this entity."""
None __init__(self, EzvizDataUpdateCoordinator coordinator, str serial)
dict[str, Any] data(self)
dict[str, Any] data(self)
None __init__(self, EzvizDataUpdateCoordinator coordinator, str serial)