1 """Support for The Things Network entities."""
5 from ttn_client
import TTNBaseValue
11 from .const
import DOMAIN
12 from .coordinator
import TTNCoordinator
14 _LOGGER = logging.getLogger(__name__)
18 """Representation of a The Things Network Data Storage sensor."""
20 _attr_has_entity_name =
True
21 _ttn_value: TTNBaseValue
25 coordinator: TTNCoordinator,
27 ttn_value: TTNBaseValue,
29 """Initialize a The Things Network Data Storage sensor."""
40 identifiers={(DOMAIN, f
"{app_id}_{self.device_id}")},
46 """Handle updated data from the coordinator."""
48 my_entity_update = self.coordinator.data.get(self.
device_iddevice_id, {}).
get(
53 and my_entity_update.received_at > self.
_ttn_value_ttn_value.received_at
56 "Received update for %s: %s", self.unique_id, my_entity_update
59 assert isinstance(my_entity_update, type(self.
_ttn_value_ttn_value))
61 self.async_write_ha_state()
65 """Return device_id."""
70 """Return field_id."""
None __init__(self, TTNCoordinator coordinator, str app_id, TTNBaseValue ttn_value)
None _handle_coordinator_update(self)
web.Response get(self, web.Request request, str config_key)