Home Assistant Unofficial Reference 2024.12.1
logbook.py
Go to the documentation of this file.
1 """Describe logbook events."""
2 
3 from collections.abc import Callable
4 from typing import Any
5 
7  LOGBOOK_ENTRY_CONTEXT_ID,
8  LOGBOOK_ENTRY_ENTITY_ID,
9  LOGBOOK_ENTRY_MESSAGE,
10  LOGBOOK_ENTRY_NAME,
11  LazyEventPartialState,
12 )
13 from homeassistant.const import ATTR_ENTITY_ID, ATTR_NAME
14 from homeassistant.core import HomeAssistant, callback
15 
16 from . import DOMAIN, EVENT_SCRIPT_STARTED
17 
18 
19 @callback
21  hass: HomeAssistant,
22  async_describe_event: Callable[
23  [str, str, Callable[[LazyEventPartialState], dict[str, Any]]], None
24  ],
25 ) -> None:
26  """Describe logbook events."""
27 
28  @callback
29  def async_describe_logbook_event(event: LazyEventPartialState) -> dict[str, Any]:
30  """Describe a logbook event."""
31  data = event.data
32  return {
33  LOGBOOK_ENTRY_NAME: data.get(ATTR_NAME),
34  LOGBOOK_ENTRY_MESSAGE: "started",
35  LOGBOOK_ENTRY_ENTITY_ID: data.get(ATTR_ENTITY_ID),
36  LOGBOOK_ENTRY_CONTEXT_ID: event.context_id,
37  }
38 
39  async_describe_event(DOMAIN, EVENT_SCRIPT_STARTED, async_describe_logbook_event)
None async_describe_events(HomeAssistant hass, Callable[[str, str, Callable[[LazyEventPartialState], dict[str, Any]]], None] async_describe_event)
Definition: logbook.py:25