homeassistant-stubs 2025.8.3__py3-none-any.whl → 2025.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (243) hide show
  1. homeassistant-stubs/auth/models.pyi +3 -1
  2. homeassistant-stubs/components/airos/binary_sensor.pyi +27 -0
  3. homeassistant-stubs/components/airos/sensor.pyi +4 -2
  4. homeassistant-stubs/components/airq/number.pyi +31 -0
  5. homeassistant-stubs/components/aladdin_connect/__init__.pyi +10 -5
  6. homeassistant-stubs/components/aladdin_connect/api.pyi +12 -0
  7. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +5 -0
  8. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +15 -4
  9. homeassistant-stubs/components/aladdin_connect/const.pyi +10 -0
  10. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +16 -0
  11. homeassistant-stubs/components/aladdin_connect/cover.pyi +25 -0
  12. homeassistant-stubs/components/aladdin_connect/entity.pyi +15 -0
  13. homeassistant-stubs/components/aladdin_connect/sensor.pyi +25 -0
  14. homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
  15. homeassistant-stubs/components/alexa_devices/config_flow.pyi +2 -0
  16. homeassistant-stubs/components/alexa_devices/const.pyi +1 -1
  17. homeassistant-stubs/components/alexa_devices/sensor.pyi +1 -1
  18. homeassistant-stubs/components/alexa_devices/services.pyi +0 -1
  19. homeassistant-stubs/components/amberelectric/const.pyi +0 -1
  20. homeassistant-stubs/components/amberelectric/services.pyi +2 -1
  21. homeassistant-stubs/components/ambient_station/entity.pyi +1 -1
  22. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +0 -1
  23. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -6
  24. homeassistant-stubs/components/apcupsd/entity.pyi +11 -0
  25. homeassistant-stubs/components/apcupsd/sensor.pyi +2 -6
  26. homeassistant-stubs/components/asuswrt/bridge.pyi +12 -8
  27. homeassistant-stubs/components/asuswrt/helpers.pyi +8 -0
  28. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  29. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
  30. homeassistant-stubs/components/awair/const.pyi +1 -0
  31. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  32. homeassistant-stubs/components/backup/config.pyi +0 -14
  33. homeassistant-stubs/components/bayesian/__init__.pyi +6 -4
  34. homeassistant-stubs/components/bayesian/binary_sensor.pyi +6 -5
  35. homeassistant-stubs/components/bayesian/config_flow.pyi +69 -0
  36. homeassistant-stubs/components/bayesian/const.pyi +5 -0
  37. homeassistant-stubs/components/bayesian/issues.pyi +1 -1
  38. homeassistant-stubs/components/bosch_alarm/const.pyi +0 -1
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +2 -1
  40. homeassistant-stubs/components/braviatv/button.pyi +1 -1
  41. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -0
  42. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  43. homeassistant-stubs/components/climate/__init__.pyi +1 -1
  44. homeassistant-stubs/components/cloud/alexa_config.pyi +2 -1
  45. homeassistant-stubs/components/cloud/subscription.pyi +2 -4
  46. homeassistant-stubs/components/co2signal/coordinator.pyi +3 -3
  47. homeassistant-stubs/components/co2signal/helpers.pyi +2 -3
  48. homeassistant-stubs/components/co2signal/sensor.pyi +3 -3
  49. homeassistant-stubs/components/config/config_entries.pyi +6 -3
  50. homeassistant-stubs/components/deconz/hub/hub.pyi +0 -1
  51. homeassistant-stubs/components/deconz/services.pyi +0 -1
  52. homeassistant-stubs/components/demo/media_player.pyi +2 -0
  53. homeassistant-stubs/components/device_automation/condition.pyi +2 -2
  54. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +29 -1
  55. homeassistant-stubs/components/enphase_envoy/sensor.pyi +30 -1
  56. homeassistant-stubs/components/esphome/manager.pyi +1 -2
  57. homeassistant-stubs/components/esphome/media_player.pyi +5 -0
  58. homeassistant-stubs/components/fan/intent.pyi +7 -0
  59. homeassistant-stubs/components/fritz/coordinator.pyi +0 -1
  60. homeassistant-stubs/components/fyta/const.pyi +4 -0
  61. homeassistant-stubs/components/fyta/sensor.pyi +11 -0
  62. homeassistant-stubs/components/glances/coordinator.pyi +0 -1
  63. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  64. homeassistant-stubs/components/habitica/__init__.pyi +6 -2
  65. homeassistant-stubs/components/habitica/binary_sensor.pyi +13 -4
  66. homeassistant-stubs/components/habitica/coordinator.pyi +18 -4
  67. homeassistant-stubs/components/habitica/entity.pyi +10 -1
  68. homeassistant-stubs/components/habitica/image.pyi +19 -4
  69. homeassistant-stubs/components/habitica/sensor.pyi +27 -3
  70. homeassistant-stubs/components/habitica/util.pyi +5 -2
  71. homeassistant-stubs/components/home_connect/const.pyi +0 -7
  72. homeassistant-stubs/components/home_connect/services.pyi +1 -14
  73. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +0 -1
  74. homeassistant-stubs/components/homee/config_flow.pyi +8 -2
  75. homeassistant-stubs/components/homee/const.pyi +3 -0
  76. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  77. homeassistant-stubs/components/homekit/const.pyi +4 -0
  78. homeassistant-stubs/components/homekit/type_switches.pyi +11 -1
  79. homeassistant-stubs/components/homekit/util.pyi +3 -2
  80. homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -2
  81. homeassistant-stubs/components/huawei_lte/const.pyi +0 -1
  82. homeassistant-stubs/components/huawei_lte/notify.pyi +2 -2
  83. homeassistant-stubs/components/husqvarna_automower/button.pyi +4 -0
  84. homeassistant-stubs/components/husqvarna_automower/const.pyi +1 -0
  85. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +10 -0
  86. homeassistant-stubs/components/husqvarna_automower/event.pyi +35 -0
  87. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -2
  88. homeassistant-stubs/components/idasen_desk/__init__.pyi +0 -1
  89. homeassistant-stubs/components/jewish_calendar/__init__.pyi +2 -1
  90. homeassistant-stubs/components/jewish_calendar/coordinator.pyi +41 -0
  91. homeassistant-stubs/components/jewish_calendar/entity.pyi +5 -26
  92. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -1
  93. homeassistant-stubs/components/knx/scene.pyi +5 -4
  94. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +5 -11
  95. homeassistant-stubs/components/knx/storage/knx_selector.pyi +57 -6
  96. homeassistant-stubs/components/knx/storage/serialize.pyi +10 -0
  97. homeassistant-stubs/components/knx/storage/util.pyi +2 -0
  98. homeassistant-stubs/components/knx/websocket.pyi +7 -3
  99. homeassistant-stubs/components/letpot/select.pyi +39 -0
  100. homeassistant-stubs/components/mastodon/__init__.pyi +1 -2
  101. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -2
  102. homeassistant-stubs/components/mastodon/const.pyi +0 -1
  103. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -2
  104. homeassistant-stubs/components/mastodon/services.pyi +2 -1
  105. homeassistant-stubs/components/matter/lock.pyi +6 -0
  106. homeassistant-stubs/components/matter/sensor.pyi +2 -1
  107. homeassistant-stubs/components/mealie/const.pyi +0 -1
  108. homeassistant-stubs/components/mealie/services.pyi +2 -2
  109. homeassistant-stubs/components/media_player/__init__.pyi +4 -0
  110. homeassistant-stubs/components/media_player/intent.pyi +13 -3
  111. homeassistant-stubs/components/met_eireann/const.pyi +1 -1
  112. homeassistant-stubs/components/met_eireann/weather.pyi +4 -0
  113. homeassistant-stubs/components/miele/climate.pyi +3 -1
  114. homeassistant-stubs/components/miele/const.pyi +1 -0
  115. homeassistant-stubs/components/miele/coordinator.pyi +2 -3
  116. homeassistant-stubs/components/miele/entity.pyi +2 -3
  117. homeassistant-stubs/components/miele/sensor.pyi +25 -6
  118. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -2
  119. homeassistant-stubs/components/modbus/climate.pyi +1 -2
  120. homeassistant-stubs/components/modbus/const.pyi +2 -0
  121. homeassistant-stubs/components/modbus/entity.pyi +7 -16
  122. homeassistant-stubs/components/modbus/light.pyi +0 -1
  123. homeassistant-stubs/components/modbus/modbus.pyi +9 -11
  124. homeassistant-stubs/components/modbus/sensor.pyi +1 -3
  125. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -23
  126. homeassistant-stubs/components/mqtt/config_flow.pyi +8 -2
  127. homeassistant-stubs/components/mqtt/const.pyi +40 -1
  128. homeassistant-stubs/components/mqtt/lock.pyi +1 -21
  129. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  130. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  131. homeassistant-stubs/components/music_assistant/actions.pyi +2 -1
  132. homeassistant-stubs/components/music_assistant/const.pyi +0 -1
  133. homeassistant-stubs/components/music_assistant/media_browser.pyi +1 -1
  134. homeassistant-stubs/components/number/__init__.pyi +3 -0
  135. homeassistant-stubs/components/number/const.pyi +2 -1
  136. homeassistant-stubs/components/open_router/entity.pyi +2 -2
  137. homeassistant-stubs/components/openai_conversation/entity.pyi +3 -3
  138. homeassistant-stubs/components/opower/__init__.pyi +1 -0
  139. homeassistant-stubs/components/opower/repairs.pyi +13 -0
  140. homeassistant-stubs/components/overseerr/const.pyi +0 -1
  141. homeassistant-stubs/components/overseerr/services.pyi +2 -1
  142. homeassistant-stubs/components/person/__init__.pyi +2 -1
  143. homeassistant-stubs/components/qbus/binary_sensor.pyi +43 -0
  144. homeassistant-stubs/components/qbus/climate.pyi +1 -1
  145. homeassistant-stubs/components/qbus/coordinator.pyi +4 -3
  146. homeassistant-stubs/components/qbus/cover.pyi +1 -1
  147. homeassistant-stubs/components/qbus/entity.pyi +6 -5
  148. homeassistant-stubs/components/qbus/light.pyi +1 -1
  149. homeassistant-stubs/components/qbus/scene.pyi +4 -6
  150. homeassistant-stubs/components/qbus/sensor.pyi +67 -0
  151. homeassistant-stubs/components/qbus/switch.pyi +1 -1
  152. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  153. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  154. homeassistant-stubs/components/rest_command/__init__.pyi +1 -1
  155. homeassistant-stubs/components/romy/coordinator.pyi +0 -1
  156. homeassistant-stubs/components/russound_rio/media_browser.pyi +8 -0
  157. homeassistant-stubs/components/russound_rio/media_player.pyi +3 -2
  158. homeassistant-stubs/components/ruuvitag_ble/sensor.pyi +2 -2
  159. homeassistant-stubs/components/scene/__init__.pyi +13 -4
  160. homeassistant-stubs/components/sensibo/select.pyi +0 -5
  161. homeassistant-stubs/components/sensor/__init__.pyi +3 -0
  162. homeassistant-stubs/components/sensor/const.pyi +3 -2
  163. homeassistant-stubs/components/sensor/recorder.pyi +1 -1
  164. homeassistant-stubs/components/sleep_as_android/__init__.pyi +16 -0
  165. homeassistant-stubs/components/sleep_as_android/config_flow.pyi +2 -0
  166. homeassistant-stubs/components/sleep_as_android/const.pyi +9 -0
  167. homeassistant-stubs/components/sleep_as_android/diagnostics.pyi +5 -0
  168. homeassistant-stubs/components/sleep_as_android/entity.pyi +20 -0
  169. homeassistant-stubs/components/sleep_as_android/event.pyi +33 -0
  170. homeassistant-stubs/components/sleep_as_android/sensor.pyi +25 -0
  171. homeassistant-stubs/components/solarlog/sensor.pyi +11 -1
  172. homeassistant-stubs/components/speedtestdotnet/coordinator.pyi +0 -1
  173. homeassistant-stubs/components/stookwijzer/const.pyi +0 -1
  174. homeassistant-stubs/components/stookwijzer/services.pyi +2 -1
  175. homeassistant-stubs/components/sun/condition.pyi +2 -2
  176. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
  177. homeassistant-stubs/components/switchbot_cloud/const.pyi +10 -0
  178. homeassistant-stubs/components/switchbot_cloud/cover.pyi +57 -0
  179. homeassistant-stubs/components/switchbot_cloud/fan.pyi +22 -1
  180. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  181. homeassistant-stubs/components/telegram_bot/bot.pyi +4 -1
  182. homeassistant-stubs/components/telegram_bot/notify.pyi +21 -0
  183. homeassistant-stubs/components/unifi/switch.pyi +3 -0
  184. homeassistant-stubs/components/volvo/__init__.pyi +1 -1
  185. homeassistant-stubs/components/volvo/binary_sensor.pyi +42 -0
  186. homeassistant-stubs/components/volvo/const.pyi +1 -1
  187. homeassistant-stubs/components/volvo/coordinator.pyi +5 -0
  188. homeassistant-stubs/components/volvo/sensor.pyi +2 -2
  189. homeassistant-stubs/components/webostv/__init__.pyi +2 -2
  190. homeassistant-stubs/components/webostv/const.pyi +0 -1
  191. homeassistant-stubs/components/webostv/notify.pyi +2 -2
  192. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  193. homeassistant-stubs/components/wemo/coordinator.pyi +0 -1
  194. homeassistant-stubs/components/workday/__init__.pyi +6 -8
  195. homeassistant-stubs/components/workday/binary_sensor.pyi +9 -33
  196. homeassistant-stubs/components/workday/entity.pyi +34 -0
  197. homeassistant-stubs/components/workday/util.pyi +14 -0
  198. homeassistant-stubs/components/yalexs_ble/__init__.pyi +3 -1
  199. homeassistant-stubs/components/yalexs_ble/config_cache.pyi +10 -0
  200. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +4 -0
  201. homeassistant-stubs/components/zone/condition.pyi +2 -2
  202. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -5
  203. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +18 -10
  204. homeassistant-stubs/components/zwave_js/const.pyi +0 -1
  205. homeassistant-stubs/components/zwave_js/discovery.pyi +7 -51
  206. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -11
  207. homeassistant-stubs/components/zwave_js/entity.pyi +15 -5
  208. homeassistant-stubs/components/zwave_js/helpers.pyi +0 -7
  209. homeassistant-stubs/components/zwave_js/migrate.pyi +2 -2
  210. homeassistant-stubs/components/zwave_js/models.pyi +95 -1
  211. homeassistant-stubs/components/zwave_js/triggers/event.pyi +5 -4
  212. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +2 -2
  213. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +3 -2
  214. homeassistant-stubs/components/zwave_js/update.pyi +0 -3
  215. homeassistant-stubs/config_entries.pyi +5 -0
  216. homeassistant-stubs/const.pyi +9 -5
  217. homeassistant-stubs/data_entry_flow.pyi +0 -1
  218. homeassistant-stubs/helpers/automation.pyi +2 -0
  219. homeassistant-stubs/helpers/condition.pyi +6 -6
  220. homeassistant-stubs/helpers/config_validation.pyi +3 -0
  221. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  222. homeassistant-stubs/helpers/device_registry.pyi +2 -2
  223. homeassistant-stubs/helpers/entity_registry.pyi +4 -3
  224. homeassistant-stubs/helpers/json.pyi +0 -7
  225. homeassistant-stubs/helpers/llm.pyi +1 -0
  226. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -1
  227. homeassistant-stubs/helpers/selector.pyi +2 -1
  228. homeassistant-stubs/helpers/target.pyi +3 -2
  229. homeassistant-stubs/helpers/trigger.pyi +6 -6
  230. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  231. {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0.dist-info}/METADATA +2 -2
  232. {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0.dist-info}/RECORD +234 -208
  233. homeassistant-stubs/components/linear_garage_door/__init__.pyi +0 -10
  234. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +0 -25
  235. homeassistant-stubs/components/linear_garage_door/const.pyi +0 -1
  236. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +0 -26
  237. homeassistant-stubs/components/linear_garage_door/cover.pyi +0 -28
  238. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +0 -10
  239. homeassistant-stubs/components/linear_garage_door/entity.pyi +0 -17
  240. homeassistant-stubs/components/linear_garage_door/light.pyi +0 -23
  241. homeassistant-stubs/components/mastodon/notify.pyi +0 -24
  242. {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0.dist-info}/WHEEL +0 -0
  243. {homeassistant_stubs-2025.8.3.dist-info → homeassistant_stubs-2025.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,6 @@
1
1
  import abc
2
2
  import logging
3
+ from .automation import get_absolute_description_key as get_absolute_description_key, get_relative_description_key as get_relative_description_key
3
4
  from .integration_platform import async_process_integration_platforms as async_process_integration_platforms
4
5
  from .template import Template as Template, render_complex as render_complex
5
6
  from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
@@ -15,7 +16,6 @@ from homeassistant.loader import Integration as Integration, IntegrationNotFound
15
16
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
16
17
  from homeassistant.util.hass_dict import HassKey as HassKey
17
18
  from homeassistant.util.yaml import load_yaml_dict as load_yaml_dict
18
- from homeassistant.util.yaml.loader import JSON_TYPE as JSON_TYPE
19
19
  from typing import Any, Protocol
20
20
 
21
21
  ASYNC_FROM_CONFIG_FORMAT: str
@@ -43,9 +43,9 @@ class Condition(abc.ABC, metaclass=abc.ABCMeta):
43
43
  def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
44
44
  @classmethod
45
45
  @abc.abstractmethod
46
- async def async_validate_condition_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
46
+ async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
47
47
  @abc.abstractmethod
48
- async def async_condition_from_config(self) -> ConditionCheckerType: ...
48
+ async def async_get_checker(self) -> ConditionCheckerType: ...
49
49
 
50
50
  class ConditionProtocol(Protocol):
51
51
  async def async_get_conditions(self, hass: HomeAssistant) -> dict[str, type[Condition]]: ...
@@ -57,7 +57,7 @@ def condition_trace_update_result(**kwargs: Any) -> None: ...
57
57
  @contextmanager
58
58
  def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement]: ...
59
59
  def trace_condition_function(condition: ConditionCheckerType) -> ConditionCheckerType: ...
60
- async def _async_get_condition_platform(hass: HomeAssistant, config: ConfigType) -> ConditionProtocol | None: ...
60
+ async def _async_get_condition_platform(hass: HomeAssistant, condition_key: str) -> tuple[str, ConditionProtocol | None]: ...
61
61
  async def async_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
62
62
  async def async_and_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
63
63
  async def async_or_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
@@ -82,6 +82,6 @@ async def async_conditions_from_config(hass: HomeAssistant, condition_configs: l
82
82
  def async_extract_entities(config: ConfigType | Template) -> set[str]: ...
83
83
  @callback
84
84
  def async_extract_devices(config: ConfigType | Template) -> set[str]: ...
85
- def _load_conditions_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
86
- def _load_conditions_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> dict[str, JSON_TYPE]: ...
85
+ def _load_conditions_file(integration: Integration) -> dict[str, Any]: ...
86
+ def _load_conditions_files(integrations: Iterable[Integration]) -> dict[str, dict[str, Any]]: ...
87
87
  async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any] | None]: ...
@@ -71,6 +71,7 @@ def ensure_list[_T](value: list[_T]) -> list[_T]: ...
71
71
  @overload
72
72
  def ensure_list[_T](value: list[_T] | _T) -> list[_T]: ...
73
73
  def entity_id(value: Any) -> str: ...
74
+ def strict_entity_id(value: Any) -> str: ...
74
75
  def entity_id_or_uuid(value: Any) -> str: ...
75
76
  def _entity_ids(value: str | list, allow_uuid: bool) -> list[str]: ...
76
77
  def entity_ids(value: str | list) -> list[str]: ...
@@ -108,6 +109,7 @@ positive_time_period: Incomplete
108
109
  def remove_falsy[_T](value: list[_T]) -> list[_T]: ...
109
110
  def service(value: Any) -> str: ...
110
111
  def slug(value: Any) -> str: ...
112
+ def underscore_slug(value: Any) -> str: ...
111
113
  def schema_with_slug_keys(value_schema: dict | Callable, *, slug_validator: Callable[[Any], str] = ...) -> Callable: ...
112
114
  def slugify(value: Any) -> str: ...
113
115
  def string(value: Any) -> str: ...
@@ -158,6 +160,7 @@ def platform_only_config_schema(domain: str) -> Callable[[dict], dict]: ...
158
160
 
159
161
  PLATFORM_SCHEMA: Incomplete
160
162
  PLATFORM_SCHEMA_BASE: Incomplete
163
+ TARGET_FIELDS: VolDictType
161
164
  ENTITY_SERVICE_FIELDS: VolDictType
162
165
  TARGET_SERVICE_FIELDS: Incomplete
163
166
  _HAS_ENTITY_SERVICE_FIELD: Incomplete
@@ -10,7 +10,7 @@ _FlowManagerT = TypeVar('_FlowManagerT', bound=data_entry_flow.FlowManager[Any,
10
10
  class _BaseFlowManagerView(HomeAssistantView, Generic[_FlowManagerT]):
11
11
  _flow_mgr: Incomplete
12
12
  def __init__(self, flow_mgr: _FlowManagerT) -> None: ...
13
- def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
13
+ def _prepare_result_json(self, result: data_entry_flow.FlowResult) -> dict[str, Any]: ...
14
14
 
15
15
  class FlowManagerIndexView(_BaseFlowManagerView[_FlowManagerT]):
16
16
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
@@ -157,7 +157,7 @@ class DeletedDeviceEntry:
157
157
  config_entries_subentries: dict[str, set[str | None]]
158
158
  connections: set[tuple[str, str]]
159
159
  created_at: datetime
160
- disabled_by: DeviceEntryDisabler | None
160
+ disabled_by: DeviceEntryDisabler | UndefinedType | None
161
161
  id: str
162
162
  identifiers: set[tuple[str, str]]
163
163
  labels: set[str]
@@ -165,7 +165,7 @@ class DeletedDeviceEntry:
165
165
  name_by_user: str | None
166
166
  orphaned_timestamp: float | None
167
167
  _cache: dict[str, Any]
168
- def to_device_entry(self, config_entry_id: str, config_subentry_id: str | None, connections: set[tuple[str, str]], identifiers: set[tuple[str, str]]) -> DeviceEntry: ...
168
+ def to_device_entry(self, config_entry: ConfigEntry, config_subentry_id: str | None, connections: set[tuple[str, str]], identifiers: set[tuple[str, str]], disabled_by: DeviceEntryDisabler | UndefinedType | None) -> DeviceEntry: ...
169
169
  @under_cached_property
170
170
  def as_storage_fragment(self) -> json_fragment: ...
171
171
  def __init__(self, area_id, config_entries, config_entries_subentries, connections, created_at, disabled_by, id, identifiers, labels, modified_at, name_by_user, orphaned_timestamp, cache) -> None: ...
@@ -61,6 +61,7 @@ type ReadOnlyEntityOptionsType = ReadOnlyDict[str, ReadOnlyDict[str, Any]]
61
61
  DISPLAY_DICT_OPTIONAL: Incomplete
62
62
 
63
63
  def _protect_entity_options(data: EntityOptionsType | None) -> ReadOnlyEntityOptionsType: ...
64
+ def _protect_optional_entity_options(data: EntityOptionsType | UndefinedType | None) -> ReadOnlyEntityOptionsType | UndefinedType: ...
64
65
 
65
66
  class RegistryEntry:
66
67
  entity_id: str
@@ -132,15 +133,15 @@ class DeletedRegistryEntry:
132
133
  config_subentry_id: str | None
133
134
  created_at: datetime
134
135
  device_class: str | None
135
- disabled_by: RegistryEntryDisabler | None
136
+ disabled_by: RegistryEntryDisabler | UndefinedType | None
136
137
  domain: str
137
- hidden_by: RegistryEntryHider | None
138
+ hidden_by: RegistryEntryHider | UndefinedType | None
138
139
  icon: str | None
139
140
  id: str
140
141
  labels: set[str]
141
142
  modified_at: datetime
142
143
  name: str | None
143
- options: ReadOnlyEntityOptionsType
144
+ options: ReadOnlyEntityOptionsType | UndefinedType
144
145
  orphaned_timestamp: float | None
145
146
  _cache: dict[str, Any]
146
147
  @domain.default
@@ -1,18 +1,11 @@
1
1
  import json
2
2
  import orjson
3
- from .deprecation import DeprecatedConstant as DeprecatedConstant, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, deprecated_function as deprecated_function, dir_with_deprecated_constants as dir_with_deprecated_constants
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable
6
5
  from homeassistant.util.file import write_utf8_file as write_utf8_file, write_utf8_file_atomic as write_utf8_file_atomic
7
6
  from homeassistant.util.json import SerializationError as SerializationError, format_unserializable_data as format_unserializable_data
8
7
  from typing import Any, Final
9
8
 
10
- _DEPRECATED_JSON_DECODE_EXCEPTIONS: Incomplete
11
- _DEPRECATED_JSON_ENCODE_EXCEPTIONS: Incomplete
12
- json_loads: Incomplete
13
- __getattr__: Incomplete
14
- __dir__: Incomplete
15
- __all__: Incomplete
16
9
  _LOGGER: Incomplete
17
10
 
18
11
  class JSONEncoder(json.JSONEncoder):
@@ -50,6 +50,7 @@ class ToolInput:
50
50
  tool_name: str
51
51
  tool_args: dict[str, Any]
52
52
  id: str = dc_field(default_factory=Incomplete)
53
+ external: bool = ...
53
54
 
54
55
  class Tool(metaclass=abc.ABCMeta):
55
56
  name: str
@@ -26,7 +26,7 @@ class SchemaFlowFormStep(SchemaFlowStep):
26
26
 
27
27
  @dataclass(slots=True)
28
28
  class SchemaFlowMenuStep(SchemaFlowStep):
29
- options: Container[str]
29
+ options: Container[str] | Callable[[SchemaCommonFlowHandler], Coroutine[Any, Any, Container[str]]]
30
30
 
31
31
  class SchemaCommonFlowHandler:
32
32
  _flow: Incomplete
@@ -41,6 +41,7 @@ class SchemaCommonFlowHandler:
41
41
  @property
42
42
  def flow_state(self) -> dict[str, Any]: ...
43
43
  async def async_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
+ async def _get_options(self, form_step: SchemaFlowMenuStep) -> Container[str]: ...
44
45
  async def _get_schema(self, form_step: SchemaFlowFormStep) -> vol.Schema | None: ...
45
46
  async def _async_form_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
47
  def _update_and_remove_omitted_optional_keys(self, values: dict[str, Any], user_input: dict[str, Any], data_schema: vol.Schema | None) -> None: ...
@@ -389,12 +389,13 @@ class SelectSelector(Selector[SelectSelectorConfig]):
389
389
  class StateSelectorConfig(BaseSelectorConfig, total=False):
390
390
  entity_id: str
391
391
  hide_states: list[str]
392
+ multiple: bool
392
393
 
393
394
  class StateSelector(Selector[StateSelectorConfig]):
394
395
  selector_type: str
395
396
  CONFIG_SCHEMA: Incomplete
396
397
  def __init__(self, config: StateSelectorConfig) -> None: ...
397
- def __call__(self, data: Any) -> str: ...
398
+ def __call__(self, data: Any) -> str | list[str]: ...
398
399
 
399
400
  class StatisticSelectorConfig(BaseSelectorConfig, total=False):
400
401
  multiple: bool
@@ -48,12 +48,13 @@ class TargetStateChangeTracker:
48
48
  _hass: Incomplete
49
49
  _selector_data: Incomplete
50
50
  _action: Incomplete
51
+ _entity_filter: Incomplete
51
52
  _state_change_unsub: CALLBACK_TYPE | None
52
53
  _registry_unsubs: list[CALLBACK_TYPE]
53
- def __init__(self, hass: HomeAssistant, selector_data: TargetSelectorData, action: Callable[[TargetStateChangedData], Any]) -> None: ...
54
+ def __init__(self, hass: HomeAssistant, selector_data: TargetSelectorData, action: Callable[[TargetStateChangedData], Any], entity_filter: Callable[[set[str]], set[str]]) -> None: ...
54
55
  def async_setup(self) -> Callable[[], None]: ...
55
56
  def _track_entities_state_change(self) -> None: ...
56
57
  def _setup_registry_listeners(self) -> None: ...
57
58
  def _unsubscribe(self) -> None: ...
58
59
 
59
- def async_track_target_selector_state_change_event(hass: HomeAssistant, target_selector_config: ConfigType, action: Callable[[TargetStateChangedData], Any]) -> CALLBACK_TYPE: ...
60
+ def async_track_target_selector_state_change_event(hass: HomeAssistant, target_selector_config: ConfigType, action: Callable[[TargetStateChangedData], Any], entity_filter: Callable[[set[str]], set[str]] = ...) -> CALLBACK_TYPE: ...
@@ -1,6 +1,7 @@
1
1
  import abc
2
2
  import voluptuous as vol
3
3
  from . import selector as selector
4
+ from .automation import get_absolute_description_key as get_absolute_description_key, get_relative_description_key as get_relative_description_key
4
5
  from .integration_platform import async_process_integration_platforms as async_process_integration_platforms
5
6
  from .selector import TargetSelector as TargetSelector
6
7
  from .template import Template as Template
@@ -16,7 +17,6 @@ from homeassistant.loader import Integration as Integration, IntegrationNotFound
16
17
  from homeassistant.util.async_ import create_eager_task as create_eager_task
17
18
  from homeassistant.util.hass_dict import HassKey as HassKey
18
19
  from homeassistant.util.yaml import load_yaml_dict as load_yaml_dict
19
- from homeassistant.util.yaml.loader import JSON_TYPE as JSON_TYPE
20
20
  from typing import Any, Protocol, TypedDict
21
21
 
22
22
  _LOGGER: Incomplete
@@ -41,9 +41,9 @@ class Trigger(abc.ABC, metaclass=abc.ABCMeta):
41
41
  def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
42
42
  @classmethod
43
43
  @abc.abstractmethod
44
- async def async_validate_trigger_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
44
+ async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
45
45
  @abc.abstractmethod
46
- async def async_attach_trigger(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
46
+ async def async_attach(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
47
47
 
48
48
  class TriggerProtocol(Protocol):
49
49
  async def async_get_triggers(self, hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
@@ -88,10 +88,10 @@ class PluggableAction:
88
88
  def async_register(self, hass: HomeAssistant, trigger: dict[str, str]) -> CALLBACK_TYPE: ...
89
89
  async def async_run(self, hass: HomeAssistant, context: Context | None = None) -> None: ...
90
90
 
91
- async def _async_get_trigger_platform(hass: HomeAssistant, config: ConfigType) -> TriggerProtocol: ...
91
+ async def _async_get_trigger_platform(hass: HomeAssistant, trigger_key: str) -> tuple[str, TriggerProtocol]: ...
92
92
  async def async_validate_trigger_config(hass: HomeAssistant, trigger_config: list[ConfigType]) -> list[ConfigType]: ...
93
93
  def _trigger_action_wrapper(hass: HomeAssistant, action: Callable, conf: ConfigType) -> Callable: ...
94
94
  async def async_initialize_triggers(hass: HomeAssistant, trigger_config: list[ConfigType], action: Callable, domain: str, name: str, log_cb: Callable, home_assistant_start: bool = False, variables: TemplateVarsType = None) -> CALLBACK_TYPE | None: ...
95
- def _load_triggers_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
96
- def _load_triggers_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> dict[str, JSON_TYPE]: ...
95
+ def _load_triggers_file(integration: Integration) -> dict[str, Any]: ...
96
+ def _load_triggers_files(integrations: Iterable[Integration]) -> dict[str, dict[str, Any]]: ...
97
97
  async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any] | None]: ...
@@ -1,7 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable
3
3
  from functools import lru_cache
4
- from homeassistant.const import CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfInformation as UnitOfInformation, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
+ from homeassistant.const import CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfInformation as UnitOfInformation, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
5
5
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
6
 
7
7
  _MM_TO_M: float
@@ -119,6 +119,11 @@ class MassConverter(BaseUnitConverter):
119
119
  _UNIT_CONVERSION: dict[str | None, float]
120
120
  VALID_UNITS: Incomplete
121
121
 
122
+ class ApparentPowerConverter(BaseUnitConverter):
123
+ UNIT_CLASS: str
124
+ _UNIT_CONVERSION: dict[str | None, float]
125
+ VALID_UNITS: Incomplete
126
+
122
127
  class PowerConverter(BaseUnitConverter):
123
128
  UNIT_CLASS: str
124
129
  _UNIT_CONVERSION: dict[str | None, float]
@@ -134,6 +139,11 @@ class ReactiveEnergyConverter(BaseUnitConverter):
134
139
  _UNIT_CONVERSION: dict[str | None, float]
135
140
  VALID_UNITS: Incomplete
136
141
 
142
+ class ReactivePowerConverter(BaseUnitConverter):
143
+ UNIT_CLASS: str
144
+ _UNIT_CONVERSION: dict[str | None, float]
145
+ VALID_UNITS: Incomplete
146
+
137
147
  class SpeedConverter(BaseUnitConverter):
138
148
  UNIT_CLASS: str
139
149
  _UNIT_CONVERSION: dict[str | None, float]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.8.3
3
+ Version: 2025.9.0
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
6
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
@@ -18,7 +18,7 @@ Classifier: Topic :: Home Automation
18
18
  Classifier: Topic :: Software Development
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: >=3.13.2
21
- Requires-Dist: homeassistant==2025.8.3
21
+ Requires-Dist: homeassistant==2025.9.0
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)