1 """IMAP sensor support."""
3 from __future__
import annotations
7 SensorEntityDescription,
16 from .
import ImapConfigEntry
17 from .const
import DOMAIN
18 from .coordinator
import ImapDataUpdateCoordinator
21 key=
"imap_mail_count",
22 entity_category=EntityCategory.DIAGNOSTIC,
23 state_class=SensorStateClass.MEASUREMENT,
24 suggested_display_precision=0,
25 translation_key=
"imap_mail_count",
30 hass: HomeAssistant, entry: ImapConfigEntry, async_add_entities: AddEntitiesCallback
32 """Set up the Imap sensor."""
34 coordinator = entry.runtime_data
39 """Representation of an IMAP sensor."""
41 _attr_has_entity_name =
True
45 coordinator: ImapDataUpdateCoordinator,
46 description: SensorEntityDescription,
48 """Initialize the sensor."""
53 identifiers={(DOMAIN, coordinator.config_entry.entry_id)},
54 name=f
"IMAP ({coordinator.config_entry.data[CONF_USERNAME]})",
55 entry_type=DeviceEntryType.SERVICE,
60 """Return the number of emails found."""
61 return self.coordinator.data
int|None native_value(self)
None __init__(self, ImapDataUpdateCoordinator coordinator, SensorEntityDescription description)
None async_setup_entry(HomeAssistant hass, ImapConfigEntry entry, AddEntitiesCallback async_add_entities)