1 """Describe bthome logbook events."""
3 from __future__
import annotations
5 from collections.abc
import Callable
11 from .const
import BTHOME_BLE_EVENT, DOMAIN, BTHomeBleEvent
17 async_describe_event: Callable[
18 [str, str, Callable[[Event[BTHomeBleEvent]], dict[str, str]]],
None
21 """Describe logbook events."""
22 dev_reg = dr.async_get(hass)
25 def async_describe_bthome_event(event: Event[BTHomeBleEvent]) -> dict[str, str]:
26 """Describe bthome logbook event."""
28 device = dev_reg.async_get(data[
"device_id"])
29 name = device
and device.name
or f
'BTHome {data["address"]}'
30 if properties := data[
"event_properties"]:
31 message = f
"{data['event_class']} {data['event_type']}: {properties}"
33 message = f
"{data['event_class']} {data['event_type']}"
35 LOGBOOK_ENTRY_NAME: name,
36 LOGBOOK_ENTRY_MESSAGE: message,
39 async_describe_event(DOMAIN, BTHOME_BLE_EVENT, async_describe_bthome_event)
None async_describe_events(HomeAssistant hass, Callable[[str, str, Callable[[Event[BTHomeBleEvent]], dict[str, str]]], None] async_describe_event)