homeassistant-stubs 2024.10.4__py3-none-any.whl → 2024.11.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.
Files changed (852) hide show
  1. homeassistant-stubs/auth/__init__.pyi +8 -5
  2. homeassistant-stubs/auth/mfa_modules/notify.pyi +1 -0
  3. homeassistant-stubs/auth/models.pyi +8 -5
  4. homeassistant-stubs/auth/permissions/types.pyi +7 -0
  5. homeassistant-stubs/auth/permissions/util.pyi +2 -0
  6. homeassistant-stubs/auth/providers/__init__.pyi +5 -4
  7. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  8. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  9. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +5 -2
  11. homeassistant-stubs/bootstrap.pyi +1 -0
  12. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -3
  13. homeassistant-stubs/components/accuweather/__init__.pyi +1 -9
  14. homeassistant-stubs/components/accuweather/coordinator.pyi +11 -2
  15. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  16. homeassistant-stubs/components/accuweather/sensor.pyi +1 -2
  17. homeassistant-stubs/components/accuweather/system_health.pyi +1 -1
  18. homeassistant-stubs/components/accuweather/weather.pyi +1 -2
  19. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  20. homeassistant-stubs/components/adguard/__init__.pyi +1 -0
  21. homeassistant-stubs/components/adguard/config_flow.pyi +1 -1
  22. homeassistant-stubs/components/aftership/__init__.pyi +2 -0
  23. homeassistant-stubs/components/airgradient/__init__.pyi +1 -0
  24. homeassistant-stubs/components/airgradient/update.pyi +0 -2
  25. homeassistant-stubs/components/airly/__init__.pyi +1 -0
  26. homeassistant-stubs/components/airnow/__init__.pyi +1 -0
  27. homeassistant-stubs/components/airthings/__init__.pyi +3 -0
  28. homeassistant-stubs/components/airthings_ble/__init__.pyi +2 -11
  29. homeassistant-stubs/components/airthings_ble/coordinator.pyi +21 -0
  30. homeassistant-stubs/components/airthings_ble/sensor.pyi +1 -1
  31. homeassistant-stubs/components/airtouch5/__init__.pyi +2 -1
  32. homeassistant-stubs/components/airvisual/__init__.pyi +1 -0
  33. homeassistant-stubs/components/airvisual/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/airvisual_pro/__init__.pyi +1 -0
  35. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +2 -3
  36. homeassistant-stubs/components/airzone/__init__.pyi +1 -0
  37. homeassistant-stubs/components/airzone/switch.pyi +33 -0
  38. homeassistant-stubs/components/airzone_cloud/__init__.pyi +1 -0
  39. homeassistant-stubs/components/airzone_cloud/select.pyi +10 -2
  40. homeassistant-stubs/components/airzone_cloud/switch.pyi +33 -0
  41. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +13 -6
  42. homeassistant-stubs/components/alarm_control_panel/const.pyi +12 -0
  43. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +2 -2
  44. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +2 -2
  45. homeassistant-stubs/components/alarm_control_panel/reproduce_state.pyi +2 -2
  46. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  47. homeassistant-stubs/components/alexa/handlers.pyi +2 -2
  48. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -0
  49. homeassistant-stubs/components/ambient_network/__init__.pyi +1 -0
  50. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -0
  51. homeassistant-stubs/components/analytics/__init__.pyi +2 -0
  52. homeassistant-stubs/components/analytics/analytics.pyi +1 -0
  53. homeassistant-stubs/components/analytics_insights/__init__.pyi +1 -0
  54. homeassistant-stubs/components/analytics_insights/config_flow.pyi +1 -1
  55. homeassistant-stubs/components/analytics_insights/const.pyi +1 -0
  56. homeassistant-stubs/components/analytics_insights/coordinator.pyi +8 -2
  57. homeassistant-stubs/components/analytics_insights/sensor.pyi +4 -0
  58. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +3 -5
  59. homeassistant-stubs/components/android_ip_webcam/binary_sensor.pyi +3 -4
  60. homeassistant-stubs/components/android_ip_webcam/camera.pyi +2 -3
  61. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +3 -2
  62. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +2 -4
  63. homeassistant-stubs/components/android_ip_webcam/switch.pyi +2 -4
  64. homeassistant-stubs/components/androidtv/__init__.pyi +3 -1
  65. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -1
  66. homeassistant-stubs/components/androidtv/const.pyi +2 -1
  67. homeassistant-stubs/components/androidtv/entity.pyi +5 -2
  68. homeassistant-stubs/components/androidtv/media_player.pyi +5 -6
  69. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +5 -7
  70. homeassistant-stubs/components/anova/__init__.pyi +2 -1
  71. homeassistant-stubs/components/anova/config_flow.pyi +2 -1
  72. homeassistant-stubs/components/anova/models.pyi +1 -0
  73. homeassistant-stubs/components/anthemav/__init__.pyi +2 -0
  74. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  75. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -0
  76. homeassistant-stubs/components/apple_tv/__init__.pyi +1 -0
  77. homeassistant-stubs/components/apple_tv/config_flow.pyi +5 -1
  78. homeassistant-stubs/components/apsystems/__init__.pyi +1 -0
  79. homeassistant-stubs/components/apsystems/sensor.pyi +2 -2
  80. homeassistant-stubs/components/aquostv/media_player.pyi +1 -1
  81. homeassistant-stubs/components/aranet/__init__.pyi +3 -3
  82. homeassistant-stubs/components/aranet/sensor.pyi +4 -4
  83. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -0
  84. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -0
  85. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -1
  86. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +4 -6
  87. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +2 -4
  88. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -3
  89. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +2 -0
  90. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -4
  91. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -1
  92. homeassistant-stubs/components/asuswrt/__init__.pyi +1 -0
  93. homeassistant-stubs/components/asuswrt/bridge.pyi +4 -2
  94. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  95. homeassistant-stubs/components/auth/__init__.pyi +5 -0
  96. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  97. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +4 -2
  98. homeassistant-stubs/components/automation/__init__.pyi +0 -14
  99. homeassistant-stubs/components/awair/__init__.pyi +4 -6
  100. homeassistant-stubs/components/awair/config_flow.pyi +1 -0
  101. homeassistant-stubs/components/awair/coordinator.pyi +1 -0
  102. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  103. homeassistant-stubs/components/axis/__init__.pyi +1 -0
  104. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  105. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  106. homeassistant-stubs/components/backup/const.pyi +3 -0
  107. homeassistant-stubs/components/backup/http.pyi +1 -1
  108. homeassistant-stubs/components/backup/manager.pyi +25 -11
  109. homeassistant-stubs/components/backup/websocket.pyi +2 -2
  110. homeassistant-stubs/components/baf/__init__.pyi +2 -0
  111. homeassistant-stubs/components/bang_olufsen/__init__.pyi +3 -2
  112. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -2
  113. homeassistant-stubs/components/bang_olufsen/media_player.pyi +14 -6
  114. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
  115. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -3
  116. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  117. homeassistant-stubs/components/blue_current/config_flow.pyi +1 -2
  118. homeassistant-stubs/components/blue_current/sensor.pyi +2 -3
  119. homeassistant-stubs/components/blueprint/__init__.pyi +2 -2
  120. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  121. homeassistant-stubs/components/bluesound/const.pyi +0 -4
  122. homeassistant-stubs/components/bluesound/media_player.pyi +6 -14
  123. homeassistant-stubs/components/bluesound/services.pyi +21 -0
  124. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +1 -1
  125. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +1 -1
  126. homeassistant-stubs/components/bluetooth/match.pyi +1 -1
  127. homeassistant-stubs/components/bluetooth/models.pyi +4 -0
  128. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +4 -4
  129. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  130. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +4 -2
  131. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  132. homeassistant-stubs/components/braviatv/config_flow.pyi +1 -2
  133. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -1
  134. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  135. homeassistant-stubs/components/brother/config_flow.pyi +2 -4
  136. homeassistant-stubs/components/bryant_evolution/__init__.pyi +2 -0
  137. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +1 -4
  138. homeassistant-stubs/components/bthome/config_flow.pyi +1 -1
  139. homeassistant-stubs/components/bthome/coordinator.pyi +1 -1
  140. homeassistant-stubs/components/bthome/types.pyi +2 -0
  141. homeassistant-stubs/components/button/__init__.pyi +0 -3
  142. homeassistant-stubs/components/calendar/trigger.pyi +3 -1
  143. homeassistant-stubs/components/cambridge_audio/__init__.pyi +14 -0
  144. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +14 -0
  145. homeassistant-stubs/components/cambridge_audio/const.pyi +9 -0
  146. homeassistant-stubs/components/cambridge_audio/diagnostics.pyi +5 -0
  147. homeassistant-stubs/components/cambridge_audio/entity.pyi +21 -0
  148. homeassistant-stubs/components/cambridge_audio/media_player.pyi +71 -0
  149. homeassistant-stubs/components/cambridge_audio/select.pyi +34 -0
  150. homeassistant-stubs/components/cambridge_audio/switch.pyi +30 -0
  151. homeassistant-stubs/components/camera/__init__.pyi +39 -22
  152. homeassistant-stubs/components/camera/const.pyi +1 -2
  153. homeassistant-stubs/components/camera/diagnostics.pyi +1 -1
  154. homeassistant-stubs/components/camera/helper.pyi +6 -0
  155. homeassistant-stubs/components/camera/webrtc.pyi +96 -0
  156. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -3
  157. homeassistant-stubs/components/canary/sensor.pyi +1 -0
  158. homeassistant-stubs/components/cert_expiry/__init__.pyi +1 -0
  159. homeassistant-stubs/components/climate/__init__.pyi +0 -24
  160. homeassistant-stubs/components/cloud/client.pyi +5 -1
  161. homeassistant-stubs/components/cloud/const.pyi +1 -0
  162. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  163. homeassistant-stubs/components/cloud/prefs.pyi +4 -2
  164. homeassistant-stubs/components/co2signal/__init__.pyi +1 -0
  165. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -2
  166. homeassistant-stubs/components/config/automation.pyi +1 -1
  167. homeassistant-stubs/components/config/script.pyi +1 -1
  168. homeassistant-stubs/components/config/view.pyi +2 -2
  169. homeassistant-stubs/components/configurator/__init__.pyi +2 -0
  170. homeassistant-stubs/components/counter/__init__.pyi +1 -1
  171. homeassistant-stubs/components/cover/__init__.pyi +12 -8
  172. homeassistant-stubs/components/cover/device_condition.pyi +2 -2
  173. homeassistant-stubs/components/cover/device_trigger.pyi +2 -2
  174. homeassistant-stubs/components/cover/reproduce_state.pyi +2 -2
  175. homeassistant-stubs/components/date/__init__.pyi +0 -4
  176. homeassistant-stubs/components/datetime/__init__.pyi +0 -4
  177. homeassistant-stubs/components/deako/__init__.pyi +2 -0
  178. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -3
  179. homeassistant-stubs/components/deconz/binary_sensor.pyi +10 -1
  180. homeassistant-stubs/components/deconz/config_flow.pyi +1 -1
  181. homeassistant-stubs/components/deconz/device_trigger.pyi +4 -0
  182. homeassistant-stubs/components/deconz/entity.pyi +6 -2
  183. homeassistant-stubs/components/deconz/light.pyi +1 -1
  184. homeassistant-stubs/components/deconz/number.pyi +3 -1
  185. homeassistant-stubs/components/demo/alarm_control_panel.pyi +2 -1
  186. homeassistant-stubs/components/demo/update.pyi +5 -2
  187. homeassistant-stubs/components/derivative/sensor.pyi +1 -4
  188. homeassistant-stubs/components/device_automation/__init__.pyi +2 -0
  189. homeassistant-stubs/components/device_tracker/config_entry.pyi +0 -10
  190. homeassistant-stubs/components/device_tracker/legacy.pyi +0 -2
  191. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -0
  192. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  193. homeassistant-stubs/components/devolo_home_network/__init__.pyi +4 -2
  194. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +2 -2
  195. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +4 -1
  196. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +13 -0
  197. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +4 -3
  198. homeassistant-stubs/components/devolo_home_network/entity.pyi +7 -3
  199. homeassistant-stubs/components/devolo_home_network/image.pyi +2 -2
  200. homeassistant-stubs/components/devolo_home_network/sensor.pyi +9 -10
  201. homeassistant-stubs/components/devolo_home_network/switch.pyi +6 -6
  202. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  203. homeassistant-stubs/components/diagnostics/util.pyi +1 -1
  204. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  205. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -2
  206. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  207. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  208. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -3
  209. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -1
  210. homeassistant-stubs/components/doorbird/device.pyi +0 -6
  211. homeassistant-stubs/components/doorbird/models.pyi +1 -0
  212. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +1 -2
  213. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  214. homeassistant-stubs/components/duotecno/entity.pyi +1 -1
  215. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  216. homeassistant-stubs/components/ecowitt/__init__.pyi +2 -0
  217. homeassistant-stubs/components/efergy/__init__.pyi +2 -0
  218. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +1 -4
  219. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  220. homeassistant-stubs/components/elgato/__init__.pyi +1 -0
  221. homeassistant-stubs/components/elkm1/__init__.pyi +1 -0
  222. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -3
  223. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  224. homeassistant-stubs/components/energy/data.pyi +1 -0
  225. homeassistant-stubs/components/energy/types.pyi +2 -0
  226. homeassistant-stubs/components/energy/websocket_api.pyi +3 -0
  227. homeassistant-stubs/components/enigma2/__init__.pyi +1 -0
  228. homeassistant-stubs/components/enigma2/config_flow.pyi +0 -2
  229. homeassistant-stubs/components/enigma2/media_player.pyi +1 -6
  230. homeassistant-stubs/components/enphase_envoy/__init__.pyi +3 -1
  231. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +4 -6
  232. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  233. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  234. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +5 -6
  235. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -1
  236. homeassistant-stubs/components/esphome/config_flow.pyi +6 -5
  237. homeassistant-stubs/components/esphome/entity.pyi +3 -3
  238. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  239. homeassistant-stubs/components/esphome/enum_mapper.pyi +1 -1
  240. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +7 -3
  241. homeassistant-stubs/components/esphome/update.pyi +3 -1
  242. homeassistant-stubs/components/event/__init__.pyi +0 -3
  243. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  244. homeassistant-stubs/components/evohome/climate.pyi +2 -3
  245. homeassistant-stubs/components/evohome/entity.pyi +1 -1
  246. homeassistant-stubs/components/fan/__init__.pyi +0 -8
  247. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  248. homeassistant-stubs/components/feedreader/__init__.pyi +1 -0
  249. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -3
  250. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  251. homeassistant-stubs/components/filesize/__init__.pyi +1 -0
  252. homeassistant-stubs/components/fitbit/api.pyi +1 -1
  253. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -2
  254. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +2 -1
  255. homeassistant-stubs/components/flux_led/config_flow.pyi +3 -1
  256. homeassistant-stubs/components/forecast_solar/__init__.pyi +1 -0
  257. homeassistant-stubs/components/fritz/config_flow.pyi +5 -5
  258. homeassistant-stubs/components/fritz/update.pyi +1 -1
  259. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  260. homeassistant-stubs/components/fritzbox/config_flow.pyi +5 -6
  261. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -0
  262. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +2 -1
  263. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -0
  264. homeassistant-stubs/components/fronius/__init__.pyi +2 -1
  265. homeassistant-stubs/components/fronius/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/fronius/const.pyi +1 -0
  267. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  268. homeassistant-stubs/components/frontend/__init__.pyi +0 -3
  269. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +1 -0
  270. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +1 -2
  271. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -0
  272. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  273. homeassistant-stubs/components/fyta/config_flow.pyi +0 -2
  274. homeassistant-stubs/components/fyta/coordinator.pyi +6 -1
  275. homeassistant-stubs/components/geo_location/__init__.pyi +0 -5
  276. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  277. homeassistant-stubs/components/glances/__init__.pyi +1 -0
  278. homeassistant-stubs/components/glances/config_flow.pyi +1 -2
  279. homeassistant-stubs/components/go2rtc/__init__.pyi +41 -0
  280. homeassistant-stubs/components/go2rtc/config_flow.pyi +7 -0
  281. homeassistant-stubs/components/go2rtc/const.pyi +7 -0
  282. homeassistant-stubs/components/go2rtc/server.pyi +44 -0
  283. homeassistant-stubs/components/goalzero/config_flow.pyi +1 -2
  284. homeassistant-stubs/components/goalzero/coordinator.pyi +1 -0
  285. homeassistant-stubs/components/google/__init__.pyi +1 -1
  286. homeassistant-stubs/components/google/api.pyi +2 -2
  287. homeassistant-stubs/components/google/calendar.pyi +6 -5
  288. homeassistant-stubs/components/google/config_flow.pyi +2 -3
  289. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -2
  290. homeassistant-stubs/components/google_photos/config_flow.pyi +2 -3
  291. homeassistant-stubs/components/google_photos/types.pyi +2 -0
  292. homeassistant-stubs/components/google_sheets/__init__.pyi +1 -0
  293. homeassistant-stubs/components/google_sheets/config_flow.pyi +1 -3
  294. homeassistant-stubs/components/govee_ble/__init__.pyi +11 -0
  295. homeassistant-stubs/components/govee_ble/binary_sensor.pyi +22 -0
  296. homeassistant-stubs/components/govee_ble/config_flow.pyi +16 -0
  297. homeassistant-stubs/components/govee_ble/const.pyi +2 -0
  298. homeassistant-stubs/components/govee_ble/coordinator.pyi +24 -0
  299. homeassistant-stubs/components/govee_ble/device.pyi +4 -0
  300. homeassistant-stubs/components/govee_ble/event.pyi +27 -0
  301. homeassistant-stubs/components/govee_ble/sensor.pyi +25 -0
  302. homeassistant-stubs/components/gpsd/__init__.pyi +2 -0
  303. homeassistant-stubs/components/greeneye_monitor/sensor.pyi +1 -0
  304. homeassistant-stubs/components/group/cover.pyi +2 -2
  305. homeassistant-stubs/components/group/registry.pyi +2 -1
  306. homeassistant-stubs/components/group/sensor.pyi +10 -11
  307. homeassistant-stubs/components/guardian/config_flow.pyi +0 -1
  308. homeassistant-stubs/components/guardian/util.pyi +1 -1
  309. homeassistant-stubs/components/hardkernel/__init__.pyi +2 -1
  310. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -5
  311. homeassistant-stubs/components/history_stats/__init__.pyi +1 -0
  312. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -1
  313. homeassistant-stubs/components/history_stats/sensor.pyi +2 -1
  314. homeassistant-stubs/components/holiday/config_flow.pyi +1 -3
  315. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  316. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -1
  317. homeassistant-stubs/components/homeassistant/triggers/time.pyi +7 -1
  318. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +2 -1
  319. homeassistant-stubs/components/homeassistant_green/__init__.pyi +2 -1
  320. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +2 -1
  321. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  322. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +2 -1
  323. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -1
  324. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +3 -3
  325. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +2 -1
  326. homeassistant-stubs/components/homekit/__init__.pyi +0 -1
  327. homeassistant-stubs/components/homekit/models.pyi +1 -0
  328. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  329. homeassistant-stubs/components/homekit/type_security_systems.pyi +2 -2
  330. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +4 -4
  331. homeassistant-stubs/components/homekit_controller/config_flow.pyi +4 -1
  332. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -0
  333. homeassistant-stubs/components/homewizard/__init__.pyi +1 -0
  334. homeassistant-stubs/components/homewizard/config_flow.pyi +1 -2
  335. homeassistant-stubs/components/homewizard/helpers.pyi +1 -1
  336. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  337. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -5
  338. homeassistant-stubs/components/http/ban.pyi +2 -1
  339. homeassistant-stubs/components/http/data_validator.pyi +1 -1
  340. homeassistant-stubs/components/http/decorators.pyi +7 -4
  341. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -0
  342. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  343. homeassistant-stubs/components/humidifier/__init__.pyi +0 -10
  344. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  345. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  346. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -3
  347. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -3
  348. homeassistant-stubs/components/husqvarna_automower/entity.pyi +5 -4
  349. homeassistant-stubs/components/husqvarna_automower/number.pyi +8 -8
  350. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +24 -3
  351. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -5
  352. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -4
  353. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  354. homeassistant-stubs/components/ibeacon/__init__.pyi +1 -0
  355. homeassistant-stubs/components/image/__init__.pyi +7 -6
  356. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  357. homeassistant-stubs/components/imap/config_flow.pyi +1 -2
  358. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -0
  359. homeassistant-stubs/components/intent/__init__.pyi +5 -0
  360. homeassistant-stubs/components/intent/timers.pyi +1 -2
  361. homeassistant-stubs/components/iotty/__init__.pyi +1 -0
  362. homeassistant-stubs/components/iotty/coordinator.pyi +1 -1
  363. homeassistant-stubs/components/ipp/__init__.pyi +1 -0
  364. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +1 -0
  365. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -2
  366. homeassistant-stubs/components/jellyfin/config_flow.pyi +0 -1
  367. homeassistant-stubs/components/jellyfin/coordinator.pyi +8 -15
  368. homeassistant-stubs/components/jellyfin/entity.pyi +22 -7
  369. homeassistant-stubs/components/jellyfin/media_player.pyi +6 -18
  370. homeassistant-stubs/components/jellyfin/remote.pyi +19 -0
  371. homeassistant-stubs/components/jellyfin/sensor.pyi +10 -8
  372. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  373. homeassistant-stubs/components/jvc_projector/__init__.pyi +1 -0
  374. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -2
  375. homeassistant-stubs/components/knocki/__init__.pyi +1 -0
  376. homeassistant-stubs/components/knx/__init__.pyi +0 -1
  377. homeassistant-stubs/components/knx/climate.pyi +2 -0
  378. homeassistant-stubs/components/knx/const.pyi +4 -0
  379. homeassistant-stubs/components/knx/notify.pyi +3 -15
  380. homeassistant-stubs/components/knx/schema.pyi +1 -0
  381. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -2
  382. homeassistant-stubs/components/knx/websocket.pyi +4 -1
  383. homeassistant-stubs/components/kraken/const.pyi +1 -0
  384. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +1 -2
  385. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  386. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  387. homeassistant-stubs/components/lamarzocco/button.pyi +3 -1
  388. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -2
  389. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -5
  390. homeassistant-stubs/components/lamarzocco/coordinator.pyi +5 -4
  391. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  392. homeassistant-stubs/components/lamarzocco/number.pyi +3 -2
  393. homeassistant-stubs/components/lamarzocco/select.pyi +5 -1
  394. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  395. homeassistant-stubs/components/lamarzocco/switch.pyi +3 -2
  396. homeassistant-stubs/components/lamarzocco/update.pyi +3 -2
  397. homeassistant-stubs/components/lametric/config_flow.pyi +1 -2
  398. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  399. homeassistant-stubs/components/lawn_mower/__init__.pyi +0 -3
  400. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  401. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -0
  402. homeassistant-stubs/components/lcn/config_flow.pyi +2 -5
  403. homeassistant-stubs/components/lcn/const.pyi +1 -0
  404. homeassistant-stubs/components/lcn/helpers.pyi +4 -0
  405. homeassistant-stubs/components/lcn/sensor.pyi +4 -1
  406. homeassistant-stubs/components/lcn/switch.pyi +24 -1
  407. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  408. homeassistant-stubs/components/lektrico/__init__.pyi +1 -0
  409. homeassistant-stubs/components/lektrico/switch.pyi +31 -0
  410. homeassistant-stubs/components/lidarr/__init__.pyi +4 -2
  411. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -5
  412. homeassistant-stubs/components/lidarr/coordinator.pyi +4 -1
  413. homeassistant-stubs/components/lifx/config_flow.pyi +3 -1
  414. homeassistant-stubs/components/lifx/coordinator.pyi +0 -6
  415. homeassistant-stubs/components/light/__init__.pyi +0 -15
  416. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +1 -2
  417. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +1 -1
  418. homeassistant-stubs/components/linkplay/__init__.pyi +2 -1
  419. homeassistant-stubs/components/linkplay/const.pyi +4 -0
  420. homeassistant-stubs/components/linkplay/media_player.pyi +12 -4
  421. homeassistant-stubs/components/litterrobot/__init__.pyi +1 -0
  422. homeassistant-stubs/components/litterrobot/vacuum.pyi +0 -1
  423. homeassistant-stubs/components/local_todo/__init__.pyi +1 -0
  424. homeassistant-stubs/components/lock/__init__.pyi +0 -10
  425. homeassistant-stubs/components/logbook/models.pyi +0 -7
  426. homeassistant-stubs/components/lookin/coordinator.pyi +1 -1
  427. homeassistant-stubs/components/madvr/__init__.pyi +1 -0
  428. homeassistant-stubs/components/madvr/config_flow.pyi +2 -5
  429. homeassistant-stubs/components/manual/alarm_control_panel.pyi +19 -10
  430. homeassistant-stubs/components/mastodon/__init__.pyi +1 -0
  431. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -0
  432. homeassistant-stubs/components/matter/api.pyi +1 -1
  433. homeassistant-stubs/components/matter/climate.pyi +1 -0
  434. homeassistant-stubs/components/matter/config_flow.pyi +3 -1
  435. homeassistant-stubs/components/matter/entity.pyi +2 -2
  436. homeassistant-stubs/components/matter/fan.pyi +1 -0
  437. homeassistant-stubs/components/matter/light.pyi +1 -0
  438. homeassistant-stubs/components/matter/lock.pyi +1 -0
  439. homeassistant-stubs/components/matter/models.pyi +2 -0
  440. homeassistant-stubs/components/matter/select.pyi +2 -0
  441. homeassistant-stubs/components/matter/switch.pyi +1 -0
  442. homeassistant-stubs/components/matter/update.pyi +1 -0
  443. homeassistant-stubs/components/matter/vacuum.pyi +47 -0
  444. homeassistant-stubs/components/matter/valve.pyi +1 -0
  445. homeassistant-stubs/components/media_player/__init__.pyi +0 -33
  446. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -0
  447. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -1
  448. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  449. homeassistant-stubs/components/modbus/const.pyi +0 -2
  450. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  451. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  452. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  453. homeassistant-stubs/components/mold_indicator/config_flow.pyi +9 -0
  454. homeassistant-stubs/components/mold_indicator/sensor.pyi +6 -2
  455. homeassistant-stubs/components/monzo/config_flow.pyi +1 -2
  456. homeassistant-stubs/components/mopeka/__init__.pyi +1 -0
  457. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  458. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +3 -3
  459. homeassistant-stubs/components/mqtt/client.pyi +4 -0
  460. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -2
  461. homeassistant-stubs/components/mqtt/const.pyi +3 -1
  462. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/discovery.pyi +26 -9
  464. homeassistant-stubs/components/mqtt/entity.pyi +5 -2
  465. homeassistant-stubs/components/mqtt/models.pyi +11 -0
  466. homeassistant-stubs/components/mqtt/schemas.pyi +15 -7
  467. homeassistant-stubs/components/mqtt/update.pyi +7 -11
  468. homeassistant-stubs/components/mysensors/const.pyi +6 -1
  469. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  470. homeassistant-stubs/components/myuplink/config_flow.pyi +1 -2
  471. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  472. homeassistant-stubs/components/nam/__init__.pyi +1 -0
  473. homeassistant-stubs/components/nam/config_flow.pyi +4 -7
  474. homeassistant-stubs/components/nanoleaf/__init__.pyi +1 -0
  475. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -2
  476. homeassistant-stubs/components/nest/__init__.pyi +1 -1
  477. homeassistant-stubs/components/nest/api.pyi +5 -3
  478. homeassistant-stubs/components/nest/camera.pyi +37 -16
  479. homeassistant-stubs/components/nest/config_flow.pyi +10 -4
  480. homeassistant-stubs/components/nest/const.pyi +2 -1
  481. homeassistant-stubs/components/netatmo/climate.pyi +1 -0
  482. homeassistant-stubs/components/network/websocket.pyi +2 -0
  483. homeassistant-stubs/components/nextdns/__init__.pyi +1 -0
  484. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -2
  485. homeassistant-stubs/components/notify/__init__.pyi +0 -2
  486. homeassistant-stubs/components/notion/config_flow.pyi +1 -3
  487. homeassistant-stubs/components/number/__init__.pyi +0 -8
  488. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  489. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  490. homeassistant-stubs/components/oncue/config_flow.pyi +1 -3
  491. homeassistant-stubs/components/oncue/types.pyi +3 -0
  492. homeassistant-stubs/components/onewire/__init__.pyi +1 -0
  493. homeassistant-stubs/components/onkyo/__init__.pyi +25 -0
  494. homeassistant-stubs/components/onkyo/config_flow.pyi +30 -0
  495. homeassistant-stubs/components/onkyo/const.pyi +68 -0
  496. homeassistant-stubs/components/onkyo/media_player.pyi +24 -26
  497. homeassistant-stubs/components/onkyo/receiver.pyi +23 -3
  498. homeassistant-stubs/components/onkyo/services.pyi +14 -0
  499. homeassistant-stubs/components/openai_conversation/__init__.pyi +19 -0
  500. homeassistant-stubs/components/openai_conversation/config_flow.pyi +30 -0
  501. homeassistant-stubs/components/openai_conversation/const.pyi +14 -0
  502. homeassistant-stubs/components/openai_conversation/conversation.pyi +36 -0
  503. homeassistant-stubs/components/openexchangerates/config_flow.pyi +1 -2
  504. homeassistant-stubs/components/oralb/__init__.pyi +1 -0
  505. homeassistant-stubs/components/otbr/__init__.pyi +1 -0
  506. homeassistant-stubs/components/otbr/config_flow.pyi +2 -1
  507. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +1 -1
  508. homeassistant-stubs/components/otbr/util.pyi +1 -1
  509. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +12 -12
  510. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +0 -3
  511. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -2
  512. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -2
  513. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  515. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  516. homeassistant-stubs/components/panel_custom/__init__.pyi +28 -0
  517. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -0
  518. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  519. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  520. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  521. homeassistant-stubs/components/plugwise/config_flow.pyi +8 -6
  522. homeassistant-stubs/components/plugwise/const.pyi +4 -1
  523. homeassistant-stubs/components/plugwise/util.pyi +1 -1
  524. homeassistant-stubs/components/powerwall/config_flow.pyi +0 -1
  525. homeassistant-stubs/components/powerwall/models.pyi +1 -0
  526. homeassistant-stubs/components/private_ble_device/coordinator.pyi +3 -0
  527. homeassistant-stubs/components/prometheus/__init__.pyi +7 -4
  528. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  529. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  530. homeassistant-stubs/components/pvoutput/config_flow.pyi +1 -2
  531. homeassistant-stubs/components/qnap_qsw/sensor.pyi +8 -2
  532. homeassistant-stubs/components/radarr/__init__.pyi +1 -0
  533. homeassistant-stubs/components/radarr/config_flow.pyi +1 -3
  534. homeassistant-stubs/components/radio_browser/__init__.pyi +10 -0
  535. homeassistant-stubs/components/radio_browser/config_flow.pyi +8 -0
  536. homeassistant-stubs/components/radio_browser/const.pyi +5 -0
  537. homeassistant-stubs/components/radio_browser/media_source.pyi +28 -0
  538. homeassistant-stubs/components/rainforest_raven/__init__.pyi +3 -5
  539. homeassistant-stubs/components/rainforest_raven/coordinator.pyi +3 -12
  540. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +2 -4
  541. homeassistant-stubs/components/rainforest_raven/sensor.pyi +4 -5
  542. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  543. homeassistant-stubs/components/rainmachine/switch.pyi +1 -1
  544. homeassistant-stubs/components/rainmachine/update.pyi +7 -1
  545. homeassistant-stubs/components/raspberry_pi/__init__.pyi +2 -1
  546. homeassistant-stubs/components/recorder/core.pyi +2 -6
  547. homeassistant-stubs/components/recorder/migration.pyi +36 -16
  548. homeassistant-stubs/components/recorder/models/state.pyi +0 -7
  549. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  550. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -2
  551. homeassistant-stubs/components/recorder/util.pyi +10 -5
  552. homeassistant-stubs/components/remote/__init__.pyi +0 -4
  553. homeassistant-stubs/components/renault/__init__.pyi +1 -0
  554. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  555. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  556. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -2
  557. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -1
  558. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  559. homeassistant-stubs/components/ring/config_flow.pyi +5 -2
  560. homeassistant-stubs/components/ring/coordinator.pyi +1 -1
  561. homeassistant-stubs/components/ring/entity.pyi +2 -2
  562. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  563. homeassistant-stubs/components/roborock/config_flow.pyi +1 -2
  564. homeassistant-stubs/components/roborock/coordinator.pyi +0 -5
  565. homeassistant-stubs/components/roku/browse_media.pyi +2 -0
  566. homeassistant-stubs/components/roku/helpers.pyi +5 -2
  567. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -3
  568. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -1
  569. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -2
  570. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  571. homeassistant-stubs/components/samsungtv/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/scrape/__init__.pyi +1 -0
  573. homeassistant-stubs/components/scrape/coordinator.pyi +2 -1
  574. homeassistant-stubs/components/script/__init__.pyi +0 -16
  575. homeassistant-stubs/components/select/__init__.pyi +0 -3
  576. homeassistant-stubs/components/sensibo/__init__.pyi +1 -0
  577. homeassistant-stubs/components/sensibo/config_flow.pyi +5 -2
  578. homeassistant-stubs/components/sensibo/entity.pyi +1 -1
  579. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  580. homeassistant-stubs/components/sensor/__init__.pyi +0 -9
  581. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  582. homeassistant-stubs/components/sensoterra/__init__.pyi +1 -0
  583. homeassistant-stubs/components/senz/__init__.pyi +2 -0
  584. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +2 -2
  585. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  586. homeassistant-stubs/components/sfr_box/config_flow.pyi +1 -2
  587. homeassistant-stubs/components/sfr_box/coordinator.pyi +1 -1
  588. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -2
  589. homeassistant-stubs/components/shell_command/__init__.pyi +13 -0
  590. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  591. homeassistant-stubs/components/shelly/button.pyi +1 -1
  592. homeassistant-stubs/components/shelly/config_flow.pyi +1 -3
  593. homeassistant-stubs/components/shelly/const.pyi +1 -1
  594. homeassistant-stubs/components/shelly/coordinator.pyi +2 -4
  595. homeassistant-stubs/components/shelly/light.pyi +13 -2
  596. homeassistant-stubs/components/shelly/number.pyi +1 -1
  597. homeassistant-stubs/components/shelly/select.pyi +1 -1
  598. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  599. homeassistant-stubs/components/shelly/switch.pyi +10 -1
  600. homeassistant-stubs/components/shelly/text.pyi +1 -1
  601. homeassistant-stubs/components/shelly/update.pyi +2 -2
  602. homeassistant-stubs/components/shelly/utils.pyi +3 -2
  603. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -3
  604. homeassistant-stubs/components/simplisafe/typing.pyi +4 -0
  605. homeassistant-stubs/components/siren/__init__.pyi +0 -3
  606. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -3
  607. homeassistant-stubs/components/sleepiq/entity.pyi +3 -2
  608. homeassistant-stubs/components/smhi/config_flow.pyi +1 -3
  609. homeassistant-stubs/components/smlight/__init__.pyi +1 -0
  610. homeassistant-stubs/components/smlight/config_flow.pyi +0 -2
  611. homeassistant-stubs/components/smlight/coordinator.pyi +1 -1
  612. homeassistant-stubs/components/smlight/update.pyi +4 -2
  613. homeassistant-stubs/components/solarlog/__init__.pyi +1 -0
  614. homeassistant-stubs/components/solarlog/config_flow.pyi +1 -4
  615. homeassistant-stubs/components/solarlog/coordinator.pyi +6 -0
  616. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -4
  617. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +2 -1
  618. homeassistant-stubs/components/spotify/__init__.pyi +5 -0
  619. homeassistant-stubs/components/spotify/application_credentials.pyi +4 -0
  620. homeassistant-stubs/components/spotify/browse_media.pyi +49 -0
  621. homeassistant-stubs/components/spotify/config_flow.pyi +19 -0
  622. homeassistant-stubs/components/spotify/const.pyi +9 -0
  623. homeassistant-stubs/components/spotify/coordinator.pyi +34 -0
  624. homeassistant-stubs/components/spotify/diagnostics.pyi +5 -0
  625. homeassistant-stubs/components/spotify/entity.pyi +10 -0
  626. homeassistant-stubs/components/spotify/media_player.pyi +82 -0
  627. homeassistant-stubs/components/spotify/models.pyi +12 -0
  628. homeassistant-stubs/components/spotify/sensor.pyi +31 -0
  629. homeassistant-stubs/components/spotify/system_health.pyi +6 -0
  630. homeassistant-stubs/components/spotify/util.pyi +7 -0
  631. homeassistant-stubs/components/squeezebox/__init__.pyi +6 -3
  632. homeassistant-stubs/components/squeezebox/const.pyi +5 -0
  633. homeassistant-stubs/components/squeezebox/coordinator.pyi +15 -3
  634. homeassistant-stubs/components/squeezebox/media_player.pyi +12 -13
  635. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  636. homeassistant-stubs/components/statistics/config_flow.pyi +8 -2
  637. homeassistant-stubs/components/statistics/sensor.pyi +20 -22
  638. homeassistant-stubs/components/steamist/config_flow.pyi +3 -1
  639. homeassistant-stubs/components/sun/entity.pyi +1 -0
  640. homeassistant-stubs/components/surepetcare/config_flow.pyi +1 -2
  641. homeassistant-stubs/components/switch/__init__.pyi +0 -2
  642. homeassistant-stubs/components/switch_as_x/__init__.pyi +3 -0
  643. homeassistant-stubs/components/switch_as_x/config_flow.pyi +18 -0
  644. homeassistant-stubs/components/switch_as_x/const.pyi +5 -0
  645. homeassistant-stubs/components/switch_as_x/cover.pyi +18 -0
  646. homeassistant-stubs/components/switch_as_x/entity.pyi +35 -0
  647. homeassistant-stubs/components/switch_as_x/fan.pyi +17 -0
  648. homeassistant-stubs/components/switch_as_x/light.pyi +13 -0
  649. homeassistant-stubs/components/switch_as_x/lock.pyi +17 -0
  650. homeassistant-stubs/components/switch_as_x/siren.pyi +12 -0
  651. homeassistant-stubs/components/switch_as_x/valve.pyi +19 -0
  652. homeassistant-stubs/components/switchbee/entity.pyi +2 -2
  653. homeassistant-stubs/components/switchbee/switch.pyi +2 -1
  654. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  655. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -0
  656. homeassistant-stubs/components/switchbot_cloud/lock.pyi +18 -0
  657. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -0
  658. homeassistant-stubs/components/switcher_kis/button.pyi +2 -5
  659. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -5
  660. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -2
  661. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -1
  662. homeassistant-stubs/components/switcher_kis/cover.pyi +16 -9
  663. homeassistant-stubs/components/switcher_kis/entity.pyi +9 -0
  664. homeassistant-stubs/components/switcher_kis/light.pyi +44 -0
  665. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -5
  666. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -5
  667. homeassistant-stubs/components/synology_dsm/coordinator.pyi +2 -2
  668. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -1
  669. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  670. homeassistant-stubs/components/system_log/__init__.pyi +1 -0
  671. homeassistant-stubs/components/systemmonitor/__init__.pyi +1 -0
  672. homeassistant-stubs/components/tailscale/config_flow.pyi +1 -2
  673. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -2
  674. homeassistant-stubs/components/tailwind/typing.pyi +2 -0
  675. homeassistant-stubs/components/tautulli/__init__.pyi +1 -0
  676. homeassistant-stubs/components/technove/helpers.pyi +1 -1
  677. homeassistant-stubs/components/tedee/__init__.pyi +1 -1
  678. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  679. homeassistant-stubs/components/tedee/config_flow.pyi +2 -5
  680. homeassistant-stubs/components/tedee/coordinator.pyi +5 -5
  681. homeassistant-stubs/components/tedee/lock.pyi +2 -2
  682. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  683. homeassistant-stubs/components/text/__init__.pyi +0 -6
  684. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -2
  685. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +2 -1
  686. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -3
  687. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  688. homeassistant-stubs/components/tile/device_tracker.pyi +3 -6
  689. homeassistant-stubs/components/time/__init__.pyi +0 -4
  690. homeassistant-stubs/components/timer/__init__.pyi +1 -1
  691. homeassistant-stubs/components/tod/binary_sensor.pyi +2 -1
  692. homeassistant-stubs/components/todo/__init__.pyi +0 -2
  693. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  694. homeassistant-stubs/components/tplink/button.pyi +1 -1
  695. homeassistant-stubs/components/tplink/config_flow.pyi +5 -3
  696. homeassistant-stubs/components/tplink/entity.pyi +4 -4
  697. homeassistant-stubs/components/tplink_omada/__init__.pyi +4 -3
  698. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +3 -5
  699. homeassistant-stubs/components/tplink_omada/const.pyi +11 -0
  700. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  701. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +3 -4
  702. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -1
  703. homeassistant-stubs/components/tplink_omada/sensor.pyi +34 -0
  704. homeassistant-stubs/components/tplink_omada/switch.pyi +3 -5
  705. homeassistant-stubs/components/tplink_omada/update.pyi +3 -6
  706. homeassistant-stubs/components/trace/__init__.pyi +5 -25
  707. homeassistant-stubs/components/trace/const.pyi +1 -1
  708. homeassistant-stubs/components/trace/models.pyi +2 -0
  709. homeassistant-stubs/components/trace/util.pyi +17 -0
  710. homeassistant-stubs/components/trace/websocket_api.pyi +1 -1
  711. homeassistant-stubs/components/tractive/__init__.pyi +1 -0
  712. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +2 -2
  713. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -2
  714. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +0 -1
  715. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -2
  716. homeassistant-stubs/components/transmission/__init__.pyi +1 -0
  717. homeassistant-stubs/components/transmission/config_flow.pyi +1 -2
  718. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -2
  719. homeassistant-stubs/components/tts/__init__.pyi +0 -5
  720. homeassistant-stubs/components/tts/const.pyi +1 -0
  721. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -0
  722. homeassistant-stubs/components/unifi/__init__.pyi +1 -0
  723. homeassistant-stubs/components/unifi/config_flow.pyi +1 -2
  724. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -3
  725. homeassistant-stubs/components/unifi/update.pyi +1 -1
  726. homeassistant-stubs/components/unifiprotect/camera.pyi +3 -2
  727. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -1
  728. homeassistant-stubs/components/unifiprotect/data.pyi +2 -0
  729. homeassistant-stubs/components/update/__init__.pyi +7 -12
  730. homeassistant-stubs/components/update/const.pyi +2 -0
  731. homeassistant-stubs/components/vacuum/__init__.pyi +0 -6
  732. homeassistant-stubs/components/vallox/config_flow.pyi +2 -5
  733. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  734. homeassistant-stubs/components/vlc_telnet/__init__.pyi +1 -0
  735. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +2 -3
  736. homeassistant-stubs/components/vlc_telnet/media_player.pyi +1 -1
  737. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  738. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -4
  739. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -3
  740. homeassistant-stubs/components/water_heater/__init__.pyi +0 -9
  741. homeassistant-stubs/components/weather/__init__.pyi +0 -19
  742. homeassistant-stubs/components/webostv/config_flow.pyi +2 -2
  743. homeassistant-stubs/components/webostv/media_player.pyi +1 -1
  744. homeassistant-stubs/components/websocket_api/connection.pyi +3 -0
  745. homeassistant-stubs/components/websocket_api/const.pyi +4 -1
  746. homeassistant-stubs/components/wemo/__init__.pyi +4 -1
  747. homeassistant-stubs/components/wemo/coordinator.pyi +3 -0
  748. homeassistant-stubs/components/withings/__init__.pyi +4 -2
  749. homeassistant-stubs/components/withings/config_flow.pyi +1 -2
  750. homeassistant-stubs/components/withings/coordinator.pyi +7 -2
  751. homeassistant-stubs/components/withings/entity.pyi +14 -2
  752. homeassistant-stubs/components/withings/sensor.pyi +19 -4
  753. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  754. homeassistant-stubs/components/wled/__init__.pyi +1 -0
  755. homeassistant-stubs/components/wled/helpers.pyi +1 -1
  756. homeassistant-stubs/components/workday/__init__.pyi +13 -0
  757. homeassistant-stubs/components/workday/binary_sensor.pyi +46 -0
  758. homeassistant-stubs/components/workday/config_flow.pyi +33 -0
  759. homeassistant-stubs/components/workday/const.pyi +18 -0
  760. homeassistant-stubs/components/workday/diagnostics.pyi +5 -0
  761. homeassistant-stubs/components/workday/repairs.pyi +28 -0
  762. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +7 -2
  763. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +1 -1
  764. homeassistant-stubs/components/xiaomi_ble/types.pyi +2 -0
  765. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +1 -0
  766. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +2 -3
  767. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +7 -0
  768. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +0 -1
  769. homeassistant-stubs/components/yale_smart_alarm/const.pyi +2 -1
  770. homeassistant-stubs/components/yale_smart_alarm/select.pyi +21 -0
  771. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -0
  772. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  773. homeassistant-stubs/components/youtube/config_flow.pyi +1 -2
  774. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  775. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  776. homeassistant-stubs/components/zwave_js/discovery.pyi +2 -1
  777. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -1
  778. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  779. homeassistant-stubs/components/zwave_js/services.pyi +4 -1
  780. homeassistant-stubs/components/zwave_js/update.pyi +2 -1
  781. homeassistant-stubs/config.pyi +3 -24
  782. homeassistant-stubs/config_entries.pyi +52 -27
  783. homeassistant-stubs/const.pyi +16 -12
  784. homeassistant-stubs/core.pyi +40 -109
  785. homeassistant-stubs/core_config.pyi +108 -0
  786. homeassistant-stubs/data_entry_flow.pyi +22 -18
  787. homeassistant-stubs/helpers/area_registry.pyi +6 -8
  788. homeassistant-stubs/helpers/category_registry.pyi +1 -0
  789. homeassistant-stubs/helpers/check_config.pyi +2 -1
  790. homeassistant-stubs/helpers/collection.pyi +6 -4
  791. homeassistant-stubs/helpers/condition.pyi +1 -0
  792. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -2
  793. homeassistant-stubs/helpers/config_validation.pyi +6 -6
  794. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  795. homeassistant-stubs/helpers/debounce.pyi +1 -1
  796. homeassistant-stubs/helpers/deprecation.pyi +9 -4
  797. homeassistant-stubs/helpers/device_registry.pyi +7 -8
  798. homeassistant-stubs/helpers/discovery_flow.pyi +5 -5
  799. homeassistant-stubs/helpers/dispatcher.pyi +9 -8
  800. homeassistant-stubs/helpers/entity.pyi +2 -31
  801. homeassistant-stubs/helpers/entity_registry.pyi +7 -9
  802. homeassistant-stubs/helpers/event.pyi +2 -1
  803. homeassistant-stubs/helpers/floor_registry.pyi +3 -3
  804. homeassistant-stubs/helpers/frame.pyi +1 -5
  805. homeassistant-stubs/helpers/hassio.pyi +4 -0
  806. homeassistant-stubs/helpers/http.pyi +2 -0
  807. homeassistant-stubs/helpers/intent.pyi +6 -5
  808. homeassistant-stubs/helpers/json.pyi +3 -0
  809. homeassistant-stubs/helpers/label_registry.pyi +3 -3
  810. homeassistant-stubs/helpers/llm.pyi +1 -2
  811. homeassistant-stubs/helpers/network.pyi +1 -0
  812. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +6 -3
  813. homeassistant-stubs/helpers/ratelimit.pyi +1 -1
  814. homeassistant-stubs/helpers/redact.pyi +2 -2
  815. homeassistant-stubs/helpers/registry.pyi +5 -3
  816. homeassistant-stubs/helpers/script.pyi +3 -7
  817. homeassistant-stubs/helpers/selector.pyi +1 -1
  818. homeassistant-stubs/helpers/service.pyi +2 -2
  819. homeassistant-stubs/helpers/service_info/hassio.pyi +11 -0
  820. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -0
  821. homeassistant-stubs/helpers/significant_change.pyi +3 -0
  822. homeassistant-stubs/helpers/singleton.pyi +3 -2
  823. homeassistant-stubs/helpers/storage.pyi +4 -5
  824. homeassistant-stubs/helpers/sun.pyi +2 -0
  825. homeassistant-stubs/helpers/system_info.pyi +1 -0
  826. homeassistant-stubs/helpers/template.pyi +4 -3
  827. homeassistant-stubs/helpers/trace.pyi +3 -3
  828. homeassistant-stubs/helpers/typing.pyi +13 -0
  829. homeassistant-stubs/helpers/update_coordinator.pyi +4 -4
  830. homeassistant-stubs/loader.pyi +5 -21
  831. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -1
  832. homeassistant-stubs/util/__init__.pyi +1 -1
  833. homeassistant-stubs/util/async_.pyi +2 -2
  834. homeassistant-stubs/util/decorator.pyi +2 -1
  835. homeassistant-stubs/util/dt.pyi +3 -2
  836. homeassistant-stubs/util/enum.pyi +2 -2
  837. homeassistant-stubs/util/hass_dict.pyi +17 -17
  838. homeassistant-stubs/util/json.pyi +3 -0
  839. homeassistant-stubs/util/limited_size_dict.pyi +1 -1
  840. homeassistant-stubs/util/logging.pyi +8 -8
  841. homeassistant-stubs/util/loop.pyi +1 -1
  842. homeassistant-stubs/util/percentage.pyi +2 -2
  843. homeassistant-stubs/util/read_only_dict.pyi +1 -1
  844. homeassistant-stubs/util/signal_type.pyi +3 -3
  845. homeassistant-stubs/util/variance.pyi +3 -3
  846. homeassistant-stubs/util/yaml/loader.pyi +2 -4
  847. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0.dist-info}/METADATA +2 -2
  848. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0.dist-info}/RECORD +850 -771
  849. homeassistant-stubs/components/jellyfin/models.pyi +0 -10
  850. homeassistant-stubs/components/map/__init__.pyi +0 -14
  851. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0.dist-info}/WHEEL +0 -0
  852. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  from .core import EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData
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
2
+ from .helpers.deprecation import DeprecatedConstant as DeprecatedConstant, DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, 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
3
  from .helpers.typing import NoEventData as NoEventData
4
4
  from .util.event_type import EventType as EventType
5
5
  from .util.hass_dict import HassKey as HassKey
@@ -336,16 +336,6 @@ STATE_PLAYING: Final[str]
336
336
  STATE_PAUSED: Final[str]
337
337
  STATE_IDLE: Final[str]
338
338
  STATE_STANDBY: Final[str]
339
- STATE_ALARM_DISARMED: Final[str]
340
- STATE_ALARM_ARMED_HOME: Final[str]
341
- STATE_ALARM_ARMED_AWAY: Final[str]
342
- STATE_ALARM_ARMED_NIGHT: Final[str]
343
- STATE_ALARM_ARMED_VACATION: Final[str]
344
- STATE_ALARM_ARMED_CUSTOM_BYPASS: Final[str]
345
- STATE_ALARM_PENDING: Final[str]
346
- STATE_ALARM_ARMING: Final[str]
347
- STATE_ALARM_DISARMING: Final[str]
348
- STATE_ALARM_TRIGGERED: Final[str]
349
339
  STATE_UNAVAILABLE: Final[str]
350
340
  STATE_OK: Final[str]
351
341
  STATE_PROBLEM: Final[str]
@@ -354,6 +344,16 @@ _DEPRECATED_STATE_UNLOCKED: Final[Incomplete]
354
344
  _DEPRECATED_STATE_LOCKING: Final[Incomplete]
355
345
  _DEPRECATED_STATE_UNLOCKING: Final[Incomplete]
356
346
  _DEPRECATED_STATE_JAMMED: Final[Incomplete]
347
+ _DEPRECATED_STATE_ALARM_DISARMED: Final[Incomplete]
348
+ _DEPRECATED_STATE_ALARM_ARMED_HOME: Final[Incomplete]
349
+ _DEPRECATED_STATE_ALARM_ARMED_AWAY: Final[Incomplete]
350
+ _DEPRECATED_STATE_ALARM_ARMED_NIGHT: Final[Incomplete]
351
+ _DEPRECATED_STATE_ALARM_ARMED_VACATION: Final[Incomplete]
352
+ _DEPRECATED_STATE_ALARM_ARMED_CUSTOM_BYPASS: Final[Incomplete]
353
+ _DEPRECATED_STATE_ALARM_PENDING: Final[Incomplete]
354
+ _DEPRECATED_STATE_ALARM_ARMING: Final[Incomplete]
355
+ _DEPRECATED_STATE_ALARM_DISARMING: Final[Incomplete]
356
+ _DEPRECATED_STATE_ALARM_TRIGGERED: Final[Incomplete]
357
357
  ATTR_ATTRIBUTION: Final[str]
358
358
  ATTR_CREDENTIALS: Final[str]
359
359
  ATTR_NOW: Final[str]
@@ -509,6 +509,7 @@ class UnitOfLength(StrEnum):
509
509
  FEET = 'ft'
510
510
  YARDS = 'yd'
511
511
  MILES = 'mi'
512
+ NAUTICAL_MILES = 'nmi'
512
513
 
513
514
  _DEPRECATED_LENGTH_MILLIMETERS: Final[Incomplete]
514
515
  _DEPRECATED_LENGTH_CENTIMETERS: Final[Incomplete]
@@ -600,7 +601,10 @@ _DEPRECATED_MASS_MICROGRAMS: Final[Incomplete]
600
601
  _DEPRECATED_MASS_OUNCES: Final[Incomplete]
601
602
  _DEPRECATED_MASS_POUNDS: Final[Incomplete]
602
603
 
603
- class UnitOfConductivity(StrEnum):
604
+ class UnitOfConductivity(StrEnum, deprecated={'SIEMENS': ('UnitOfConductivity.SIEMENS_PER_CM', '2025.11.0'), 'MICROSIEMENS': ('UnitOfConductivity.MICROSIEMENS_PER_CM', '2025.11.0'), 'MILLISIEMENS': ('UnitOfConductivity.MILLISIEMENS_PER_CM', '2025.11.0')}, metaclass=EnumWithDeprecatedMembers):
605
+ SIEMENS_PER_CM = 'S/cm'
606
+ MICROSIEMENS_PER_CM = 'µS/cm'
607
+ MILLISIEMENS_PER_CM = 'mS/cm'
604
608
  SIEMENS = 'S/cm'
605
609
  MICROSIEMENS = 'µS/cm'
606
610
  MILLISIEMENS = 'mS/cm'
@@ -5,16 +5,14 @@ import threading
5
5
  import voluptuous as vol
6
6
  from . import util as util
7
7
  from .auth import AuthManager as AuthManager
8
- from .components.http import ApiConfig as ApiConfig, HomeAssistantHTTP as HomeAssistantHTTP
8
+ from .components.http import HomeAssistantHTTP as HomeAssistantHTTP
9
9
  from .config_entries import ConfigEntries as ConfigEntries
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, BASE_PLATFORMS as BASE_PLATFORMS, 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_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, 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__
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_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, __version__ as __version__
11
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
- 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
12
+ from .helpers.deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, 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
- from .helpers.storage import Store as Store
16
- from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType, VolSchemaType as VolSchemaType
17
- from .util import location as location
15
+ from .helpers.typing import VolSchemaType as VolSchemaType
18
16
  from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, get_scheduled_timer_handles as get_scheduled_timer_handles, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
19
17
  from .util.event_type import EventType as EventType
20
18
  from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
@@ -23,12 +21,10 @@ from .util.json import JsonObjectType as JsonObjectType
23
21
  from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
24
22
  from .util.timeout import TimeoutManager as TimeoutManager
25
23
  from .util.ulid import ulid_at_time as ulid_at_time, ulid_now as ulid_now
26
- from .util.unit_system import METRIC_SYSTEM as METRIC_SYSTEM, UnitSystem as UnitSystem, _CONF_UNIT_SYSTEM_IMPERIAL as _CONF_UNIT_SYSTEM_IMPERIAL, _CONF_UNIT_SYSTEM_US_CUSTOMARY as _CONF_UNIT_SYSTEM_US_CUSTOMARY, get_unit_system as get_unit_system
27
24
  from _typeshed import Incomplete
28
25
  from collections import UserDict
29
26
  from collections.abc import Callable, Collection, Coroutine, Iterable, KeysView, Mapping, ValuesView
30
27
  from dataclasses import dataclass
31
- from functools import cached_property as cached_property
32
28
  from typing import Any, Generic, NotRequired, Self, TypedDict, overload
33
29
  from typing_extensions import TypeVar
34
30
 
@@ -38,13 +34,13 @@ FINAL_WRITE_STAGE_SHUTDOWN_TIMEOUT: int
38
34
  CLOSE_STAGE_SHUTDOWN_TIMEOUT: int
39
35
  _SENTINEL: Incomplete
40
36
  _DataT = TypeVar('_DataT', bound=Mapping[str, Any], default=Mapping[str, Any])
41
- CORE_STORAGE_KEY: str
42
- CORE_STORAGE_VERSION: int
43
- CORE_STORAGE_MINOR_VERSION: int
37
+ type CALLBACK_TYPE = Callable[[], None]
44
38
  DOMAIN: str
45
39
  BLOCK_LOG_TIMEOUT: int
40
+ type ServiceResponse = JsonObjectType | None
41
+ type EntityServiceResponse = dict[str, ServiceResponse]
46
42
 
47
- class ConfigSource(enum.StrEnum):
43
+ class ConfigSource(enum.StrEnum, deprecated={'DEFAULT': ('core_config.ConfigSource.DEFAULT', '2025.11.0'), 'DISCOVERED': ('core_config.ConfigSource.DISCOVERED', '2025.11.0'), 'STORAGE': ('core_config.ConfigSource.STORAGE', '2025.11.0'), 'YAML': ('core_config.ConfigSource.YAML', '2025.11.0')}, metaclass=EnumWithDeprecatedMembers):
48
44
  DEFAULT = 'default'
49
45
  DISCOVERED = 'discovered'
50
46
  STORAGE = 'storage'
@@ -63,6 +59,10 @@ class EventStateReportedData(EventStateEventData):
63
59
  _DEPRECATED_SOURCE_DISCOVERED: Incomplete
64
60
  _DEPRECATED_SOURCE_STORAGE: Incomplete
65
61
  _DEPRECATED_SOURCE_YAML: Incomplete
62
+
63
+ def _deprecated_core_config() -> Any: ...
64
+
65
+ _DEPRECATED_Config: Incomplete
66
66
  TIMEOUT_EVENT_START: int
67
67
  EVENTS_EXCLUDED_FROM_MATCH_ALL: Incomplete
68
68
  _LOGGER: Incomplete
@@ -77,7 +77,7 @@ VALID_ENTITY_ID: Incomplete
77
77
  def valid_domain(domain: str) -> bool: ...
78
78
  def valid_entity_id(entity_id: str) -> bool: ...
79
79
  def validate_state(state: str) -> str: ...
80
- def callback(func: _CallableT) -> _CallableT: ...
80
+ def callback[_CallableT: Callable[..., Any]](func: _CallableT) -> _CallableT: ...
81
81
  def is_callback(func: Callable[..., Any]) -> bool: ...
82
82
  def is_callback_check_partial(target: Callable[..., Any]) -> bool: ...
83
83
 
@@ -102,12 +102,13 @@ class HassJobType(enum.Enum):
102
102
  Callback = 2
103
103
  Executor = 3
104
104
 
105
- class HassJob:
105
+ class HassJob[**_P, _R_co]:
106
+ __slots__: Incomplete
106
107
  target: Incomplete
107
108
  name: Incomplete
108
109
  _cancel_on_shutdown: Incomplete
110
+ _cache: Incomplete
109
111
  def __init__(self, target: Callable[_P, _R_co], name: str | None = None, *, cancel_on_shutdown: bool | None = None, job_type: HassJobType | None = None) -> None: ...
110
- @cached_property
111
112
  def job_type(self) -> HassJobType: ...
112
113
  @property
113
114
  def cancel_on_shutdown(self) -> bool | None: ...
@@ -158,45 +159,43 @@ class HomeAssistant:
158
159
  def verify_event_loop_thread(self, what: str) -> None: ...
159
160
  @property
160
161
  def _active_tasks(self) -> set[asyncio.Future[Any]]: ...
161
- @cached_property
162
162
  def is_running(self) -> bool: ...
163
- @cached_property
164
163
  def is_stopping(self) -> bool: ...
165
164
  def set_state(self, state: CoreState) -> None: ...
166
165
  def start(self) -> int: ...
167
166
  async def async_run(self, *, attach_signals: bool = True) -> int: ...
168
167
  async def async_start(self) -> None: ...
169
- def add_job(self, target: Callable[[Unpack[_Ts]], Any] | Coroutine[Any, Any, Any], *args: Unpack[_Ts]) -> None: ...
168
+ def add_job[*_Ts](self, target: Callable[[Unpack[_Ts]], Any] | Coroutine[Any, Any, Any], *args: Unpack[_Ts]) -> None: ...
170
169
  @overload
171
- def async_add_job(self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R]], *args: Unpack[_Ts], eager_start: bool = False) -> asyncio.Future[_R] | None: ...
170
+ def async_add_job[_R, *_Ts](self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R]], *args: Unpack[_Ts], eager_start: bool = False) -> asyncio.Future[_R] | None: ...
172
171
  @overload
173
- def async_add_job(self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R] | _R], *args: Unpack[_Ts], eager_start: bool = False) -> asyncio.Future[_R] | None: ...
172
+ def async_add_job[_R, *_Ts](self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R] | _R], *args: Unpack[_Ts], eager_start: bool = False) -> asyncio.Future[_R] | None: ...
174
173
  @overload
175
- def async_add_job(self, target: Coroutine[Any, Any, _R], *args: Any, eager_start: bool = False) -> asyncio.Future[_R] | None: ...
174
+ def async_add_job[_R](self, target: Coroutine[Any, Any, _R], *args: Any, eager_start: bool = False) -> asyncio.Future[_R] | None: ...
176
175
  @overload
177
- 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: ...
176
+ def async_add_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
178
177
  @overload
179
- 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: ...
178
+ def async_add_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, eager_start: bool = False, background: bool = False) -> asyncio.Future[_R] | None: ...
180
179
  @overload
181
- def _async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
180
+ def _async_add_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
182
181
  @overload
183
- def _async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
182
+ def _async_add_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
184
183
  def create_task(self, target: Coroutine[Any, Any, Any], name: str | None = None) -> None: ...
185
- def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
186
- def async_create_task_internal(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
187
- def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = True) -> asyncio.Task[_R]: ...
188
- def async_add_executor_job(self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
189
- def async_add_import_executor_job(self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
184
+ def async_create_task[_R](self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
185
+ def async_create_task_internal[_R](self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = True) -> asyncio.Task[_R]: ...
186
+ def async_create_background_task[_R](self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = True) -> asyncio.Task[_R]: ...
187
+ def async_add_executor_job[*_Ts, _T](self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
188
+ def async_add_import_executor_job[*_Ts, _T](self, target: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> asyncio.Future[_T]: ...
190
189
  @overload
191
- def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
190
+ def async_run_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
192
191
  @overload
193
- def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
192
+ def async_run_hass_job[_R](self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any, background: bool = False) -> asyncio.Future[_R] | None: ...
194
193
  @overload
195
- def async_run_job(self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R]], *args: Unpack[_Ts]) -> asyncio.Future[_R] | None: ...
194
+ def async_run_job[_R, *_Ts](self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R]], *args: Unpack[_Ts]) -> asyncio.Future[_R] | None: ...
196
195
  @overload
197
- def async_run_job(self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R] | _R], *args: Unpack[_Ts]) -> asyncio.Future[_R] | None: ...
196
+ def async_run_job[_R, *_Ts](self, target: Callable[[Unpack[_Ts]], Coroutine[Any, Any, _R] | _R], *args: Unpack[_Ts]) -> asyncio.Future[_R] | None: ...
198
197
  @overload
199
- def async_run_job(self, target: Coroutine[Any, Any, _R], *args: Any) -> asyncio.Future[_R] | None: ...
198
+ def async_run_job[_R](self, target: Coroutine[Any, Any, _R], *args: Any) -> asyncio.Future[_R] | None: ...
200
199
  def block_till_done(self, wait_background_tasks: bool = False) -> None: ...
201
200
  async def async_block_till_done(self, wait_background_tasks: bool = False) -> None: ...
202
201
  async def _await_and_log_pending(self, pending: Collection[asyncio.Future[Any]]) -> None: ...
@@ -210,44 +209,40 @@ class HomeAssistant:
210
209
  def _async_log_running_tasks(self, stage: str) -> None: ...
211
210
 
212
211
  class Context:
212
+ __slots__: Incomplete
213
213
  id: Incomplete
214
214
  user_id: Incomplete
215
215
  parent_id: Incomplete
216
216
  origin_event: Incomplete
217
+ _cache: Incomplete
217
218
  def __init__(self, user_id: str | None = None, parent_id: str | None = None, id: str | None = None) -> None: ...
218
219
  def __eq__(self, other: object) -> bool: ...
219
220
  def __copy__(self) -> Context: ...
220
221
  def __deepcopy__(self, memo: dict[int, Any]) -> Context: ...
221
- @cached_property
222
222
  def _as_dict(self) -> dict[str, str | None]: ...
223
223
  def as_dict(self) -> ReadOnlyDict[str, str | None]: ...
224
- @cached_property
225
224
  def _as_read_only_dict(self) -> ReadOnlyDict[str, str | None]: ...
226
- @cached_property
227
225
  def json_fragment(self) -> json_fragment: ...
228
226
 
229
227
  class EventOrigin(enum.Enum):
230
228
  local = 'LOCAL'
231
229
  remote = 'REMOTE'
232
230
  def __str__(self) -> str: ...
233
- @cached_property
234
231
  def idx(self) -> int: ...
235
232
 
236
233
  class Event(Generic[_DataT]):
234
+ __slots__: Incomplete
237
235
  event_type: Incomplete
238
236
  data: Incomplete
239
237
  origin: Incomplete
240
238
  time_fired_timestamp: Incomplete
241
239
  context: Incomplete
240
+ _cache: Incomplete
242
241
  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: ...
243
- @cached_property
244
242
  def time_fired(self) -> datetime.datetime: ...
245
- @cached_property
246
243
  def _as_dict(self) -> dict[str, Any]: ...
247
244
  def as_dict(self) -> ReadOnlyDict[str, Any]: ...
248
- @cached_property
249
245
  def _as_read_only_dict(self) -> ReadOnlyDict[str, Any]: ...
250
- @cached_property
251
246
  def json_fragment(self) -> json_fragment: ...
252
247
  def __repr__(self) -> str: ...
253
248
 
@@ -297,6 +292,8 @@ class CompressedState(TypedDict):
297
292
  lu: NotRequired[float]
298
293
 
299
294
  class State:
295
+ __slots__: Incomplete
296
+ _cache: Incomplete
300
297
  entity_id: Incomplete
301
298
  state: Incomplete
302
299
  attributes: Incomplete
@@ -307,24 +304,15 @@ class State:
307
304
  state_info: Incomplete
308
305
  last_updated_timestamp: Incomplete
309
306
  def __init__(self, entity_id: str, state: str, attributes: Mapping[str, Any] | None = None, last_changed: datetime.datetime | None = None, last_reported: datetime.datetime | None = None, last_updated: datetime.datetime | None = None, context: Context | None = None, validate_entity_id: bool | None = True, state_info: StateInfo | None = None, last_updated_timestamp: float | None = None) -> None: ...
310
- @cached_property
311
307
  def name(self) -> str: ...
312
- @cached_property
313
308
  def last_changed_timestamp(self) -> float: ...
314
- @cached_property
315
309
  def last_reported_timestamp(self) -> float: ...
316
- @cached_property
317
310
  def _as_dict(self) -> dict[str, Any]: ...
318
311
  def as_dict(self) -> ReadOnlyDict[str, datetime.datetime | Collection[Any]]: ...
319
- @cached_property
320
312
  def _as_read_only_dict(self) -> ReadOnlyDict[str, datetime.datetime | Collection[Any]]: ...
321
- @cached_property
322
313
  def as_dict_json(self) -> bytes: ...
323
- @cached_property
324
314
  def json_fragment(self) -> json_fragment: ...
325
- @cached_property
326
315
  def as_compressed_state(self) -> CompressedState: ...
327
- @cached_property
328
316
  def as_compressed_state_json(self) -> bytes: ...
329
317
  @classmethod
330
318
  def from_dict(cls, json_dict: dict[str, Any]) -> Self | None: ...
@@ -408,63 +396,6 @@ class ServiceRegistry:
408
396
  async def _run_service_call_catch_exceptions(self, coro_or_task: Coroutine[Any, Any, Any] | asyncio.Task[Any], service_call: ServiceCall) -> None: ...
409
397
  async def _execute_service(self, handler: Service, service_call: ServiceCall) -> ServiceResponse: ...
410
398
 
411
- class _ComponentSet(set[str]):
412
- _top_level_components: Incomplete
413
- _all_components: Incomplete
414
- def __init__(self, top_level_components: set[str], all_components: set[str]) -> None: ...
415
- def add(self, component: str) -> None: ...
416
- def remove(self, component: str) -> None: ...
417
- def discard(self, component: str) -> None: ...
418
-
419
- class Config:
420
- _store: Config._ConfigStore
421
- hass: Incomplete
422
- latitude: int
423
- longitude: int
424
- elevation: int
425
- radius: Incomplete
426
- debug: bool
427
- location_name: str
428
- time_zone: str
429
- units: Incomplete
430
- internal_url: Incomplete
431
- external_url: Incomplete
432
- currency: str
433
- country: Incomplete
434
- language: str
435
- config_source: Incomplete
436
- skip_pip: bool
437
- skip_pip_packages: Incomplete
438
- top_level_components: Incomplete
439
- all_components: Incomplete
440
- components: Incomplete
441
- api: Incomplete
442
- config_dir: Incomplete
443
- allowlist_external_dirs: Incomplete
444
- allowlist_external_urls: Incomplete
445
- media_dirs: Incomplete
446
- recovery_mode: bool
447
- legacy_templates: bool
448
- safe_mode: bool
449
- def __init__(self, hass: HomeAssistant, config_dir: str) -> None: ...
450
- def async_initialize(self) -> None: ...
451
- def distance(self, lat: float, lon: float) -> float | None: ...
452
- def path(self, *path: str) -> str: ...
453
- def is_allowed_external_url(self, url: str) -> bool: ...
454
- def is_allowed_path(self, path: str) -> bool: ...
455
- def as_dict(self) -> dict[str, Any]: ...
456
- async def async_set_time_zone(self, time_zone_str: str) -> None: ...
457
- def set_time_zone(self, time_zone_str: str) -> None: ...
458
- async def _async_update(self, *, source: ConfigSource, latitude: float | None = None, longitude: float | None = None, elevation: int | None = None, unit_system: str | None = None, location_name: str | None = None, time_zone: str | None = None, external_url: str | UndefinedType | None = ..., internal_url: str | UndefinedType | None = ..., currency: str | None = None, country: str | UndefinedType | None = ..., language: str | None = None, radius: int | None = None) -> None: ...
459
- async def async_update(self, **kwargs: Any) -> None: ...
460
- async def async_load(self) -> None: ...
461
- async def _async_store(self) -> None: ...
462
- class _ConfigStore(Store[dict[str, Any]]):
463
- _original_unit_system: Incomplete
464
- def __init__(self, hass: HomeAssistant) -> None: ...
465
- async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
466
- async def async_save(self, data: dict[str, Any]) -> None: ...
467
-
468
399
  __getattr__: Incomplete
469
400
  __dir__: Incomplete
470
401
  __all__: Incomplete
@@ -0,0 +1,108 @@
1
+ import enum
2
+ from . import auth as auth
3
+ from .components.http import ApiConfig as ApiConfig
4
+ from .const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_HIDDEN as ATTR_HIDDEN, BASE_PLATFORMS as BASE_PLATFORMS, 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_RADIUS as CONF_RADIUS, 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, CONF_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, LEGACY_CONF_WHITELIST_EXTERNAL_DIRS as LEGACY_CONF_WHITELIST_EXTERNAL_DIRS, UnitOfLength as UnitOfLength, __version__ as __version__
5
+ from .core import HomeAssistant as HomeAssistant
6
+ from .generated.currencies import HISTORIC_CURRENCIES as HISTORIC_CURRENCIES
7
+ from .helpers.entity_values import EntityValues as EntityValues
8
+ from .helpers.frame import report as report
9
+ from .helpers.storage import Store as Store
10
+ from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
11
+ from .util import location as location
12
+ from .util.hass_dict import HassKey as HassKey
13
+ from .util.package import is_docker_env as is_docker_env
14
+ from .util.unit_system import METRIC_SYSTEM as METRIC_SYSTEM, UnitSystem as UnitSystem, _CONF_UNIT_SYSTEM_IMPERIAL as _CONF_UNIT_SYSTEM_IMPERIAL, _CONF_UNIT_SYSTEM_US_CUSTOMARY as _CONF_UNIT_SYSTEM_US_CUSTOMARY, get_unit_system as get_unit_system, validate_unit_system as validate_unit_system
15
+ from _typeshed import Incomplete
16
+ from collections.abc import Sequence
17
+ from typing import Any, Final
18
+
19
+ _LOGGER: Incomplete
20
+ DATA_CUSTOMIZE: HassKey[EntityValues]
21
+ CONF_CREDENTIAL: Final[str]
22
+ CONF_ICE_SERVERS: Final[str]
23
+ CONF_WEBRTC: Final[str]
24
+ CORE_STORAGE_KEY: str
25
+ CORE_STORAGE_VERSION: int
26
+ CORE_STORAGE_MINOR_VERSION: int
27
+
28
+ class ConfigSource(enum.StrEnum):
29
+ DEFAULT = 'default'
30
+ DISCOVERED = 'discovered'
31
+ STORAGE = 'storage'
32
+ YAML = 'yaml'
33
+
34
+ def _no_duplicate_auth_provider(configs: Sequence[dict[str, Any]]) -> Sequence[dict[str, Any]]: ...
35
+ def _no_duplicate_auth_mfa_module(configs: Sequence[dict[str, Any]]) -> Sequence[dict[str, Any]]: ...
36
+ def _filter_bad_internal_external_urls(conf: dict) -> dict: ...
37
+
38
+ _PACKAGES_CONFIG_SCHEMA: Incomplete
39
+ _PACKAGE_DEFINITION_SCHEMA: Incomplete
40
+ _CUSTOMIZE_DICT_SCHEMA: Incomplete
41
+ _CUSTOMIZE_CONFIG_SCHEMA: Incomplete
42
+
43
+ def _raise_issue_if_historic_currency(hass: HomeAssistant, currency: str) -> None: ...
44
+ def _raise_issue_if_no_country(hass: HomeAssistant, country: str | None) -> None: ...
45
+ def _validate_currency(data: Any) -> Any: ...
46
+ def _validate_stun_or_turn_url(value: Any) -> str: ...
47
+
48
+ CORE_CONFIG_SCHEMA: Incomplete
49
+
50
+ async def async_process_ha_core_config(hass: HomeAssistant, config: dict) -> None: ...
51
+
52
+ class _ComponentSet(set[str]):
53
+ _top_level_components: Incomplete
54
+ _all_components: Incomplete
55
+ def __init__(self, top_level_components: set[str], all_components: set[str]) -> None: ...
56
+ def add(self, component: str) -> None: ...
57
+ def remove(self, component: str) -> None: ...
58
+ def discard(self, component: str) -> None: ...
59
+
60
+ class Config:
61
+ _store: Config._ConfigStore
62
+ hass: Incomplete
63
+ latitude: int
64
+ longitude: int
65
+ elevation: int
66
+ radius: Incomplete
67
+ debug: bool
68
+ location_name: str
69
+ time_zone: str
70
+ units: Incomplete
71
+ internal_url: Incomplete
72
+ external_url: Incomplete
73
+ currency: str
74
+ country: Incomplete
75
+ language: str
76
+ config_source: Incomplete
77
+ skip_pip: bool
78
+ skip_pip_packages: Incomplete
79
+ top_level_components: Incomplete
80
+ all_components: Incomplete
81
+ components: Incomplete
82
+ api: Incomplete
83
+ config_dir: Incomplete
84
+ allowlist_external_dirs: Incomplete
85
+ allowlist_external_urls: Incomplete
86
+ media_dirs: Incomplete
87
+ recovery_mode: bool
88
+ legacy_templates: bool
89
+ safe_mode: bool
90
+ webrtc: Incomplete
91
+ def __init__(self, hass: HomeAssistant, config_dir: str) -> None: ...
92
+ def async_initialize(self) -> None: ...
93
+ def distance(self, lat: float, lon: float) -> float | None: ...
94
+ def path(self, *path: str) -> str: ...
95
+ def is_allowed_external_url(self, url: str) -> bool: ...
96
+ def is_allowed_path(self, path: str) -> bool: ...
97
+ def as_dict(self) -> dict[str, Any]: ...
98
+ async def async_set_time_zone(self, time_zone_str: str) -> None: ...
99
+ def set_time_zone(self, time_zone_str: str) -> None: ...
100
+ async def _async_update(self, *, country: str | UndefinedType | None = ..., currency: str | None = None, elevation: int | None = None, external_url: str | UndefinedType | None = ..., internal_url: str | UndefinedType | None = ..., language: str | None = None, latitude: float | None = None, location_name: str | None = None, longitude: float | None = None, radius: int | None = None, source: ConfigSource, time_zone: str | None = None, unit_system: str | None = None) -> None: ...
101
+ async def async_update(self, **kwargs: Any) -> None: ...
102
+ async def async_load(self) -> None: ...
103
+ async def _async_store(self) -> None: ...
104
+ class _ConfigStore(Store[dict[str, Any]]):
105
+ _original_unit_system: Incomplete
106
+ def __init__(self, hass: HomeAssistant) -> None: ...
107
+ async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
108
+ async def async_save(self, data: dict[str, Any]) -> None: ...
@@ -36,7 +36,8 @@ _DEPRECATED_RESULT_TYPE_MENU: Incomplete
36
36
  EVENT_DATA_ENTRY_FLOW_PROGRESSED: str
37
37
  FLOW_NOT_COMPLETE_STEPS: Incomplete
38
38
  STEP_ID_OPTIONAL_STEPS: Incomplete
39
- _FlowResultT = TypeVar('_FlowResultT', bound='FlowResult[Any]', default='FlowResult')
39
+ _FlowContextT = TypeVar('_FlowContextT', bound='FlowContext', default='FlowContext')
40
+ _FlowResultT = TypeVar('_FlowResultT', bound='FlowResult[Any, Any]', default='FlowResult')
40
41
  _HandlerT = TypeVar('_HandlerT', default=str)
41
42
 
42
43
  @dataclass(slots=True)
@@ -55,8 +56,12 @@ class AbortFlow(FlowError):
55
56
  description_placeholders: Incomplete
56
57
  def __init__(self, reason: str, description_placeholders: Mapping[str, str] | None = None) -> None: ...
57
58
 
58
- class FlowResult(TypedDict, Generic[_HandlerT], total=False):
59
- context: dict[str, Any]
59
+ class FlowContext(TypedDict, total=False):
60
+ show_advanced_options: bool
61
+ source: str
62
+
63
+ class FlowResult(TypedDict, Generic[_FlowContextT, _HandlerT], total=False):
64
+ context: _FlowContextT
60
65
  data_schema: vol.Schema | None
61
66
  data: Mapping[str, Any]
62
67
  description_placeholders: Mapping[str, str | None] | None
@@ -81,7 +86,7 @@ class FlowResult(TypedDict, Generic[_HandlerT], total=False):
81
86
 
82
87
  def _map_error_to_schema_errors(schema_errors: dict[str, Any], error: vol.Invalid, data_schema: vol.Schema) -> None: ...
83
88
 
84
- class FlowManager(abc.ABC, Generic[_FlowResultT, _HandlerT], metaclass=abc.ABCMeta):
89
+ class FlowManager(abc.ABC, Generic[_FlowContextT, _FlowResultT, _HandlerT], metaclass=abc.ABCMeta):
85
90
  _flow_result: type[_FlowResultT]
86
91
  hass: Incomplete
87
92
  _preview: Incomplete
@@ -90,35 +95,34 @@ class FlowManager(abc.ABC, Generic[_FlowResultT, _HandlerT], metaclass=abc.ABCMe
90
95
  _init_data_process_index: Incomplete
91
96
  def __init__(self, hass: HomeAssistant) -> None: ...
92
97
  @abc.abstractmethod
93
- async def async_create_flow(self, handler_key: _HandlerT, *, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> FlowHandler[_FlowResultT, _HandlerT]: ...
98
+ async def async_create_flow(self, handler_key: _HandlerT, *, context: _FlowContextT | None = None, data: dict[str, Any] | None = None) -> FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]: ...
94
99
  @abc.abstractmethod
95
- async def async_finish_flow(self, flow: FlowHandler[_FlowResultT, _HandlerT], result: _FlowResultT) -> _FlowResultT: ...
96
- async def async_post_init(self, flow: FlowHandler[_FlowResultT, _HandlerT], result: _FlowResultT) -> None: ...
97
- def async_has_matching_flow(self, handler: _HandlerT, match_context: dict[str, Any], data: Any) -> bool: ...
100
+ async def async_finish_flow(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], result: _FlowResultT) -> _FlowResultT: ...
101
+ async def async_post_init(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], result: _FlowResultT) -> None: ...
98
102
  def async_get(self, flow_id: str) -> _FlowResultT: ...
99
103
  def async_progress(self, include_uninitialized: bool = False) -> list[_FlowResultT]: ...
100
104
  def async_progress_by_handler(self, handler: _HandlerT, include_uninitialized: bool = False, match_context: dict[str, Any] | None = None) -> list[_FlowResultT]: ...
101
105
  def async_progress_by_init_data_type(self, init_data_type: type, matcher: Callable[[Any], bool], include_uninitialized: bool = False) -> list[_FlowResultT]: ...
102
- def _async_progress_by_handler(self, handler: _HandlerT, match_context: dict[str, Any] | None) -> list[FlowHandler[_FlowResultT, _HandlerT]]: ...
103
- async def async_init(self, handler: _HandlerT, *, context: dict[str, Any] | None = None, data: Any = None) -> _FlowResultT: ...
106
+ def _async_progress_by_handler(self, handler: _HandlerT, match_context: dict[str, Any] | None) -> list[FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]]: ...
107
+ async def async_init(self, handler: _HandlerT, *, context: _FlowContextT | None = None, data: Any = None) -> _FlowResultT: ...
104
108
  async def async_configure(self, flow_id: str, user_input: dict | None = None) -> _FlowResultT: ...
105
109
  async def _async_configure(self, flow_id: str, user_input: dict | None = None) -> _FlowResultT: ...
106
110
  def async_abort(self, flow_id: str) -> None: ...
107
- def _async_add_flow_progress(self, flow: FlowHandler[_FlowResultT, _HandlerT]) -> None: ...
108
- def _async_remove_flow_from_index(self, flow: FlowHandler[_FlowResultT, _HandlerT]) -> None: ...
111
+ def _async_add_flow_progress(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]) -> None: ...
112
+ def _async_remove_flow_from_index(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]) -> None: ...
109
113
  def _async_remove_flow_progress(self, flow_id: str) -> None: ...
110
- async def _async_handle_step(self, flow: FlowHandler[_FlowResultT, _HandlerT], step_id: str, user_input: dict | BaseServiceInfo | None) -> _FlowResultT: ...
111
- def _raise_if_step_does_not_exist(self, flow: FlowHandler[_FlowResultT, _HandlerT], step_id: str) -> None: ...
112
- async def _async_setup_preview(self, flow: FlowHandler[_FlowResultT, _HandlerT]) -> None: ...
113
- def _async_flow_handler_to_flow_result(self, flows: Iterable[FlowHandler[_FlowResultT, _HandlerT]], include_uninitialized: bool) -> list[_FlowResultT]: ...
114
+ async def _async_handle_step(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], step_id: str, user_input: dict | BaseServiceInfo | None) -> _FlowResultT: ...
115
+ def _raise_if_step_does_not_exist(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT], step_id: str) -> None: ...
116
+ async def _async_setup_preview(self, flow: FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]) -> None: ...
117
+ def _async_flow_handler_to_flow_result(self, flows: Iterable[FlowHandler[_FlowContextT, _FlowResultT, _HandlerT]], include_uninitialized: bool) -> list[_FlowResultT]: ...
114
118
 
115
- class FlowHandler(Generic[_FlowResultT, _HandlerT]):
119
+ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
116
120
  _flow_result: type[_FlowResultT]
117
121
  cur_step: _FlowResultT | None
118
122
  flow_id: str
119
123
  hass: HomeAssistant
120
124
  handler: _HandlerT
121
- context: dict[str, Any]
125
+ context: _FlowContextT
122
126
  init_step: str
123
127
  init_data: Any
124
128
  VERSION: int
@@ -1,15 +1,13 @@
1
- import dataclasses
2
1
  from .json import json_bytes as json_bytes, json_fragment as json_fragment
3
- from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
2
+ from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems
4
3
  from .registry import BaseRegistry as BaseRegistry, RegistryIndexType as RegistryIndexType
5
4
  from .singleton import singleton as singleton
6
5
  from .storage import Store as Store
7
6
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
8
7
  from _typeshed import Incomplete
9
8
  from collections.abc import Iterable
10
- from functools import cached_property as cached_property
9
+ from dataclasses import dataclass
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
- from homeassistant.util import slugify as slugify
13
11
  from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp, utcnow as utcnow
14
12
  from homeassistant.util.event_type import EventType as EventType
15
13
  from homeassistant.util.hass_dict import HassKey as HassKey
@@ -39,7 +37,7 @@ class EventAreaRegistryUpdatedData(TypedDict):
39
37
  action: Literal['create', 'remove', 'update']
40
38
  area_id: str
41
39
 
42
- @dataclasses.dataclass(frozen=True, kw_only=True)
40
+ @dataclass(frozen=True, kw_only=True, slots=True)
43
41
  class AreaEntry(NormalizedNameBaseRegistryEntry):
44
42
  aliases: set[str]
45
43
  floor_id: str | None
@@ -47,9 +45,9 @@ class AreaEntry(NormalizedNameBaseRegistryEntry):
47
45
  id: str
48
46
  labels: set[str] = ...
49
47
  picture: str | None
50
- @cached_property
48
+ _cache: dict[str, Any] = ...
51
49
  def json_fragment(self) -> json_fragment: ...
52
- def __init__(self, *, name, normalized_name, created_at=..., modified_at=..., aliases, floor_id, icon, id, labels=..., picture) -> None: ...
50
+ def __init__(self, *, name, created_at=..., modified_at=..., aliases, floor_id, icon, id, labels=..., picture) -> None: ...
53
51
 
54
52
  class AreaRegistryStore(Store[AreasRegistryStoreData]):
55
53
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, list[dict[str, Any]]]) -> AreasRegistryStoreData: ...
@@ -73,13 +71,13 @@ class AreaRegistry(BaseRegistry[AreasRegistryStoreData]):
73
71
  def async_get_area_by_name(self, name: str) -> AreaEntry | None: ...
74
72
  def async_list_areas(self) -> Iterable[AreaEntry]: ...
75
73
  def async_get_or_create(self, name: str) -> AreaEntry: ...
74
+ def _generate_id(self, name: str) -> str: ...
76
75
  def async_create(self, name: str, *, aliases: set[str] | None = None, floor_id: str | None = None, icon: str | None = None, labels: set[str] | None = None, picture: str | None = None) -> AreaEntry: ...
77
76
  def async_delete(self, area_id: str) -> None: ...
78
77
  def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
79
78
  def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
80
79
  async def async_load(self) -> None: ...
81
80
  def _data_to_save(self) -> AreasRegistryStoreData: ...
82
- def _generate_area_id(self, name: str) -> str: ...
83
81
  def _async_setup_cleanup(self) -> None: ...
84
82
 
85
83
  def async_get(hass: HomeAssistant) -> AreaRegistry: ...
@@ -33,6 +33,7 @@ class EventCategoryRegistryUpdatedData(TypedDict):
33
33
  action: Literal['create', 'remove', 'update']
34
34
  scope: str
35
35
  category_id: str
36
+ type EventCategoryRegistryUpdated = Event[EventCategoryRegistryUpdatedData]
36
37
 
37
38
  @dataclass(slots=True, kw_only=True, frozen=True)
38
39
  class CategoryEntry:
@@ -2,8 +2,9 @@ from .typing import ConfigType as ConfigType
2
2
  from _typeshed import Incomplete
3
3
  from collections import OrderedDict
4
4
  from homeassistant import loader as loader
5
- from homeassistant.config import CONF_PACKAGES as CONF_PACKAGES, CORE_CONFIG_SCHEMA as CORE_CONFIG_SCHEMA, YAML_CONFIG_FILE as YAML_CONFIG_FILE, config_per_platform as config_per_platform, extract_domain_configs as extract_domain_configs, format_homeassistant_error as format_homeassistant_error, format_schema_error as format_schema_error, load_yaml_config_file as load_yaml_config_file, merge_packages_config as merge_packages_config
5
+ from homeassistant.config import CONF_PACKAGES as CONF_PACKAGES, YAML_CONFIG_FILE as YAML_CONFIG_FILE, config_per_platform as config_per_platform, extract_domain_configs as extract_domain_configs, format_homeassistant_error as format_homeassistant_error, format_schema_error as format_schema_error, load_yaml_config_file as load_yaml_config_file, merge_packages_config as merge_packages_config
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.core_config import CORE_CONFIG_SCHEMA as CORE_CONFIG_SCHEMA
7
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
9
  from homeassistant.requirements import RequirementsNotFound as RequirementsNotFound, async_clear_install_history as async_clear_install_history, async_get_integration_with_requirements as async_get_integration_with_requirements
9
10
  from typing import NamedTuple, Self