1 """Describe logbook events."""
3 from collections.abc
import Callable
7 LOGBOOK_ENTRY_ENTITY_ID,
14 from .const
import ATTR_DISPLAY_NAME, ATTR_VALUE, DOMAIN, EVENT_HOMEKIT_CHANGED
20 async_describe_event: Callable[[str, str, Callable[[Event], dict[str, Any]]],
None],
22 """Describe logbook events."""
25 def async_describe_logbook_event(event: Event) -> dict[str, Any]:
26 """Describe a logbook event."""
28 entity_id = data.get(ATTR_ENTITY_ID)
29 value = data.get(ATTR_VALUE)
31 value_msg = f
" to {value}" if value
else ""
33 f
"send command {data[ATTR_SERVICE]}{value_msg} for"
34 f
" {data[ATTR_DISPLAY_NAME]}"
38 LOGBOOK_ENTRY_NAME:
"HomeKit",
39 LOGBOOK_ENTRY_MESSAGE: message,
40 LOGBOOK_ENTRY_ENTITY_ID: entity_id,
43 async_describe_event(DOMAIN, EVENT_HOMEKIT_CHANGED, async_describe_logbook_event)
None async_describe_events(HomeAssistant hass, Callable[[str, str, Callable[[Event], dict[str, Any]]], None] async_describe_event)