1 """The PurpleAir integration."""
3 from __future__
import annotations
5 from collections.abc
import Mapping
8 from aiopurpleair.models.sensors
import SensorModel
15 from .const
import DOMAIN
16 from .coordinator
import PurpleAirDataUpdateCoordinator
20 """Define a base PurpleAir entity."""
22 _attr_has_entity_name =
True
26 coordinator: PurpleAirDataUpdateCoordinator,
38 identifiers={(DOMAIN,
str(sensor_index))},
39 manufacturer=
"PurpleAir, Inc.",
42 sw_version=self.
sensor_datasensor_data.firmware_version,
48 """Return entity specific state attributes."""
55 if self.
_entry_entry_entry.options.get(CONF_SHOW_ON_MAP):
56 attrs[ATTR_LATITUDE] = self.
sensor_datasensor_data.latitude
57 attrs[ATTR_LONGITUDE] = self.
sensor_datasensor_data.longitude
59 attrs[
"lati"] = self.
sensor_datasensor_data.latitude
60 attrs[
"long"] = self.
sensor_datasensor_data.longitude
65 """Define a property to get this entity's SensorModel object."""
66 return self.coordinator.data.data[self.
_sensor_index_sensor_index]
str async_get_map_url(self, int sensor_index)
None __init__(self, PurpleAirDataUpdateCoordinator coordinator, ConfigEntry entry, int sensor_index)
SensorModel sensor_data(self)
Mapping[str, Any] extra_state_attributes(self)