homeassistant-stubs 2024.4.4__py3-none-any.whl → 2024.5.0b0__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.
Files changed (360) hide show
  1. homeassistant-stubs/auth/__init__.pyi +3 -1
  2. homeassistant-stubs/auth/jwt_wrapper.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -2
  4. homeassistant-stubs/auth/permissions/events.pyi +3 -2
  5. homeassistant-stubs/auth/session.pyi +46 -0
  6. homeassistant-stubs/backports/enum.pyi +6 -2
  7. homeassistant-stubs/backports/functools.pyi +5 -15
  8. homeassistant-stubs/block_async_io.pyi +8 -1
  9. homeassistant-stubs/bootstrap.pyi +7 -1
  10. homeassistant-stubs/components/accuweather/__init__.pyi +9 -13
  11. homeassistant-stubs/components/accuweather/config_flow.pyi +2 -10
  12. homeassistant-stubs/components/accuweather/const.pyi +2 -2
  13. homeassistant-stubs/components/accuweather/coordinator.pyi +27 -0
  14. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  15. homeassistant-stubs/components/accuweather/sensor.pyi +29 -8
  16. homeassistant-stubs/components/accuweather/weather.pyi +9 -5
  17. homeassistant-stubs/components/adax/climate.pyi +3 -1
  18. homeassistant-stubs/components/adguard/__init__.pyi +9 -1
  19. homeassistant-stubs/components/adguard/const.pyi +0 -2
  20. homeassistant-stubs/components/adguard/entity.pyi +4 -3
  21. homeassistant-stubs/components/adguard/sensor.pyi +3 -3
  22. homeassistant-stubs/components/adguard/switch.pyi +3 -3
  23. homeassistant-stubs/components/airtouch5/config_flow.pyi +3 -3
  24. homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -0
  25. homeassistant-stubs/components/airzone_cloud/select.pyi +38 -0
  26. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +35 -0
  27. homeassistant-stubs/components/alert/__init__.pyi +2 -2
  28. homeassistant-stubs/components/alexa/config.pyi +2 -0
  29. homeassistant-stubs/components/alexa/entities.pyi +0 -2
  30. homeassistant-stubs/components/alexa/intent.pyi +2 -1
  31. homeassistant-stubs/components/alexa/resources.pyi +3 -3
  32. homeassistant-stubs/components/alexa/state_report.pyi +3 -4
  33. homeassistant-stubs/components/ambient_network/__init__.pyi +10 -0
  34. homeassistant-stubs/components/ambient_network/config_flow.pyi +22 -0
  35. homeassistant-stubs/components/ambient_network/const.pyi +12 -0
  36. homeassistant-stubs/components/ambient_network/coordinator.pyi +18 -0
  37. homeassistant-stubs/components/ambient_network/entity.pyi +20 -0
  38. homeassistant-stubs/components/ambient_network/helper.pyi +4 -0
  39. homeassistant-stubs/components/ambient_network/sensor.pyi +46 -0
  40. homeassistant-stubs/components/ambient_station/sensor.pyi +3 -1
  41. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -2
  42. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -0
  43. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -0
  44. homeassistant-stubs/components/api/__init__.pyi +2 -2
  45. homeassistant-stubs/components/apple_tv/remote.pyi +1 -1
  46. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +5 -4
  47. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  48. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  49. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -3
  50. homeassistant-stubs/components/auth/__init__.pyi +9 -2
  51. homeassistant-stubs/components/auth/login_flow.pyi +2 -2
  52. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
  53. homeassistant-stubs/components/automation/__init__.pyi +7 -9
  54. homeassistant-stubs/components/automation/logbook.pyi +3 -1
  55. homeassistant-stubs/components/axis/hub/event_source.pyi +23 -0
  56. homeassistant-stubs/components/axis/hub/hub.pyi +4 -9
  57. homeassistant-stubs/components/baf/fan.pyi +1 -0
  58. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
  59. homeassistant-stubs/components/bluetooth/config_flow.pyi +6 -0
  60. homeassistant-stubs/components/bluetooth/diagnostics.pyi +1 -1
  61. homeassistant-stubs/components/bluetooth/util.pyi +2 -1
  62. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +2 -1
  63. homeassistant-stubs/components/bmw_connected_drive/const.pyi +1 -0
  64. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +4 -3
  65. homeassistant-stubs/components/camera/__init__.pyi +2 -2
  66. homeassistant-stubs/components/cloud/__init__.pyi +9 -4
  67. homeassistant-stubs/components/cloud/alexa_config.pyi +2 -2
  68. homeassistant-stubs/components/cloud/const.pyi +2 -1
  69. homeassistant-stubs/components/cloud/google_config.pyi +3 -3
  70. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  71. homeassistant-stubs/components/cloud/prefs.pyi +5 -3
  72. homeassistant-stubs/components/cloud/stt.pyi +1 -0
  73. homeassistant-stubs/components/cloud/tts.pyi +1 -0
  74. homeassistant-stubs/components/cloud/util.pyi +7 -0
  75. homeassistant-stubs/components/command_line/binary_sensor.pyi +4 -4
  76. homeassistant-stubs/components/command_line/const.pyi +4 -1
  77. homeassistant-stubs/components/command_line/cover.pyi +3 -3
  78. homeassistant-stubs/components/command_line/sensor.pyi +4 -5
  79. homeassistant-stubs/components/command_line/switch.pyi +3 -3
  80. homeassistant-stubs/components/config/__init__.pyi +1 -1
  81. homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -1
  82. homeassistant-stubs/components/demo/notify.pyi +12 -10
  83. homeassistant-stubs/components/demo/sensor.pyi +1 -1
  84. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  85. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  86. homeassistant-stubs/components/device_tracker/legacy.pyi +2 -1
  87. homeassistant-stubs/components/dhcp/__init__.pyi +2 -2
  88. homeassistant-stubs/components/dlna_dms/dms.pyi +2 -1
  89. homeassistant-stubs/components/ecovacs/event.pyi +1 -0
  90. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  91. homeassistant-stubs/components/ecovacs/util.pyi +5 -1
  92. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -0
  93. homeassistant-stubs/components/emulated_hue/config.pyi +2 -2
  94. homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -2
  95. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +12 -0
  96. homeassistant-stubs/components/energenie_power_sockets/config_flow.pyi +6 -0
  97. homeassistant-stubs/components/energenie_power_sockets/const.pyi +5 -0
  98. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +27 -0
  99. homeassistant-stubs/components/energy/data.pyi +1 -0
  100. homeassistant-stubs/components/energy/sensor.pyi +4 -4
  101. homeassistant-stubs/components/energy/websocket_api.pyi +1 -1
  102. homeassistant-stubs/components/enigma2/__init__.pyi +11 -0
  103. homeassistant-stubs/components/enigma2/config_flow.pyi +17 -0
  104. homeassistant-stubs/components/enigma2/const.pyi +1 -0
  105. homeassistant-stubs/components/enigma2/media_player.pyi +9 -6
  106. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  107. homeassistant-stubs/components/eq3btsmart/__init__.pyi +18 -0
  108. homeassistant-stubs/components/eq3btsmart/climate.pyi +55 -0
  109. homeassistant-stubs/components/eq3btsmart/config_flow.pyi +17 -0
  110. homeassistant-stubs/components/eq3btsmart/const.pyi +38 -0
  111. homeassistant-stubs/components/eq3btsmart/entity.pyi +10 -0
  112. homeassistant-stubs/components/eq3btsmart/models.pyi +20 -0
  113. homeassistant-stubs/components/eq3btsmart/schemas.pyi +6 -0
  114. homeassistant-stubs/components/esphome/datetime.pyi +14 -0
  115. homeassistant-stubs/components/esphome/entry_data.pyi +4 -5
  116. homeassistant-stubs/components/esphome/event.pyi +16 -0
  117. homeassistant-stubs/components/esphome/manager.pyi +5 -4
  118. homeassistant-stubs/components/esphome/update.pyi +0 -1
  119. homeassistant-stubs/components/esphome/valve.pyi +30 -0
  120. homeassistant-stubs/components/esphome/voice_assistant.pyi +24 -8
  121. homeassistant-stubs/components/filter/sensor.pyi +2 -2
  122. homeassistant-stubs/components/fritz/__init__.pyi +2 -2
  123. homeassistant-stubs/components/fritz/button.pyi +16 -3
  124. homeassistant-stubs/components/fritz/common.pyi +6 -3
  125. homeassistant-stubs/components/fritz/config_flow.pyi +7 -2
  126. homeassistant-stubs/components/fritz/const.pyi +5 -1
  127. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  128. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -0
  129. homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -2
  130. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +4 -2
  131. homeassistant-stubs/components/generic_thermostat/climate.pyi +2 -2
  132. homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
  133. homeassistant-stubs/components/glances/coordinator.pyi +1 -0
  134. homeassistant-stubs/components/glances/sensor.pyi +6 -5
  135. homeassistant-stubs/components/group/entity.pyi +9 -13
  136. homeassistant-stubs/components/group/event.pyi +2 -2
  137. homeassistant-stubs/components/group/media_player.pyi +2 -2
  138. homeassistant-stubs/components/group/notify.pyi +2 -1
  139. homeassistant-stubs/components/group/registry.pyi +7 -4
  140. homeassistant-stubs/components/history/websocket_api.pyi +6 -6
  141. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -2
  142. homeassistant-stubs/components/history_stats/data.pyi +1 -2
  143. homeassistant-stubs/components/homeassistant/logbook.pyi +5 -3
  144. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
  145. homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
  146. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
  147. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -1
  148. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -9
  149. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +60 -6
  150. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +8 -0
  151. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +23 -2
  152. homeassistant-stubs/components/homekit/accessories.pyi +2 -2
  153. homeassistant-stubs/components/homekit/type_cameras.pyi +3 -2
  154. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  155. homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -2
  156. homeassistant-stubs/components/homekit/type_thermostats.pyi +2 -2
  157. homeassistant-stubs/components/homekit/util.pyi +3 -4
  158. homeassistant-stubs/components/homeworks/__init__.pyi +7 -2
  159. homeassistant-stubs/components/homeworks/button.pyi +1 -1
  160. homeassistant-stubs/components/http/__init__.pyi +11 -7
  161. homeassistant-stubs/components/http/auth.pyi +11 -3
  162. homeassistant-stubs/components/http/const.pyi +7 -0
  163. homeassistant-stubs/components/http/session.pyi +29 -0
  164. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -6
  165. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -4
  166. homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -9
  167. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  168. homeassistant-stubs/components/hydrawise/switch.pyi +2 -5
  169. homeassistant-stubs/components/image/__init__.pyi +2 -2
  170. homeassistant-stubs/components/imap/__init__.pyi +20 -4
  171. homeassistant-stubs/components/imap/config_flow.pyi +2 -1
  172. homeassistant-stubs/components/imap/const.pyi +5 -2
  173. homeassistant-stubs/components/imap/coordinator.pyi +5 -2
  174. homeassistant-stubs/components/integration/sensor.pyi +12 -13
  175. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -3
  176. homeassistant-stubs/components/islamic_prayer_times/coordinator.pyi +2 -2
  177. homeassistant-stubs/components/isy994/helpers.pyi +1 -1
  178. homeassistant-stubs/components/jvc_projector/select.pyi +30 -0
  179. homeassistant-stubs/components/knx/expose.pyi +2 -2
  180. homeassistant-stubs/components/knx/helpers/__init__.pyi +0 -0
  181. homeassistant-stubs/components/knx/notify.pyi +16 -3
  182. homeassistant-stubs/components/knx/repairs.pyi +7 -0
  183. homeassistant-stubs/components/logbook/__init__.pyi +1 -0
  184. homeassistant-stubs/components/logbook/helpers.pyi +5 -4
  185. homeassistant-stubs/components/logbook/models.pyi +4 -3
  186. homeassistant-stubs/components/logbook/processor.pyi +3 -2
  187. homeassistant-stubs/components/logger/helpers.pyi +4 -1
  188. homeassistant-stubs/components/media_extractor/__init__.pyi +4 -4
  189. homeassistant-stubs/components/media_extractor/const.pyi +5 -0
  190. homeassistant-stubs/components/min_max/sensor.pyi +2 -2
  191. homeassistant-stubs/components/minecraft_server/sensor.pyi +2 -2
  192. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  193. homeassistant-stubs/components/modbus/base_platform.pyi +1 -1
  194. homeassistant-stubs/components/modbus/climate.pyi +9 -3
  195. homeassistant-stubs/components/modbus/const.pyi +7 -0
  196. homeassistant-stubs/components/modbus/modbus.pyi +1 -0
  197. homeassistant-stubs/components/modbus/validators.pyi +2 -1
  198. homeassistant-stubs/components/mqtt/__init__.pyi +1 -2
  199. homeassistant-stubs/components/mqtt/client.pyi +30 -9
  200. homeassistant-stubs/components/mqtt/config_flow.pyi +9 -1
  201. homeassistant-stubs/components/mqtt/mixins.pyi +7 -4
  202. homeassistant-stubs/components/mqtt/models.pyi +1 -1
  203. homeassistant-stubs/components/mqtt/notify.pyi +31 -0
  204. homeassistant-stubs/components/netatmo/__init__.pyi +2 -0
  205. homeassistant-stubs/components/netatmo/binary_sensor.pyi +20 -0
  206. homeassistant-stubs/components/netatmo/camera.pyi +8 -11
  207. homeassistant-stubs/components/netatmo/climate.pyi +11 -19
  208. homeassistant-stubs/components/netatmo/cover.pyi +5 -7
  209. homeassistant-stubs/components/netatmo/entity.pyi +40 -10
  210. homeassistant-stubs/components/netatmo/fan.pyi +5 -8
  211. homeassistant-stubs/components/netatmo/light.pyi +11 -19
  212. homeassistant-stubs/components/netatmo/select.pyi +4 -7
  213. homeassistant-stubs/components/netatmo/sensor.pyi +36 -49
  214. homeassistant-stubs/components/netatmo/switch.pyi +5 -7
  215. homeassistant-stubs/components/nextdns/__init__.pyi +1 -38
  216. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
  217. homeassistant-stubs/components/nextdns/button.pyi +1 -1
  218. homeassistant-stubs/components/nextdns/coordinator.pyi +42 -0
  219. homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
  220. homeassistant-stubs/components/nextdns/switch.pyi +1 -1
  221. homeassistant-stubs/components/nfandroidtv/notify.pyi +2 -1
  222. homeassistant-stubs/components/notify/__init__.pyi +31 -2
  223. homeassistant-stubs/components/notify/const.pyi +2 -0
  224. homeassistant-stubs/components/number/const.pyi +1 -0
  225. homeassistant-stubs/components/number/significant_change.pyi +1 -1
  226. homeassistant-stubs/components/oncue/__init__.pyi +2 -1
  227. homeassistant-stubs/components/oncue/config_flow.pyi +7 -1
  228. homeassistant-stubs/components/open_meteo/weather.pyi +2 -1
  229. homeassistant-stubs/components/prometheus/__init__.pyi +1 -2
  230. homeassistant-stubs/components/proximity/__init__.pyi +1 -1
  231. homeassistant-stubs/components/proximity/coordinator.pyi +2 -2
  232. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  233. homeassistant-stubs/components/rabbitair/config_flow.pyi +4 -4
  234. homeassistant-stubs/components/recorder/__init__.pyi +1 -0
  235. homeassistant-stubs/components/recorder/auto_repairs/states/__init__.pyi +0 -0
  236. homeassistant-stubs/components/recorder/core.pyi +6 -5
  237. homeassistant-stubs/components/recorder/db_schema.pyi +3 -3
  238. homeassistant-stubs/components/recorder/history/__init__.pyi +5 -6
  239. homeassistant-stubs/components/recorder/history/legacy.pyi +7 -7
  240. homeassistant-stubs/components/recorder/history/modern.pyi +7 -7
  241. homeassistant-stubs/components/recorder/models/event.pyi +4 -1
  242. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  243. homeassistant-stubs/components/recorder/services.pyi +1 -0
  244. homeassistant-stubs/components/recorder/statistics.pyi +4 -4
  245. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +4 -3
  246. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +5 -3
  247. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
  248. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -2
  249. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +3 -3
  250. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  251. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  252. homeassistant-stubs/components/rest/__init__.pyi +2 -2
  253. homeassistant-stubs/components/rest/const.pyi +1 -0
  254. homeassistant-stubs/components/rest/data.pyi +1 -0
  255. homeassistant-stubs/components/rest/schema.pyi +1 -1
  256. homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -1
  257. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -2
  258. homeassistant-stubs/components/ring/__init__.pyi +25 -0
  259. homeassistant-stubs/components/ring/binary_sensor.pyi +35 -0
  260. homeassistant-stubs/components/ring/button.pyi +20 -0
  261. homeassistant-stubs/components/ring/camera.pyi +43 -0
  262. homeassistant-stubs/components/ring/config_flow.pyi +26 -0
  263. homeassistant-stubs/components/ring/const.pyi +12 -0
  264. homeassistant-stubs/components/ring/coordinator.pyi +25 -0
  265. homeassistant-stubs/components/ring/diagnostics.pyi +11 -0
  266. homeassistant-stubs/components/ring/entity.pyi +33 -0
  267. homeassistant-stubs/components/ring/light.pyi +34 -0
  268. homeassistant-stubs/components/ring/sensor.pyi +39 -0
  269. homeassistant-stubs/components/ring/siren.pyi +23 -0
  270. homeassistant-stubs/components/ring/switch.pyi +31 -0
  271. homeassistant-stubs/components/romy/binary_sensor.pyi +19 -0
  272. homeassistant-stubs/components/romy/config_flow.pyi +7 -7
  273. homeassistant-stubs/components/romy/sensor.pyi +20 -0
  274. homeassistant-stubs/components/sensor/__init__.pyi +1 -1
  275. homeassistant-stubs/components/sensor/significant_change.pyi +1 -1
  276. homeassistant-stubs/components/shelly/__init__.pyi +2 -4
  277. homeassistant-stubs/components/shelly/coordinator.pyi +8 -7
  278. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  279. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  280. homeassistant-stubs/components/switch/light.pyi +2 -2
  281. homeassistant-stubs/components/synology_dsm/__init__.pyi +2 -2
  282. homeassistant-stubs/components/synology_dsm/camera.pyi +3 -2
  283. homeassistant-stubs/components/synology_dsm/common.pyi +6 -2
  284. homeassistant-stubs/components/synology_dsm/coordinator.pyi +4 -4
  285. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +0 -1
  286. homeassistant-stubs/components/system_log/__init__.pyi +3 -3
  287. homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
  288. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  289. homeassistant-stubs/components/tplink/coordinator.pyi +2 -0
  290. homeassistant-stubs/components/tplink/entity.pyi +1 -0
  291. homeassistant-stubs/components/tplink/light.pyi +1 -1
  292. homeassistant-stubs/components/tplink/sensor.pyi +4 -3
  293. homeassistant-stubs/components/tplink_omada/switch.pyi +12 -14
  294. homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
  295. homeassistant-stubs/components/unifi/__init__.pyi +2 -0
  296. homeassistant-stubs/components/unifi/button.pyi +2 -1
  297. homeassistant-stubs/components/unifi/hub/entity_helper.pyi +44 -0
  298. homeassistant-stubs/components/unifi/hub/hub.pyi +8 -13
  299. homeassistant-stubs/components/unifi/sensor.pyi +2 -1
  300. homeassistant-stubs/components/velbus/cover.pyi +2 -0
  301. homeassistant-stubs/components/weather/significant_change.pyi +1 -1
  302. homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
  303. homeassistant-stubs/components/websocket_api/messages.pyi +1 -2
  304. homeassistant-stubs/components/websocket_api/sensor.pyi +3 -7
  305. homeassistant-stubs/components/withings/__init__.pyi +2 -8
  306. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  307. homeassistant-stubs/components/withings/const.pyi +0 -2
  308. homeassistant-stubs/components/zone/__init__.pyi +8 -10
  309. homeassistant-stubs/components/zone/trigger.pyi +2 -2
  310. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -1
  311. homeassistant-stubs/config.pyi +1 -1
  312. homeassistant-stubs/config_entries.pyi +32 -29
  313. homeassistant-stubs/const.pyi +11 -6
  314. homeassistant-stubs/core.pyi +56 -24
  315. homeassistant-stubs/data_entry_flow.pyi +3 -3
  316. homeassistant-stubs/exceptions.pyi +4 -2
  317. homeassistant-stubs/helpers/aiohttp_client.pyi +1 -0
  318. homeassistant-stubs/helpers/area_registry.pyi +28 -6
  319. homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
  320. homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +21 -0
  321. homeassistant-stubs/helpers/category_registry.pyi +16 -6
  322. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  323. homeassistant-stubs/helpers/deprecation.pyi +5 -0
  324. homeassistant-stubs/helpers/device_registry.pyi +25 -12
  325. homeassistant-stubs/helpers/dispatcher.pyi +1 -1
  326. homeassistant-stubs/helpers/entity.pyi +6 -3
  327. homeassistant-stubs/helpers/entity_registry.pyi +24 -16
  328. homeassistant-stubs/helpers/event.pyi +10 -17
  329. homeassistant-stubs/helpers/floor_registry.pyi +14 -3
  330. homeassistant-stubs/helpers/frame.pyi +2 -2
  331. homeassistant-stubs/helpers/httpx_client.pyi +1 -1
  332. homeassistant-stubs/helpers/icon.pyi +3 -2
  333. homeassistant-stubs/helpers/intent.pyi +1 -2
  334. homeassistant-stubs/helpers/label_registry.pyi +14 -3
  335. homeassistant-stubs/helpers/network.pyi +2 -2
  336. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -6
  337. homeassistant-stubs/helpers/registry.pyi +19 -4
  338. homeassistant-stubs/helpers/reload.pyi +1 -1
  339. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
  340. homeassistant-stubs/helpers/service.pyi +4 -1
  341. homeassistant-stubs/helpers/significant_change.pyi +4 -4
  342. homeassistant-stubs/helpers/start.pyi +3 -1
  343. homeassistant-stubs/helpers/template.pyi +6 -3
  344. homeassistant-stubs/helpers/translation.pyi +5 -9
  345. homeassistant-stubs/helpers/typing.pyi +11 -7
  346. homeassistant-stubs/requirements.pyi +2 -0
  347. homeassistant-stubs/setup.pyi +1 -0
  348. homeassistant-stubs/util/async_.pyi +1 -6
  349. homeassistant-stubs/util/dt.pyi +5 -4
  350. homeassistant-stubs/util/event_type.pyi +14 -0
  351. homeassistant-stubs/util/logging.pyi +3 -4
  352. homeassistant-stubs/util/loop.pyi +15 -0
  353. homeassistant-stubs/util/signal_type.pyi +1 -1
  354. homeassistant-stubs/util/timeout.pyi +6 -6
  355. homeassistant-stubs/util/yaml/loader.pyi +3 -4
  356. homeassistant-stubs/util/yaml/objects.pyi +12 -2
  357. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/METADATA +2 -2
  358. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/RECORD +360 -303
  359. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/LICENSE +0 -0
  360. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
1
- from .const import CONF_PROFILES as CONF_PROFILES, CONF_USE_WEBHOOK as CONF_USE_WEBHOOK, DEFAULT_TITLE as DEFAULT_TITLE, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import DEFAULT_TITLE as DEFAULT_TITLE, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .coordinator import WithingsActivityDataUpdateCoordinator as WithingsActivityDataUpdateCoordinator, WithingsBedPresenceDataUpdateCoordinator as WithingsBedPresenceDataUpdateCoordinator, WithingsDataUpdateCoordinator as WithingsDataUpdateCoordinator, WithingsGoalsDataUpdateCoordinator as WithingsGoalsDataUpdateCoordinator, WithingsMeasurementDataUpdateCoordinator as WithingsMeasurementDataUpdateCoordinator, WithingsSleepDataUpdateCoordinator as WithingsSleepDataUpdateCoordinator, WithingsWorkoutDataUpdateCoordinator as WithingsWorkoutDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp.web import Request as Request, Response as Response
@@ -6,26 +6,20 @@ from aiowithings import WithingsClient
6
6
  from collections.abc import Awaitable, Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components import cloud as cloud
9
- from homeassistant.components.application_credentials import ClientCredential as ClientCredential, async_import_client_credential as async_import_client_credential
10
9
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
11
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
- from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, CONF_TOKEN as CONF_TOKEN, CONF_WEBHOOK_ID as CONF_WEBHOOK_ID, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
11
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN, CONF_WEBHOOK_ID as CONF_WEBHOOK_ID, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
13
12
  from homeassistant.core import HomeAssistant as HomeAssistant
14
13
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
15
14
  from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
16
15
  from homeassistant.helpers.event import async_call_later as async_call_later
17
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
18
- from homeassistant.helpers.typing import ConfigType as ConfigType
19
16
  from typing import Any
20
17
 
21
18
  PLATFORMS: Incomplete
22
- CONFIG_SCHEMA: Incomplete
23
19
  SUBSCRIBE_DELAY: Incomplete
24
20
  UNSUBSCRIBE_DELAY: Incomplete
25
21
  CONF_CLOUDHOOK_URL: str
26
22
 
27
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
28
-
29
23
  @dataclass(slots=True)
30
24
  class WithingsData:
31
25
  client: WithingsClient
@@ -1,5 +1,5 @@
1
1
  import logging
2
- from .const import CONF_USE_WEBHOOK as CONF_USE_WEBHOOK, DEFAULT_TITLE as DEFAULT_TITLE, DOMAIN as DOMAIN
2
+ from .const import DEFAULT_TITLE as DEFAULT_TITLE, DOMAIN as DOMAIN
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.components.webhook import async_generate_id as async_generate_id
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult
@@ -2,8 +2,6 @@ from _typeshed import Incomplete
2
2
 
3
3
  LOGGER: Incomplete
4
4
  DEFAULT_TITLE: str
5
- CONF_PROFILES: str
6
- CONF_USE_WEBHOOK: str
7
5
  DOMAIN: str
8
6
  SCORE_POINTS: str
9
7
  UOM_BEATS_PER_MINUTE: str
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant import config_entries as config_entries
5
5
  from homeassistant.const import ATTR_EDITABLE as ATTR_EDITABLE, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_PERSONS as ATTR_PERSONS, CONF_ICON as CONF_ICON, CONF_ID as CONF_ID, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_RADIUS as CONF_RADIUS, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, SERVICE_RELOAD as SERVICE_RELOAD, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
6
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
6
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
7
7
  from homeassistant.helpers import collection as collection, entity_component as entity_component, event as event, service as service, storage as storage
8
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
9
  from homeassistant.loader import bind_hass as bind_hass
@@ -47,27 +47,25 @@ async def async_unload_entry(hass: HomeAssistant, config_entry: config_entries.C
47
47
 
48
48
  class Zone(collection.CollectionEntity):
49
49
  editable: bool
50
+ _attr_should_poll: bool
50
51
  _config: Incomplete
51
52
  _attrs: Incomplete
52
53
  _remove_listener: Incomplete
53
54
  _persons_in_zone: Incomplete
54
55
  def __init__(self, config: ConfigType) -> None: ...
56
+ _attr_name: Incomplete
57
+ _case_folded_name: Incomplete
58
+ _attr_unique_id: Incomplete
59
+ _attr_icon: Incomplete
60
+ def _set_attrs_from_config(self) -> None: ...
55
61
  @classmethod
56
62
  def from_storage(cls, config: ConfigType) -> Self: ...
57
63
  @classmethod
58
64
  def from_yaml(cls, config: ConfigType) -> Self: ...
59
65
  @property
60
66
  def state(self) -> int: ...
61
- @property
62
- def name(self) -> str: ...
63
- @property
64
- def unique_id(self) -> str | None: ...
65
- @property
66
- def icon(self) -> str | None: ...
67
- @property
68
- def should_poll(self) -> bool: ...
69
67
  async def async_update_config(self, config: ConfigType) -> None: ...
70
- def _person_state_change_listener(self, evt: Event[event.EventStateChangedData]) -> None: ...
68
+ def _person_state_change_listener(self, evt: Event[EventStateChangedData]) -> None: ...
71
69
  async def async_added_to_hass(self) -> None: ...
72
70
  _attr_extra_state_attributes: Incomplete
73
71
  def _generate_attrs(self) -> None: ...
@@ -1,8 +1,8 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_ZONE as CONF_ZONE
3
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.helpers import condition as condition, location as location
5
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
5
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
6
6
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
8
 
@@ -51,7 +51,7 @@ class BaseZwaveJSFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
51
51
  def __init__(self) -> None: ...
52
52
  @property
53
53
  @abstractmethod
54
- def flow_manager(self) -> FlowManager[ConfigFlowResult, str]: ...
54
+ def flow_manager(self) -> FlowManager[ConfigFlowResult]: ...
55
55
  async def async_step_install_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
56
56
  async def async_step_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
57
57
  async def async_step_start_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from . import auth as auth
3
- from .const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_HIDDEN as ATTR_HIDDEN, CONF_ALLOWLIST_EXTERNAL_DIRS as CONF_ALLOWLIST_EXTERNAL_DIRS, CONF_ALLOWLIST_EXTERNAL_URLS as CONF_ALLOWLIST_EXTERNAL_URLS, CONF_AUTH_MFA_MODULES as CONF_AUTH_MFA_MODULES, CONF_AUTH_PROVIDERS as CONF_AUTH_PROVIDERS, CONF_COUNTRY as CONF_COUNTRY, CONF_CURRENCY as CONF_CURRENCY, CONF_CUSTOMIZE as CONF_CUSTOMIZE, CONF_CUSTOMIZE_DOMAIN as CONF_CUSTOMIZE_DOMAIN, CONF_CUSTOMIZE_GLOB as CONF_CUSTOMIZE_GLOB, CONF_ELEVATION as CONF_ELEVATION, CONF_EXTERNAL_URL as CONF_EXTERNAL_URL, CONF_ID as CONF_ID, CONF_INTERNAL_URL as CONF_INTERNAL_URL, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LEGACY_TEMPLATES as CONF_LEGACY_TEMPLATES, CONF_LONGITUDE as CONF_LONGITUDE, CONF_MEDIA_DIRS as CONF_MEDIA_DIRS, CONF_NAME as CONF_NAME, CONF_PACKAGES as CONF_PACKAGES, CONF_PLATFORM as CONF_PLATFORM, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_TIME_ZONE as CONF_TIME_ZONE, CONF_TYPE as CONF_TYPE, CONF_UNIT_SYSTEM as CONF_UNIT_SYSTEM, LEGACY_CONF_WHITELIST_EXTERNAL_DIRS as LEGACY_CONF_WHITELIST_EXTERNAL_DIRS, __version__ as __version__
3
+ from .const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_HIDDEN as ATTR_HIDDEN, CONF_ALLOWLIST_EXTERNAL_DIRS as CONF_ALLOWLIST_EXTERNAL_DIRS, CONF_ALLOWLIST_EXTERNAL_URLS as CONF_ALLOWLIST_EXTERNAL_URLS, CONF_AUTH_MFA_MODULES as CONF_AUTH_MFA_MODULES, CONF_AUTH_PROVIDERS as CONF_AUTH_PROVIDERS, CONF_COUNTRY as CONF_COUNTRY, CONF_CURRENCY as CONF_CURRENCY, CONF_CUSTOMIZE as CONF_CUSTOMIZE, CONF_CUSTOMIZE_DOMAIN as CONF_CUSTOMIZE_DOMAIN, CONF_CUSTOMIZE_GLOB as CONF_CUSTOMIZE_GLOB, CONF_DEBUG as CONF_DEBUG, CONF_ELEVATION as CONF_ELEVATION, CONF_EXTERNAL_URL as CONF_EXTERNAL_URL, CONF_ID as CONF_ID, CONF_INTERNAL_URL as CONF_INTERNAL_URL, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LEGACY_TEMPLATES as CONF_LEGACY_TEMPLATES, CONF_LONGITUDE as CONF_LONGITUDE, CONF_MEDIA_DIRS as CONF_MEDIA_DIRS, CONF_NAME as CONF_NAME, CONF_PACKAGES as CONF_PACKAGES, CONF_PLATFORM as CONF_PLATFORM, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_TIME_ZONE as CONF_TIME_ZONE, CONF_TYPE as CONF_TYPE, CONF_UNIT_SYSTEM as CONF_UNIT_SYSTEM, LEGACY_CONF_WHITELIST_EXTERNAL_DIRS as LEGACY_CONF_WHITELIST_EXTERNAL_DIRS, __version__ as __version__
4
4
  from .core import ConfigSource as ConfigSource, HomeAssistant as HomeAssistant, callback as callback
5
5
  from .exceptions import ConfigValidationError as ConfigValidationError, HomeAssistantError as HomeAssistantError
6
6
  from .generated.currencies import HISTORIC_CURRENCIES as HISTORIC_CURRENCIES
@@ -118,25 +118,27 @@ class ConfigEntry:
118
118
  unique_id: str | None
119
119
  state: ConfigEntryState
120
120
  reason: str | None
121
+ error_reason_translation_key: str | None
122
+ error_reason_translation_placeholders: dict[str, Any] | None
121
123
  pref_disable_new_entities: bool
122
124
  pref_disable_polling: bool
123
125
  version: int
126
+ source: str
124
127
  minor_version: int
125
- source: Incomplete
126
- disabled_by: Incomplete
127
- supports_unload: Incomplete
128
- supports_remove_device: Incomplete
129
- _supports_options: Incomplete
130
- _supports_reconfigure: Incomplete
131
- update_listeners: Incomplete
132
- _async_cancel_retry_setup: Incomplete
133
- _on_unload: Incomplete
134
- reload_lock: Incomplete
135
- _reauth_lock: Incomplete
136
- _reconfigure_lock: Incomplete
137
- _tasks: Incomplete
138
- _background_tasks: Incomplete
139
- _integration_for_domain: Incomplete
128
+ disabled_by: ConfigEntryDisabler | None
129
+ supports_unload: bool | None
130
+ supports_remove_device: bool | None
131
+ _supports_options: bool | None
132
+ _supports_reconfigure: bool | None
133
+ update_listeners: list[UpdateListenerType]
134
+ _async_cancel_retry_setup: Callable[[], Any] | None
135
+ _on_unload: list[Callable[[], Coroutine[Any, Any, None] | None]] | None
136
+ reload_lock: asyncio.Lock
137
+ _reauth_lock: asyncio.Lock
138
+ _reconfigure_lock: asyncio.Lock
139
+ _tasks: set[asyncio.Future[Any]]
140
+ _background_tasks: set[asyncio.Future[Any]]
141
+ _integration_for_domain: loader.Integration | None
140
142
  _tries: int
141
143
  def __init__(self, *, version: int, minor_version: int, domain: str, title: str, data: Mapping[str, Any], source: str, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, options: Mapping[str, Any] | None = None, unique_id: str | None = None, entry_id: str | None = None, state: ConfigEntryState = ..., disabled_by: ConfigEntryDisabler | None = None) -> None: ...
142
144
  def __repr__(self) -> str: ...
@@ -150,11 +152,12 @@ class ConfigEntry:
150
152
  def as_json_fragment(self) -> json_fragment: ...
151
153
  async def async_setup(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> None: ...
152
154
  def _async_setup_again(self, hass: HomeAssistant, *_: Any) -> None: ...
155
+ async def _async_setup_retry(self, hass: HomeAssistant) -> None: ...
153
156
  def async_shutdown(self) -> None: ...
154
157
  def async_cancel_retry_setup(self) -> None: ...
155
158
  async def async_unload(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> bool: ...
156
159
  async def async_remove(self, hass: HomeAssistant) -> None: ...
157
- def _async_set_state(self, hass: HomeAssistant, state: ConfigEntryState, reason: str | None) -> None: ...
160
+ def _async_set_state(self, hass: HomeAssistant, state: ConfigEntryState, reason: str | None, error_reason_translation_key: str | None = None, error_reason_translation_placeholders: dict[str, str] | None = None) -> None: ...
158
161
  async def async_migrate(self, hass: HomeAssistant) -> bool: ...
159
162
  def add_update_listener(self, listener: UpdateListenerType) -> CALLBACK_TYPE: ...
160
163
  def as_dict(self) -> dict[str, Any]: ...
@@ -165,14 +168,14 @@ class ConfigEntry:
165
168
  def async_start_reconfigure(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
166
169
  async def _async_init_reconfigure(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
167
170
  def async_get_active_flows(self, hass: HomeAssistant, sources: set[str]) -> Generator[ConfigFlowResult, None, None]: ...
168
- def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
169
- def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
171
+ def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
172
+ def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = True) -> asyncio.Task[_R]: ...
170
173
 
171
174
  current_entry: ContextVar[ConfigEntry | None]
172
175
 
173
176
  class FlowCancelledError(Exception): ...
174
177
 
175
- class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowResult, str]):
178
+ class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowResult]):
176
179
  _flow_result = ConfigFlowResult
177
180
  config_entries: Incomplete
178
181
  _hass_config: Incomplete
@@ -185,9 +188,9 @@ class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowResult, str
185
188
  async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> ConfigFlowResult: ...
186
189
  async def _async_init(self, flow_id: str, handler: str, context: dict, data: Any) -> tuple[ConfigFlow, ConfigFlowResult]: ...
187
190
  def async_shutdown(self) -> None: ...
188
- async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult, str], result: ConfigFlowResult) -> ConfigFlowResult: ...
191
+ async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult], result: ConfigFlowResult) -> ConfigFlowResult: ...
189
192
  async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
190
- async def async_post_init(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult, str], result: ConfigFlowResult) -> None: ...
193
+ async def async_post_init(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult], result: ConfigFlowResult) -> None: ...
191
194
  def _async_discovery(self) -> None: ...
192
195
 
193
196
  class ConfigEntryItems(UserDict[str, ConfigEntry]):
@@ -240,7 +243,7 @@ class ConfigEntries:
240
243
  async def _old_conf_migrator(old_config: dict[str, Any]) -> dict[str, Any]: ...
241
244
  def _async_abort_entries_match(other_entries: list[ConfigEntry], match_dict: dict[str, Any] | None = None) -> None: ...
242
245
 
243
- class ConfigEntryBaseFlow(data_entry_flow.FlowHandler[ConfigFlowResult, str]):
246
+ class ConfigEntryBaseFlow(data_entry_flow.FlowHandler[ConfigFlowResult]):
244
247
  _flow_result = ConfigFlowResult
245
248
 
246
249
  class ConfigFlow(ConfigEntryBaseFlow):
@@ -275,14 +278,14 @@ class ConfigFlow(ConfigEntryBaseFlow):
275
278
  async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
276
279
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
277
280
  def async_create_entry(self, *, title: str, data: Mapping[str, Any], description: str | None = None, description_placeholders: Mapping[str, str] | None = None, options: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
278
- def async_update_reload_and_abort(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., reason: str = 'reauth_successful') -> ConfigFlowResult: ...
281
+ def async_update_reload_and_abort(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., reason: str = 'reauth_successful', reload_even_if_entry_is_unchanged: bool = True) -> ConfigFlowResult: ...
279
282
 
280
- class OptionsFlowManager(data_entry_flow.FlowManager[ConfigFlowResult, str]):
283
+ class OptionsFlowManager(data_entry_flow.FlowManager[ConfigFlowResult]):
281
284
  _flow_result = ConfigFlowResult
282
285
  def _async_get_config_entry(self, config_entry_id: str) -> ConfigEntry: ...
283
286
  async def async_create_flow(self, handler_key: str, *, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> OptionsFlow: ...
284
- async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult, str], result: ConfigFlowResult) -> ConfigFlowResult: ...
285
- async def _async_setup_preview(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult, str]) -> None: ...
287
+ async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult], result: ConfigFlowResult) -> ConfigFlowResult: ...
288
+ async def _async_setup_preview(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult]) -> None: ...
286
289
 
287
290
  class OptionsFlow(ConfigEntryBaseFlow):
288
291
  handler: str
@@ -304,10 +307,10 @@ class EntityRegistryDisabledHandler:
304
307
  _remove_call_later: Incomplete
305
308
  def __init__(self, hass: HomeAssistant) -> None: ...
306
309
  def async_setup(self) -> None: ...
307
- def _handle_entry_updated(self, event: Event) -> None: ...
308
- async def _handle_reload(self, _now: Any) -> None: ...
310
+ def _handle_entry_updated(self, event: Event[entity_registry.EventEntityRegistryUpdatedData]) -> None: ...
311
+ def _async_handle_reload(self, _now: Any) -> None: ...
309
312
 
310
- def _handle_entry_updated_filter(event_data: Mapping[str, Any]) -> bool: ...
313
+ def _handle_entry_updated_filter(event_data: entity_registry.EventEntityRegistryUpdatedData) -> bool: ...
311
314
  async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
312
315
  async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
313
316
  async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
@@ -1,4 +1,7 @@
1
+ from .core import EventStateChangedData as EventStateChangedData
1
2
  from .helpers.deprecation import DeprecatedConstant as DeprecatedConstant, DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
3
+ from .helpers.typing import NoEventData as NoEventData
4
+ from .util.event_type import EventType as EventType
2
5
  from .util.signal_type import SignalType as SignalType
3
6
  from _typeshed import Incomplete
4
7
  from enum import StrEnum
@@ -23,6 +26,7 @@ class Platform(StrEnum):
23
26
  CALENDAR: str
24
27
  CAMERA: str
25
28
  CLIMATE: str
29
+ CONVERSATION: str
26
30
  COVER: str
27
31
  DATE: str
28
32
  DATETIME: str
@@ -260,21 +264,22 @@ CONF_WHILE: Final[str]
260
264
  CONF_WHITELIST: Final[str]
261
265
  CONF_ALLOWLIST_EXTERNAL_DIRS: Final[str]
262
266
  LEGACY_CONF_WHITELIST_EXTERNAL_DIRS: Final[str]
267
+ CONF_DEBUG: Final[str]
263
268
  CONF_XY: Final[str]
264
269
  CONF_ZONE: Final[str]
265
270
  EVENT_CALL_SERVICE: Final[str]
266
271
  EVENT_COMPONENT_LOADED: Final[str]
267
272
  EVENT_CORE_CONFIG_UPDATE: Final[str]
268
- EVENT_HOMEASSISTANT_CLOSE: Final[str]
269
- EVENT_HOMEASSISTANT_START: Final[str]
270
- EVENT_HOMEASSISTANT_STARTED: Final[str]
271
- EVENT_HOMEASSISTANT_STOP: Final[str]
272
- EVENT_HOMEASSISTANT_FINAL_WRITE: Final[str]
273
+ EVENT_HOMEASSISTANT_CLOSE: EventType[NoEventData]
274
+ EVENT_HOMEASSISTANT_START: EventType[NoEventData]
275
+ EVENT_HOMEASSISTANT_STARTED: EventType[NoEventData]
276
+ EVENT_HOMEASSISTANT_STOP: EventType[NoEventData]
277
+ EVENT_HOMEASSISTANT_FINAL_WRITE: EventType[NoEventData]
273
278
  EVENT_LOGBOOK_ENTRY: Final[str]
274
279
  EVENT_LOGGING_CHANGED: Final[str]
275
280
  EVENT_SERVICE_REGISTERED: Final[str]
276
281
  EVENT_SERVICE_REMOVED: Final[str]
277
- EVENT_STATE_CHANGED: Final[str]
282
+ EVENT_STATE_CHANGED: EventType[EventStateChangedData]
278
283
  EVENT_STATE_REPORTED: Final[str]
279
284
  EVENT_THEMES_UPDATED: Final[str]
280
285
  EVENT_PANELS_UPDATED: Final[str]
@@ -3,18 +3,19 @@ import datetime
3
3
  import enum
4
4
  import threading
5
5
  import voluptuous as vol
6
- from . import block_async_io as block_async_io, util as util
6
+ from . import util as util
7
7
  from .auth import AuthManager as AuthManager
8
8
  from .components.http import ApiConfig as ApiConfig, HomeAssistantHTTP as HomeAssistantHTTP
9
9
  from .config_entries import ConfigEntries as ConfigEntries
10
10
  from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, UnitOfLength as UnitOfLength, __version__ as __version__
11
- from .exceptions import HomeAssistantError as HomeAssistantError, InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, MaxLengthExceeded as MaxLengthExceeded, ServiceNotFound as ServiceNotFound, Unauthorized as Unauthorized
11
+ from .exceptions import HomeAssistantError as HomeAssistantError, InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, MaxLengthExceeded as MaxLengthExceeded, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
12
12
  from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
13
13
  from .helpers.entity import StateInfo as StateInfo
14
14
  from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
15
15
  from .helpers.storage import Store as Store
16
16
  from .util import location as location
17
17
  from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
18
+ from .util.event_type import EventType as EventType
18
19
  from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
19
20
  from .util.json import JsonObjectType as JsonObjectType
20
21
  from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
@@ -26,7 +27,7 @@ from collections import UserDict
26
27
  from collections.abc import Callable, Collection, Coroutine, Iterable, KeysView, Mapping, ValuesView
27
28
  from dataclasses import dataclass
28
29
  from functools import cached_property as cached_property
29
- from typing import Any, Generic, Literal, NotRequired, ParamSpec, Self, TypeVarTuple, TypedDict, overload
30
+ from typing import Any, Generic, NotRequired, ParamSpec, Self, TypeVarTuple, TypedDict, overload
30
31
  from typing_extensions import TypeVar
31
32
 
32
33
  STOPPING_STAGE_SHUTDOWN_TIMEOUT: int
@@ -39,6 +40,7 @@ _R_co = TypeVar('_R_co', covariant=True)
39
40
  _P = ParamSpec('_P')
40
41
  _Ts = TypeVarTuple('_Ts')
41
42
  _UNDEF: dict[Any, Any]
43
+ _SENTINEL: Incomplete
42
44
  _CallableT = TypeVar('_CallableT', bound=Callable[..., Any])
43
45
  _DataT = TypeVar('_DataT', bound=Mapping[str, Any], default=Mapping[str, Any])
44
46
  CALLBACK_TYPE = Callable[[], None]
@@ -56,6 +58,11 @@ class ConfigSource(enum.StrEnum):
56
58
  STORAGE: str
57
59
  YAML: str
58
60
 
61
+ class EventStateChangedData(TypedDict):
62
+ entity_id: str
63
+ old_state: State | None
64
+ new_state: State | None
65
+
59
66
  _DEPRECATED_SOURCE_DISCOVERED: Incomplete
60
67
  _DEPRECATED_SOURCE_STORAGE: Incomplete
61
68
  _DEPRECATED_SOURCE_YAML: Incomplete
@@ -84,7 +91,14 @@ class _Hass(threading.local):
84
91
  _hass: Incomplete
85
92
 
86
93
  def async_get_hass() -> HomeAssistant: ...
87
- def get_release_channel() -> Literal['beta', 'dev', 'nightly', 'stable']: ...
94
+
95
+ class ReleaseChannel(enum.StrEnum):
96
+ BETA: str
97
+ DEV: str
98
+ NIGHTLY: str
99
+ STABLE: str
100
+
101
+ def get_release_channel() -> ReleaseChannel: ...
88
102
 
89
103
  class HassJobType(enum.Enum):
90
104
  Coroutinefunction: int
@@ -124,7 +138,7 @@ class HomeAssistant:
124
138
  auth: AuthManager
125
139
  http: HomeAssistantHTTP
126
140
  config_entries: ConfigEntries
127
- def __new__(cls, config_dir: str) -> HomeAssistant: ...
141
+ def __new__(cls, config_dir: str) -> Self: ...
128
142
  def __repr__(self) -> str: ...
129
143
  data: Incomplete
130
144
  loop: Incomplete
@@ -144,6 +158,7 @@ class HomeAssistant:
144
158
  _shutdown_jobs: Incomplete
145
159
  import_executor: Incomplete
146
160
  def __init__(self, config_dir: str) -> None: ...
161
+ def verify_event_loop_thread(self, what: str) -> None: ...
147
162
  @property
148
163
  def _active_tasks(self) -> set[asyncio.Future[Any]]: ...
149
164
  @cached_property
@@ -165,9 +180,13 @@ class HomeAssistant:
165
180
  def async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
166
181
  @overload
167
182
  def async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
183
+ @overload
184
+ def _async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
185
+ @overload
186
+ def _async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
168
187
  def create_task(self, target: Coroutine[Any, Any, Any], name: str | None = None) -> None: ...
169
- def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
170
- def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
188
+ def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
189
+ def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = True) -> asyncio.Task[_R]: ...
171
190
  def async_add_executor_job(self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
172
191
  def async_add_import_executor_job(self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
173
192
  @overload
@@ -198,7 +217,7 @@ class Context:
198
217
  parent_id: Incomplete
199
218
  origin_event: Incomplete
200
219
  def __init__(self, user_id: str | None = None, parent_id: str | None = None, id: str | None = None) -> None: ...
201
- def __eq__(self, other: Any) -> bool: ...
220
+ def __eq__(self, other: object) -> bool: ...
202
221
  @cached_property
203
222
  def _as_dict(self) -> dict[str, str | None]: ...
204
223
  def as_dict(self) -> ReadOnlyDict[str, str | None]: ...
@@ -218,7 +237,7 @@ class Event(Generic[_DataT]):
218
237
  origin: Incomplete
219
238
  time_fired_timestamp: Incomplete
220
239
  context: Incomplete
221
- def __init__(self, event_type: str, data: _DataT | None = None, origin: EventOrigin = ..., time_fired_timestamp: float | None = None, context: Context | None = None) -> None: ...
240
+ def __init__(self, event_type: EventType[_DataT] | str, data: _DataT | None = None, origin: EventOrigin = ..., time_fired_timestamp: float | None = None, context: Context | None = None) -> None: ...
222
241
  @cached_property
223
242
  def time_fired(self) -> datetime.datetime: ...
224
243
  @cached_property
@@ -230,21 +249,23 @@ class Event(Generic[_DataT]):
230
249
  def json_fragment(self) -> json_fragment: ...
231
250
  def __repr__(self) -> str: ...
232
251
 
233
- def _event_repr(event_type: str, origin: EventOrigin, data: Mapping[str, Any] | None) -> str: ...
252
+ def _event_repr(event_type: EventType[_DataT] | str, origin: EventOrigin, data: _DataT | None) -> str: ...
234
253
 
235
254
  _FilterableJobType: Incomplete
236
255
 
237
256
  @dataclass(slots=True)
238
- class _OneTimeListener:
257
+ class _OneTimeListener(Generic[_DataT]):
239
258
  hass: HomeAssistant
240
- listener_job: HassJob[[Event], Coroutine[Any, Any, None] | None]
259
+ listener_job: HassJob[[Event[_DataT]], Coroutine[Any, Any, None] | None]
241
260
  remove: CALLBACK_TYPE | None = ...
242
- def __call__(self, event: Event) -> None: ...
261
+ def __call__(self, event: Event[_DataT]) -> None: ...
243
262
  def __repr__(self) -> str: ...
244
263
  def __init__(self, hass, listener_job, remove) -> None: ...
245
264
 
246
265
  EMPTY_LIST: list[Any]
247
266
 
267
+ def _verify_event_type_length_or_raise(event_type: EventType[_DataT] | str) -> None: ...
268
+
248
269
  class EventBus:
249
270
  __slots__: Incomplete
250
271
  _listeners: Incomplete
@@ -253,18 +274,18 @@ class EventBus:
253
274
  def __init__(self, hass: HomeAssistant) -> None: ...
254
275
  _debug: Incomplete
255
276
  def _async_logging_changed(self, event: Event | None = None) -> None: ...
256
- def async_listeners(self) -> dict[str, int]: ...
277
+ def async_listeners(self) -> dict[EventType[Any] | str, int]: ...
257
278
  @property
258
- def listeners(self) -> dict[str, int]: ...
259
- def fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
260
- def async_fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: float | None = None) -> None: ...
261
- def _async_fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: float | None = None) -> None: ...
262
- def listen(self, event_type: str, listener: Callable[[Event[Any]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
263
- def async_listen(self, event_type: str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None], event_filter: Callable[[_DataT], bool] | None = None, run_immediately: bool = False) -> CALLBACK_TYPE: ...
264
- def _async_listen_filterable_job(self, event_type: str, filterable_job: _FilterableJobType[Any]) -> CALLBACK_TYPE: ...
265
- def listen_once(self, event_type: str, listener: Callable[[Event[Any]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
266
- def async_listen_once(self, event_type: str, listener: Callable[[Event[Any]], Coroutine[Any, Any, None] | None], run_immediately: bool = False) -> CALLBACK_TYPE: ...
267
- def _async_remove_listener(self, event_type: str, filterable_job: _FilterableJobType) -> None: ...
279
+ def listeners(self) -> dict[EventType[Any] | str, int]: ...
280
+ def fire(self, event_type: EventType[_DataT] | str, event_data: _DataT | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
281
+ def async_fire(self, event_type: EventType[_DataT] | str, event_data: _DataT | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: float | None = None) -> None: ...
282
+ def async_fire_internal(self, event_type: EventType[_DataT] | str, event_data: _DataT | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: float | None = None) -> None: ...
283
+ def listen(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
284
+ def async_listen(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None], event_filter: Callable[[_DataT], bool] | None = None, run_immediately: bool | object = ...) -> CALLBACK_TYPE: ...
285
+ def _async_listen_filterable_job(self, event_type: EventType[_DataT] | str, filterable_job: _FilterableJobType[_DataT]) -> CALLBACK_TYPE: ...
286
+ def listen_once(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
287
+ def async_listen_once(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None], run_immediately: bool | object = ...) -> CALLBACK_TYPE: ...
288
+ def _async_remove_listener(self, event_type: EventType[_DataT] | str, filterable_job: _FilterableJobType[_DataT]) -> None: ...
268
289
 
269
290
  class CompressedState(TypedDict):
270
291
  s: str
@@ -376,19 +397,29 @@ class ServiceRegistry:
376
397
  def supports_response(self, domain: str, service: str) -> SupportsResponse: ...
377
398
  def register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse] | ServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ...) -> None: ...
378
399
  def async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
400
+ def _async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
379
401
  def remove(self, domain: str, service: str) -> None: ...
380
402
  def async_remove(self, domain: str, service: str) -> None: ...
403
+ def _async_remove(self, domain: str, service: str) -> None: ...
381
404
  def call(self, domain: str, service: str, service_data: dict[str, Any] | None = None, blocking: bool = False, context: Context | None = None, target: dict[str, Any] | None = None, return_response: bool = False) -> ServiceResponse: ...
382
405
  async def async_call(self, domain: str, service: str, service_data: dict[str, Any] | None = None, blocking: bool = False, context: Context | None = None, target: dict[str, Any] | None = None, return_response: bool = False) -> ServiceResponse: ...
383
406
  async def _run_service_call_catch_exceptions(self, coro_or_task: Coroutine[Any, Any, Any] | asyncio.Task[Any], service_call: ServiceCall) -> None: ...
384
407
  async def _execute_service(self, handler: Service, service_call: ServiceCall) -> ServiceResponse: ...
385
408
 
409
+ class _ComponentSet(set[str]):
410
+ _top_level_components: Incomplete
411
+ def __init__(self, top_level_components: set[str]) -> None: ...
412
+ def add(self, component: str) -> None: ...
413
+ def remove(self, component: str) -> None: ...
414
+ def discard(self, component: str) -> None: ...
415
+
386
416
  class Config:
387
417
  _store: Config._ConfigStore
388
418
  hass: Incomplete
389
419
  latitude: int
390
420
  longitude: int
391
421
  elevation: int
422
+ debug: bool
392
423
  location_name: str
393
424
  time_zone: str
394
425
  units: Incomplete
@@ -400,6 +431,7 @@ class Config:
400
431
  config_source: Incomplete
401
432
  skip_pip: bool
402
433
  skip_pip_packages: Incomplete
434
+ top_level_components: Incomplete
403
435
  components: Incomplete
404
436
  api: Incomplete
405
437
  config_dir: Incomplete
@@ -7,7 +7,7 @@ from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnu
7
7
  from .helpers.frame import report as report
8
8
  from .loader import async_suggest_report_issue as async_suggest_report_issue
9
9
  from _typeshed import Incomplete
10
- from collections.abc import Callable as Callable, Iterable, Mapping
10
+ from collections.abc import Callable as Callable, Container, Iterable, Mapping
11
11
  from dataclasses import dataclass
12
12
  from enum import StrEnum
13
13
  from typing import Any, Generic, Required, TypedDict
@@ -66,7 +66,7 @@ class FlowResult(TypedDict, Generic[_HandlerT], total=False):
66
66
  flow_id: Required[str]
67
67
  handler: Required[_HandlerT]
68
68
  last_step: bool | None
69
- menu_options: list[str] | dict[str, str]
69
+ menu_options: Container[str]
70
70
  options: Mapping[str, Any]
71
71
  preview: str | None
72
72
  progress_action: str
@@ -139,7 +139,7 @@ class FlowHandler(Generic[_FlowResultT, _HandlerT]):
139
139
  def async_external_step_done(self, *, next_step_id: str) -> _FlowResultT: ...
140
140
  def async_show_progress(self, *, step_id: str | None = None, progress_action: str, description_placeholders: Mapping[str, str] | None = None, progress_task: asyncio.Task[Any] | None = None) -> _FlowResultT: ...
141
141
  def async_show_progress_done(self, *, next_step_id: str) -> _FlowResultT: ...
142
- def async_show_menu(self, *, step_id: str | None = None, menu_options: list[str] | dict[str, str], description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
142
+ def async_show_menu(self, *, step_id: str | None = None, menu_options: Container[str], description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
143
143
  def async_remove(self) -> None: ...
144
144
  @staticmethod
145
145
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
@@ -1,7 +1,9 @@
1
1
  from .core import Context as Context
2
+ from .util.event_type import EventType as EventType
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Callable as Callable, Generator, Sequence
4
5
  from dataclasses import dataclass
6
+ from typing import Any
5
7
 
6
8
  _function_cache: dict[str, Callable[[str, str, dict[str, str] | None], str]]
7
9
 
@@ -76,7 +78,7 @@ class Unauthorized(HomeAssistantError):
76
78
 
77
79
  class UnknownUser(Unauthorized): ...
78
80
 
79
- class ServiceNotFound(HomeAssistantError):
81
+ class ServiceNotFound(ServiceValidationError):
80
82
  domain: Incomplete
81
83
  service: Incomplete
82
84
  generate_message: bool
@@ -87,7 +89,7 @@ class MaxLengthExceeded(HomeAssistantError):
87
89
  property_name: Incomplete
88
90
  max_length: Incomplete
89
91
  generate_message: bool
90
- def __init__(self, value: str, property_name: str, max_length: int) -> None: ...
92
+ def __init__(self, value: EventType[Any] | str, property_name: str, max_length: int) -> None: ...
91
93
 
92
94
  class DependencyError(HomeAssistantError):
93
95
  failed_dependencies: Incomplete
@@ -1,4 +1,5 @@
1
1
  import aiohttp
2
+ from .backports.aiohttp_resolver import AsyncResolver as AsyncResolver
2
3
  from .frame import warn_use as warn_use
3
4
  from .json import json_dumps as json_dumps
4
5
  from _typeshed import Incomplete