1 """Describe logbook events."""
3 from collections.abc
import Callable
7 LOGBOOK_ENTRY_CONTEXT_ID,
8 LOGBOOK_ENTRY_ENTITY_ID,
12 LazyEventPartialState,
17 from .
import ATTR_SOURCE, EVENT_AUTOMATION_TRIGGERED
18 from .const
import DOMAIN
24 async_describe_event: Callable[
25 [str, str, Callable[[LazyEventPartialState], dict[str, Any]]],
None
28 """Describe logbook events."""
31 def async_describe_logbook_event(event: LazyEventPartialState) -> dict[str, Any]:
32 """Describe a logbook event."""
35 if ATTR_SOURCE
in data:
36 message = f
"{message} by {data[ATTR_SOURCE]}"
39 LOGBOOK_ENTRY_NAME: data.get(ATTR_NAME),
40 LOGBOOK_ENTRY_MESSAGE: message,
41 LOGBOOK_ENTRY_SOURCE: data.get(ATTR_SOURCE),
42 LOGBOOK_ENTRY_ENTITY_ID: data.get(ATTR_ENTITY_ID),
43 LOGBOOK_ENTRY_CONTEXT_ID: event.context_id,
47 DOMAIN, EVENT_AUTOMATION_TRIGGERED, async_describe_logbook_event
None async_describe_events(HomeAssistant hass, Callable[[str, str, Callable[[LazyEventPartialState], dict[str, Any]]], None] async_describe_event)