1 """Provide pre-made queries on top of the recorder component."""
3 from __future__
import annotations
5 from datetime
import datetime
8 from sqlalchemy.orm.session
import Session
13 from ..filters
import Filters
14 from .const
import NEED_ATTRIBUTE_DOMAINS, SIGNIFICANT_DOMAINS
16 get_full_significant_states_with_session
as _modern_get_full_significant_states_with_session,
17 get_last_state_changes
as _modern_get_last_state_changes,
18 get_significant_states
as _modern_get_significant_states,
19 get_significant_states_with_session
as _modern_get_significant_states_with_session,
20 state_changes_during_period
as _modern_state_changes_during_period,
25 "NEED_ATTRIBUTE_DOMAINS",
26 "SIGNIFICANT_DOMAINS",
27 "get_full_significant_states_with_session",
28 "get_last_state_changes",
29 "get_significant_states",
30 "get_significant_states_with_session",
31 "state_changes_during_period",
39 end_time: datetime |
None =
None,
40 entity_ids: list[str] |
None =
None,
41 filters: Filters |
None =
None,
42 include_start_time_state: bool =
True,
43 significant_changes_only: bool =
True,
44 no_attributes: bool =
False,
45 ) -> dict[str, list[State]]:
46 """Return a dict of significant states during a time period."""
49 get_full_significant_states_with_session
as _legacy_get_full_significant_states_with_session,
52 _target = _legacy_get_full_significant_states_with_session
54 _target = _modern_get_full_significant_states_with_session
62 include_start_time_state,
63 significant_changes_only,
69 hass: HomeAssistant, number_of_states: int, entity_id: str
70 ) -> dict[str, list[State]]:
71 """Return the last number_of_states."""
74 get_last_state_changes
as _legacy_get_last_state_changes,
77 _target = _legacy_get_last_state_changes
79 _target = _modern_get_last_state_changes
80 return _target(hass, number_of_states, entity_id)
86 end_time: datetime |
None =
None,
87 entity_ids: list[str] |
None =
None,
88 filters: Filters |
None =
None,
89 include_start_time_state: bool =
True,
90 significant_changes_only: bool =
True,
91 minimal_response: bool =
False,
92 no_attributes: bool =
False,
93 compressed_state_format: bool =
False,
94 ) -> dict[str, list[State | dict[str, Any]]]:
95 """Return a dict of significant states during a time period."""
98 get_significant_states
as _legacy_get_significant_states,
101 _target = _legacy_get_significant_states
103 _target = _modern_get_significant_states
110 include_start_time_state,
111 significant_changes_only,
114 compressed_state_format,
121 start_time: datetime,
122 end_time: datetime |
None =
None,
123 entity_ids: list[str] |
None =
None,
124 filters: Filters |
None =
None,
125 include_start_time_state: bool =
True,
126 significant_changes_only: bool =
True,
127 minimal_response: bool =
False,
128 no_attributes: bool =
False,
129 compressed_state_format: bool =
False,
130 ) -> dict[str, list[State | dict[str, Any]]]:
131 """Return a dict of significant states during a time period."""
133 from .legacy
import (
134 get_significant_states_with_session
as _legacy_get_significant_states_with_session,
137 _target = _legacy_get_significant_states_with_session
139 _target = _modern_get_significant_states_with_session
147 include_start_time_state,
148 significant_changes_only,
151 compressed_state_format,
157 start_time: datetime,
158 end_time: datetime |
None =
None,
159 entity_id: str |
None =
None,
160 no_attributes: bool =
False,
161 descending: bool =
False,
162 limit: int |
None =
None,
163 include_start_time_state: bool =
True,
164 ) -> dict[str, list[State]]:
165 """Return a list of states that changed during a time period."""
167 from .legacy
import (
168 state_changes_during_period
as _legacy_state_changes_during_period,
171 _target = _legacy_state_changes_during_period
173 _target = _modern_state_changes_during_period
182 include_start_time_state,
dict[str, list[State]] state_changes_during_period(HomeAssistant hass, datetime start_time, datetime|None end_time=None, str|None entity_id=None, bool no_attributes=False, bool descending=False, int|None limit=None, bool include_start_time_state=True)
dict[str, list[State|dict[str, Any]]] get_significant_states(HomeAssistant hass, datetime start_time, datetime|None end_time=None, list[str]|None entity_ids=None, Filters|None filters=None, bool include_start_time_state=True, bool significant_changes_only=True, bool minimal_response=False, bool no_attributes=False, bool compressed_state_format=False)
dict[str, list[State]] get_full_significant_states_with_session(HomeAssistant hass, Session session, datetime start_time, datetime|None end_time=None, list[str]|None entity_ids=None, Filters|None filters=None, bool include_start_time_state=True, bool significant_changes_only=True, bool no_attributes=False)
dict[str, list[State]] get_last_state_changes(HomeAssistant hass, int number_of_states, str entity_id)
dict[str, list[State|dict[str, Any]]] get_significant_states_with_session(HomeAssistant hass, Session session, datetime start_time, datetime|None end_time=None, list[str]|None entity_ids=None, Filters|None filters=None, bool include_start_time_state=True, bool significant_changes_only=True, bool minimal_response=False, bool no_attributes=False, bool compressed_state_format=False)
Recorder get_instance(HomeAssistant hass)