homeassistant-stubs 2024.10.4__py3-none-any.whl → 2024.11.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) 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 -1
  113. homeassistant-stubs/components/bang_olufsen/media_player.pyi +13 -5
  114. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -3
  115. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  116. homeassistant-stubs/components/blue_current/config_flow.pyi +1 -2
  117. homeassistant-stubs/components/blue_current/sensor.pyi +2 -3
  118. homeassistant-stubs/components/blueprint/__init__.pyi +2 -2
  119. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  120. homeassistant-stubs/components/bluesound/const.pyi +0 -4
  121. homeassistant-stubs/components/bluesound/media_player.pyi +6 -14
  122. homeassistant-stubs/components/bluesound/services.pyi +21 -0
  123. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +1 -1
  124. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +1 -1
  125. homeassistant-stubs/components/bluetooth/match.pyi +1 -1
  126. homeassistant-stubs/components/bluetooth/models.pyi +4 -0
  127. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +4 -4
  128. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  129. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -2
  130. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  131. homeassistant-stubs/components/braviatv/config_flow.pyi +1 -2
  132. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -1
  133. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  134. homeassistant-stubs/components/brother/config_flow.pyi +2 -4
  135. homeassistant-stubs/components/bryant_evolution/__init__.pyi +2 -0
  136. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +1 -4
  137. homeassistant-stubs/components/bthome/config_flow.pyi +1 -1
  138. homeassistant-stubs/components/bthome/coordinator.pyi +1 -1
  139. homeassistant-stubs/components/bthome/types.pyi +2 -0
  140. homeassistant-stubs/components/button/__init__.pyi +0 -3
  141. homeassistant-stubs/components/calendar/trigger.pyi +3 -1
  142. homeassistant-stubs/components/cambridge_audio/__init__.pyi +14 -0
  143. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +14 -0
  144. homeassistant-stubs/components/cambridge_audio/const.pyi +9 -0
  145. homeassistant-stubs/components/cambridge_audio/diagnostics.pyi +5 -0
  146. homeassistant-stubs/components/cambridge_audio/entity.pyi +21 -0
  147. homeassistant-stubs/components/cambridge_audio/media_player.pyi +71 -0
  148. homeassistant-stubs/components/cambridge_audio/select.pyi +34 -0
  149. homeassistant-stubs/components/cambridge_audio/switch.pyi +30 -0
  150. homeassistant-stubs/components/camera/__init__.pyi +35 -22
  151. homeassistant-stubs/components/camera/const.pyi +1 -2
  152. homeassistant-stubs/components/camera/diagnostics.pyi +1 -1
  153. homeassistant-stubs/components/camera/helper.pyi +6 -0
  154. homeassistant-stubs/components/camera/webrtc.pyi +95 -0
  155. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -3
  156. homeassistant-stubs/components/canary/sensor.pyi +1 -0
  157. homeassistant-stubs/components/cert_expiry/__init__.pyi +1 -0
  158. homeassistant-stubs/components/climate/__init__.pyi +0 -24
  159. homeassistant-stubs/components/cloud/client.pyi +5 -1
  160. homeassistant-stubs/components/cloud/const.pyi +1 -0
  161. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  162. homeassistant-stubs/components/cloud/prefs.pyi +4 -2
  163. homeassistant-stubs/components/co2signal/__init__.pyi +1 -0
  164. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -2
  165. homeassistant-stubs/components/config/automation.pyi +1 -1
  166. homeassistant-stubs/components/config/script.pyi +1 -1
  167. homeassistant-stubs/components/config/view.pyi +2 -2
  168. homeassistant-stubs/components/configurator/__init__.pyi +2 -0
  169. homeassistant-stubs/components/counter/__init__.pyi +1 -1
  170. homeassistant-stubs/components/cover/__init__.pyi +12 -8
  171. homeassistant-stubs/components/cover/device_condition.pyi +2 -2
  172. homeassistant-stubs/components/cover/device_trigger.pyi +2 -2
  173. homeassistant-stubs/components/cover/reproduce_state.pyi +2 -2
  174. homeassistant-stubs/components/date/__init__.pyi +0 -4
  175. homeassistant-stubs/components/datetime/__init__.pyi +0 -4
  176. homeassistant-stubs/components/deako/__init__.pyi +2 -0
  177. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -3
  178. homeassistant-stubs/components/deconz/binary_sensor.pyi +10 -1
  179. homeassistant-stubs/components/deconz/config_flow.pyi +1 -1
  180. homeassistant-stubs/components/deconz/device_trigger.pyi +4 -0
  181. homeassistant-stubs/components/deconz/entity.pyi +6 -2
  182. homeassistant-stubs/components/deconz/light.pyi +1 -1
  183. homeassistant-stubs/components/deconz/number.pyi +3 -1
  184. homeassistant-stubs/components/demo/alarm_control_panel.pyi +2 -1
  185. homeassistant-stubs/components/demo/update.pyi +5 -2
  186. homeassistant-stubs/components/derivative/sensor.pyi +1 -4
  187. homeassistant-stubs/components/device_automation/__init__.pyi +2 -0
  188. homeassistant-stubs/components/device_tracker/config_entry.pyi +0 -10
  189. homeassistant-stubs/components/device_tracker/legacy.pyi +0 -2
  190. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -0
  191. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  192. homeassistant-stubs/components/devolo_home_network/__init__.pyi +4 -2
  193. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +2 -2
  194. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +4 -1
  195. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +13 -0
  196. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +4 -3
  197. homeassistant-stubs/components/devolo_home_network/entity.pyi +7 -3
  198. homeassistant-stubs/components/devolo_home_network/image.pyi +2 -2
  199. homeassistant-stubs/components/devolo_home_network/sensor.pyi +9 -10
  200. homeassistant-stubs/components/devolo_home_network/switch.pyi +6 -6
  201. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  202. homeassistant-stubs/components/diagnostics/util.pyi +1 -1
  203. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  204. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -2
  205. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  206. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  207. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -3
  208. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -1
  209. homeassistant-stubs/components/doorbird/device.pyi +0 -6
  210. homeassistant-stubs/components/doorbird/models.pyi +1 -0
  211. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +1 -2
  212. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  213. homeassistant-stubs/components/duotecno/entity.pyi +1 -1
  214. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  215. homeassistant-stubs/components/ecowitt/__init__.pyi +2 -0
  216. homeassistant-stubs/components/efergy/__init__.pyi +2 -0
  217. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +1 -4
  218. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  219. homeassistant-stubs/components/elgato/__init__.pyi +1 -0
  220. homeassistant-stubs/components/elkm1/__init__.pyi +1 -0
  221. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -3
  222. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  223. homeassistant-stubs/components/energy/data.pyi +1 -0
  224. homeassistant-stubs/components/energy/types.pyi +2 -0
  225. homeassistant-stubs/components/energy/websocket_api.pyi +3 -0
  226. homeassistant-stubs/components/enigma2/__init__.pyi +1 -0
  227. homeassistant-stubs/components/enigma2/config_flow.pyi +0 -2
  228. homeassistant-stubs/components/enigma2/media_player.pyi +1 -6
  229. homeassistant-stubs/components/enphase_envoy/__init__.pyi +3 -1
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +4 -6
  231. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  232. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  233. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +5 -6
  234. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -1
  235. homeassistant-stubs/components/esphome/config_flow.pyi +6 -5
  236. homeassistant-stubs/components/esphome/entity.pyi +3 -3
  237. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  238. homeassistant-stubs/components/esphome/enum_mapper.pyi +1 -1
  239. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +7 -3
  240. homeassistant-stubs/components/esphome/update.pyi +3 -1
  241. homeassistant-stubs/components/event/__init__.pyi +0 -3
  242. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  243. homeassistant-stubs/components/evohome/climate.pyi +2 -3
  244. homeassistant-stubs/components/evohome/entity.pyi +1 -1
  245. homeassistant-stubs/components/fan/__init__.pyi +0 -8
  246. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  247. homeassistant-stubs/components/feedreader/__init__.pyi +1 -0
  248. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -3
  249. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  250. homeassistant-stubs/components/filesize/__init__.pyi +1 -0
  251. homeassistant-stubs/components/fitbit/api.pyi +1 -1
  252. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -2
  253. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +2 -1
  254. homeassistant-stubs/components/flux_led/config_flow.pyi +3 -1
  255. homeassistant-stubs/components/forecast_solar/__init__.pyi +1 -0
  256. homeassistant-stubs/components/fritz/config_flow.pyi +5 -5
  257. homeassistant-stubs/components/fritz/update.pyi +1 -1
  258. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  259. homeassistant-stubs/components/fritzbox/config_flow.pyi +5 -6
  260. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -0
  261. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +2 -1
  262. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -0
  263. homeassistant-stubs/components/fronius/__init__.pyi +2 -1
  264. homeassistant-stubs/components/fronius/config_flow.pyi +1 -2
  265. homeassistant-stubs/components/fronius/const.pyi +1 -0
  266. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  267. homeassistant-stubs/components/frontend/__init__.pyi +0 -3
  268. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +1 -0
  269. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +1 -2
  270. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -0
  271. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  272. homeassistant-stubs/components/fyta/config_flow.pyi +0 -2
  273. homeassistant-stubs/components/fyta/coordinator.pyi +6 -1
  274. homeassistant-stubs/components/geo_location/__init__.pyi +0 -5
  275. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  276. homeassistant-stubs/components/glances/__init__.pyi +1 -0
  277. homeassistant-stubs/components/glances/config_flow.pyi +1 -2
  278. homeassistant-stubs/components/go2rtc/__init__.pyi +40 -0
  279. homeassistant-stubs/components/go2rtc/config_flow.pyi +7 -0
  280. homeassistant-stubs/components/go2rtc/const.pyi +2 -0
  281. homeassistant-stubs/components/go2rtc/server.pyi +22 -0
  282. homeassistant-stubs/components/goalzero/config_flow.pyi +1 -2
  283. homeassistant-stubs/components/goalzero/coordinator.pyi +1 -0
  284. homeassistant-stubs/components/google/__init__.pyi +1 -1
  285. homeassistant-stubs/components/google/api.pyi +2 -2
  286. homeassistant-stubs/components/google/calendar.pyi +6 -5
  287. homeassistant-stubs/components/google/config_flow.pyi +2 -3
  288. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -2
  289. homeassistant-stubs/components/google_photos/config_flow.pyi +2 -3
  290. homeassistant-stubs/components/google_photos/types.pyi +2 -0
  291. homeassistant-stubs/components/google_sheets/__init__.pyi +1 -0
  292. homeassistant-stubs/components/google_sheets/config_flow.pyi +1 -3
  293. homeassistant-stubs/components/govee_ble/__init__.pyi +11 -0
  294. homeassistant-stubs/components/govee_ble/binary_sensor.pyi +22 -0
  295. homeassistant-stubs/components/govee_ble/config_flow.pyi +16 -0
  296. homeassistant-stubs/components/govee_ble/const.pyi +2 -0
  297. homeassistant-stubs/components/govee_ble/coordinator.pyi +24 -0
  298. homeassistant-stubs/components/govee_ble/device.pyi +4 -0
  299. homeassistant-stubs/components/govee_ble/event.pyi +27 -0
  300. homeassistant-stubs/components/govee_ble/sensor.pyi +25 -0
  301. homeassistant-stubs/components/gpsd/__init__.pyi +2 -0
  302. homeassistant-stubs/components/greeneye_monitor/sensor.pyi +1 -0
  303. homeassistant-stubs/components/group/cover.pyi +2 -2
  304. homeassistant-stubs/components/group/registry.pyi +2 -1
  305. homeassistant-stubs/components/group/sensor.pyi +10 -11
  306. homeassistant-stubs/components/guardian/config_flow.pyi +0 -1
  307. homeassistant-stubs/components/guardian/util.pyi +1 -1
  308. homeassistant-stubs/components/hardkernel/__init__.pyi +2 -1
  309. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -5
  310. homeassistant-stubs/components/history_stats/__init__.pyi +1 -0
  311. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -1
  312. homeassistant-stubs/components/history_stats/sensor.pyi +2 -1
  313. homeassistant-stubs/components/holiday/config_flow.pyi +1 -3
  314. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  315. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -1
  316. homeassistant-stubs/components/homeassistant/triggers/time.pyi +7 -1
  317. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +2 -1
  318. homeassistant-stubs/components/homeassistant_green/__init__.pyi +2 -1
  319. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +2 -1
  320. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  321. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +2 -1
  322. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +3 -3
  324. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +2 -1
  325. homeassistant-stubs/components/homekit/__init__.pyi +0 -1
  326. homeassistant-stubs/components/homekit/models.pyi +1 -0
  327. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  328. homeassistant-stubs/components/homekit/type_security_systems.pyi +2 -2
  329. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +4 -4
  330. homeassistant-stubs/components/homekit_controller/config_flow.pyi +4 -1
  331. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -0
  332. homeassistant-stubs/components/homewizard/__init__.pyi +1 -0
  333. homeassistant-stubs/components/homewizard/config_flow.pyi +1 -2
  334. homeassistant-stubs/components/homewizard/helpers.pyi +1 -1
  335. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  336. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -5
  337. homeassistant-stubs/components/http/ban.pyi +2 -1
  338. homeassistant-stubs/components/http/data_validator.pyi +1 -1
  339. homeassistant-stubs/components/http/decorators.pyi +7 -4
  340. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -0
  341. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  342. homeassistant-stubs/components/humidifier/__init__.pyi +0 -10
  343. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  344. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  345. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -3
  346. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -3
  347. homeassistant-stubs/components/husqvarna_automower/entity.pyi +5 -4
  348. homeassistant-stubs/components/husqvarna_automower/number.pyi +8 -8
  349. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +24 -3
  350. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -5
  351. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -4
  352. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  353. homeassistant-stubs/components/ibeacon/__init__.pyi +1 -0
  354. homeassistant-stubs/components/image/__init__.pyi +7 -6
  355. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  356. homeassistant-stubs/components/imap/config_flow.pyi +1 -2
  357. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -0
  358. homeassistant-stubs/components/intent/timers.pyi +1 -2
  359. homeassistant-stubs/components/iotty/__init__.pyi +1 -0
  360. homeassistant-stubs/components/iotty/coordinator.pyi +1 -1
  361. homeassistant-stubs/components/ipp/__init__.pyi +1 -0
  362. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +1 -0
  363. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -2
  364. homeassistant-stubs/components/jellyfin/config_flow.pyi +0 -1
  365. homeassistant-stubs/components/jellyfin/coordinator.pyi +8 -15
  366. homeassistant-stubs/components/jellyfin/entity.pyi +22 -7
  367. homeassistant-stubs/components/jellyfin/media_player.pyi +6 -18
  368. homeassistant-stubs/components/jellyfin/remote.pyi +19 -0
  369. homeassistant-stubs/components/jellyfin/sensor.pyi +10 -8
  370. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/jvc_projector/__init__.pyi +1 -0
  372. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -2
  373. homeassistant-stubs/components/knocki/__init__.pyi +1 -0
  374. homeassistant-stubs/components/knx/__init__.pyi +0 -1
  375. homeassistant-stubs/components/knx/climate.pyi +2 -0
  376. homeassistant-stubs/components/knx/const.pyi +4 -0
  377. homeassistant-stubs/components/knx/notify.pyi +3 -15
  378. homeassistant-stubs/components/knx/schema.pyi +1 -0
  379. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -2
  380. homeassistant-stubs/components/knx/websocket.pyi +4 -1
  381. homeassistant-stubs/components/kraken/const.pyi +1 -0
  382. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +1 -2
  383. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  384. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  385. homeassistant-stubs/components/lamarzocco/button.pyi +3 -1
  386. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -2
  387. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -5
  388. homeassistant-stubs/components/lamarzocco/coordinator.pyi +5 -4
  389. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  390. homeassistant-stubs/components/lamarzocco/number.pyi +3 -2
  391. homeassistant-stubs/components/lamarzocco/select.pyi +5 -1
  392. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  393. homeassistant-stubs/components/lamarzocco/switch.pyi +3 -2
  394. homeassistant-stubs/components/lamarzocco/update.pyi +3 -2
  395. homeassistant-stubs/components/lametric/config_flow.pyi +1 -2
  396. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  397. homeassistant-stubs/components/lawn_mower/__init__.pyi +0 -3
  398. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  399. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -0
  400. homeassistant-stubs/components/lcn/config_flow.pyi +2 -5
  401. homeassistant-stubs/components/lcn/const.pyi +1 -0
  402. homeassistant-stubs/components/lcn/helpers.pyi +4 -0
  403. homeassistant-stubs/components/lcn/sensor.pyi +4 -1
  404. homeassistant-stubs/components/lcn/switch.pyi +24 -1
  405. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  406. homeassistant-stubs/components/lektrico/__init__.pyi +1 -0
  407. homeassistant-stubs/components/lektrico/switch.pyi +31 -0
  408. homeassistant-stubs/components/lidarr/__init__.pyi +4 -2
  409. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -5
  410. homeassistant-stubs/components/lidarr/coordinator.pyi +4 -1
  411. homeassistant-stubs/components/lifx/config_flow.pyi +3 -1
  412. homeassistant-stubs/components/lifx/coordinator.pyi +0 -6
  413. homeassistant-stubs/components/light/__init__.pyi +0 -15
  414. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +1 -2
  415. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +1 -1
  416. homeassistant-stubs/components/linkplay/__init__.pyi +2 -1
  417. homeassistant-stubs/components/linkplay/const.pyi +4 -0
  418. homeassistant-stubs/components/linkplay/media_player.pyi +12 -4
  419. homeassistant-stubs/components/litterrobot/__init__.pyi +1 -0
  420. homeassistant-stubs/components/litterrobot/vacuum.pyi +0 -1
  421. homeassistant-stubs/components/local_todo/__init__.pyi +1 -0
  422. homeassistant-stubs/components/lock/__init__.pyi +0 -10
  423. homeassistant-stubs/components/logbook/models.pyi +0 -7
  424. homeassistant-stubs/components/lookin/coordinator.pyi +1 -1
  425. homeassistant-stubs/components/madvr/__init__.pyi +1 -0
  426. homeassistant-stubs/components/madvr/config_flow.pyi +2 -5
  427. homeassistant-stubs/components/manual/alarm_control_panel.pyi +19 -10
  428. homeassistant-stubs/components/mastodon/__init__.pyi +1 -0
  429. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -0
  430. homeassistant-stubs/components/matter/api.pyi +1 -1
  431. homeassistant-stubs/components/matter/climate.pyi +1 -0
  432. homeassistant-stubs/components/matter/config_flow.pyi +3 -1
  433. homeassistant-stubs/components/matter/entity.pyi +2 -2
  434. homeassistant-stubs/components/matter/fan.pyi +1 -0
  435. homeassistant-stubs/components/matter/light.pyi +1 -0
  436. homeassistant-stubs/components/matter/lock.pyi +1 -0
  437. homeassistant-stubs/components/matter/models.pyi +2 -0
  438. homeassistant-stubs/components/matter/select.pyi +2 -0
  439. homeassistant-stubs/components/matter/switch.pyi +1 -0
  440. homeassistant-stubs/components/matter/update.pyi +1 -0
  441. homeassistant-stubs/components/matter/vacuum.pyi +47 -0
  442. homeassistant-stubs/components/matter/valve.pyi +1 -0
  443. homeassistant-stubs/components/media_player/__init__.pyi +0 -33
  444. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -0
  445. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -1
  446. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  447. homeassistant-stubs/components/modbus/const.pyi +0 -2
  448. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  449. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  450. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  451. homeassistant-stubs/components/mold_indicator/config_flow.pyi +9 -0
  452. homeassistant-stubs/components/mold_indicator/sensor.pyi +6 -2
  453. homeassistant-stubs/components/monzo/config_flow.pyi +1 -2
  454. homeassistant-stubs/components/mopeka/__init__.pyi +1 -0
  455. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  456. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +3 -3
  457. homeassistant-stubs/components/mqtt/client.pyi +4 -0
  458. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -2
  459. homeassistant-stubs/components/mqtt/const.pyi +3 -1
  460. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/discovery.pyi +26 -9
  462. homeassistant-stubs/components/mqtt/entity.pyi +5 -2
  463. homeassistant-stubs/components/mqtt/models.pyi +11 -0
  464. homeassistant-stubs/components/mqtt/schemas.pyi +15 -7
  465. homeassistant-stubs/components/mqtt/update.pyi +7 -11
  466. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  467. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  468. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  469. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  470. homeassistant-stubs/components/music_assistant/media_player.pyi +91 -0
  471. homeassistant-stubs/components/mysensors/const.pyi +6 -1
  472. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  473. homeassistant-stubs/components/myuplink/config_flow.pyi +1 -2
  474. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  475. homeassistant-stubs/components/nam/__init__.pyi +1 -0
  476. homeassistant-stubs/components/nam/config_flow.pyi +4 -7
  477. homeassistant-stubs/components/nanoleaf/__init__.pyi +1 -0
  478. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -2
  479. homeassistant-stubs/components/nest/__init__.pyi +1 -1
  480. homeassistant-stubs/components/nest/api.pyi +5 -3
  481. homeassistant-stubs/components/nest/camera.pyi +12 -6
  482. homeassistant-stubs/components/nest/config_flow.pyi +10 -4
  483. homeassistant-stubs/components/nest/const.pyi +2 -1
  484. homeassistant-stubs/components/netatmo/climate.pyi +1 -0
  485. homeassistant-stubs/components/network/websocket.pyi +2 -0
  486. homeassistant-stubs/components/nextdns/__init__.pyi +1 -0
  487. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -2
  488. homeassistant-stubs/components/notify/__init__.pyi +0 -2
  489. homeassistant-stubs/components/notion/config_flow.pyi +1 -3
  490. homeassistant-stubs/components/number/__init__.pyi +0 -8
  491. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  492. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  493. homeassistant-stubs/components/oncue/config_flow.pyi +1 -3
  494. homeassistant-stubs/components/oncue/types.pyi +3 -0
  495. homeassistant-stubs/components/onewire/__init__.pyi +1 -0
  496. homeassistant-stubs/components/onkyo/__init__.pyi +25 -0
  497. homeassistant-stubs/components/onkyo/config_flow.pyi +30 -0
  498. homeassistant-stubs/components/onkyo/const.pyi +68 -0
  499. homeassistant-stubs/components/onkyo/media_player.pyi +22 -25
  500. homeassistant-stubs/components/onkyo/receiver.pyi +23 -3
  501. homeassistant-stubs/components/onkyo/services.pyi +14 -0
  502. homeassistant-stubs/components/openai_conversation/__init__.pyi +19 -0
  503. homeassistant-stubs/components/openai_conversation/config_flow.pyi +30 -0
  504. homeassistant-stubs/components/openai_conversation/const.pyi +14 -0
  505. homeassistant-stubs/components/openai_conversation/conversation.pyi +36 -0
  506. homeassistant-stubs/components/openexchangerates/config_flow.pyi +1 -2
  507. homeassistant-stubs/components/oralb/__init__.pyi +1 -0
  508. homeassistant-stubs/components/otbr/__init__.pyi +1 -0
  509. homeassistant-stubs/components/otbr/config_flow.pyi +2 -1
  510. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +1 -1
  511. homeassistant-stubs/components/otbr/util.pyi +1 -1
  512. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +12 -12
  513. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +0 -3
  514. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -2
  515. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -2
  516. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -2
  517. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  518. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  519. homeassistant-stubs/components/panel_custom/__init__.pyi +28 -0
  520. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -0
  521. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  522. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  523. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  524. homeassistant-stubs/components/plugwise/config_flow.pyi +8 -6
  525. homeassistant-stubs/components/plugwise/const.pyi +4 -1
  526. homeassistant-stubs/components/plugwise/util.pyi +1 -1
  527. homeassistant-stubs/components/powerwall/config_flow.pyi +0 -1
  528. homeassistant-stubs/components/powerwall/models.pyi +1 -0
  529. homeassistant-stubs/components/private_ble_device/coordinator.pyi +3 -0
  530. homeassistant-stubs/components/prometheus/__init__.pyi +7 -4
  531. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  532. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  533. homeassistant-stubs/components/pvoutput/config_flow.pyi +1 -2
  534. homeassistant-stubs/components/qnap_qsw/sensor.pyi +8 -2
  535. homeassistant-stubs/components/radarr/__init__.pyi +1 -0
  536. homeassistant-stubs/components/radarr/config_flow.pyi +1 -3
  537. homeassistant-stubs/components/radio_browser/__init__.pyi +10 -0
  538. homeassistant-stubs/components/radio_browser/config_flow.pyi +8 -0
  539. homeassistant-stubs/components/radio_browser/const.pyi +5 -0
  540. homeassistant-stubs/components/radio_browser/media_source.pyi +28 -0
  541. homeassistant-stubs/components/rainforest_raven/__init__.pyi +3 -5
  542. homeassistant-stubs/components/rainforest_raven/coordinator.pyi +3 -12
  543. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +2 -4
  544. homeassistant-stubs/components/rainforest_raven/sensor.pyi +4 -5
  545. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  546. homeassistant-stubs/components/rainmachine/switch.pyi +1 -1
  547. homeassistant-stubs/components/rainmachine/update.pyi +7 -1
  548. homeassistant-stubs/components/raspberry_pi/__init__.pyi +2 -1
  549. homeassistant-stubs/components/recorder/core.pyi +2 -6
  550. homeassistant-stubs/components/recorder/migration.pyi +36 -16
  551. homeassistant-stubs/components/recorder/models/state.pyi +0 -7
  552. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  553. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -2
  554. homeassistant-stubs/components/recorder/util.pyi +10 -5
  555. homeassistant-stubs/components/remote/__init__.pyi +0 -4
  556. homeassistant-stubs/components/renault/__init__.pyi +1 -0
  557. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  558. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  559. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -2
  560. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -1
  561. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  562. homeassistant-stubs/components/ring/config_flow.pyi +5 -2
  563. homeassistant-stubs/components/ring/coordinator.pyi +1 -1
  564. homeassistant-stubs/components/ring/entity.pyi +2 -2
  565. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  566. homeassistant-stubs/components/roborock/config_flow.pyi +1 -2
  567. homeassistant-stubs/components/roborock/coordinator.pyi +0 -5
  568. homeassistant-stubs/components/roku/browse_media.pyi +2 -0
  569. homeassistant-stubs/components/roku/helpers.pyi +5 -2
  570. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -3
  571. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -1
  572. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -2
  573. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  574. homeassistant-stubs/components/samsungtv/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/scrape/__init__.pyi +1 -0
  576. homeassistant-stubs/components/scrape/coordinator.pyi +2 -1
  577. homeassistant-stubs/components/script/__init__.pyi +3 -18
  578. homeassistant-stubs/components/select/__init__.pyi +0 -3
  579. homeassistant-stubs/components/sensibo/__init__.pyi +1 -0
  580. homeassistant-stubs/components/sensibo/config_flow.pyi +5 -2
  581. homeassistant-stubs/components/sensibo/entity.pyi +1 -1
  582. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  583. homeassistant-stubs/components/sensor/__init__.pyi +0 -9
  584. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  585. homeassistant-stubs/components/sensoterra/__init__.pyi +1 -0
  586. homeassistant-stubs/components/senz/__init__.pyi +2 -0
  587. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +2 -2
  588. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  589. homeassistant-stubs/components/sfr_box/config_flow.pyi +1 -2
  590. homeassistant-stubs/components/sfr_box/coordinator.pyi +1 -1
  591. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -2
  592. homeassistant-stubs/components/shell_command/__init__.pyi +13 -0
  593. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  594. homeassistant-stubs/components/shelly/button.pyi +1 -1
  595. homeassistant-stubs/components/shelly/config_flow.pyi +1 -3
  596. homeassistant-stubs/components/shelly/const.pyi +1 -1
  597. homeassistant-stubs/components/shelly/coordinator.pyi +2 -4
  598. homeassistant-stubs/components/shelly/light.pyi +13 -2
  599. homeassistant-stubs/components/shelly/number.pyi +1 -1
  600. homeassistant-stubs/components/shelly/select.pyi +1 -1
  601. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  602. homeassistant-stubs/components/shelly/switch.pyi +10 -1
  603. homeassistant-stubs/components/shelly/text.pyi +1 -1
  604. homeassistant-stubs/components/shelly/update.pyi +2 -2
  605. homeassistant-stubs/components/shelly/utils.pyi +3 -2
  606. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -3
  607. homeassistant-stubs/components/simplisafe/typing.pyi +4 -0
  608. homeassistant-stubs/components/siren/__init__.pyi +0 -3
  609. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -3
  610. homeassistant-stubs/components/sleepiq/entity.pyi +3 -2
  611. homeassistant-stubs/components/smhi/config_flow.pyi +1 -3
  612. homeassistant-stubs/components/smlight/__init__.pyi +1 -0
  613. homeassistant-stubs/components/smlight/config_flow.pyi +0 -2
  614. homeassistant-stubs/components/smlight/coordinator.pyi +1 -1
  615. homeassistant-stubs/components/smlight/update.pyi +4 -2
  616. homeassistant-stubs/components/solarlog/__init__.pyi +1 -0
  617. homeassistant-stubs/components/solarlog/config_flow.pyi +1 -4
  618. homeassistant-stubs/components/solarlog/coordinator.pyi +6 -0
  619. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -4
  620. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +1 -0
  621. homeassistant-stubs/components/spotify/__init__.pyi +5 -0
  622. homeassistant-stubs/components/spotify/application_credentials.pyi +4 -0
  623. homeassistant-stubs/components/spotify/browse_media.pyi +49 -0
  624. homeassistant-stubs/components/spotify/config_flow.pyi +19 -0
  625. homeassistant-stubs/components/spotify/const.pyi +9 -0
  626. homeassistant-stubs/components/spotify/coordinator.pyi +34 -0
  627. homeassistant-stubs/components/spotify/diagnostics.pyi +5 -0
  628. homeassistant-stubs/components/spotify/entity.pyi +10 -0
  629. homeassistant-stubs/components/spotify/media_player.pyi +80 -0
  630. homeassistant-stubs/components/spotify/models.pyi +12 -0
  631. homeassistant-stubs/components/spotify/sensor.pyi +28 -0
  632. homeassistant-stubs/components/spotify/system_health.pyi +6 -0
  633. homeassistant-stubs/components/spotify/util.pyi +7 -0
  634. homeassistant-stubs/components/squeezebox/__init__.pyi +6 -3
  635. homeassistant-stubs/components/squeezebox/const.pyi +5 -0
  636. homeassistant-stubs/components/squeezebox/coordinator.pyi +15 -3
  637. homeassistant-stubs/components/squeezebox/media_player.pyi +12 -13
  638. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  639. homeassistant-stubs/components/statistics/config_flow.pyi +8 -2
  640. homeassistant-stubs/components/statistics/sensor.pyi +20 -22
  641. homeassistant-stubs/components/steamist/config_flow.pyi +3 -1
  642. homeassistant-stubs/components/sun/entity.pyi +1 -0
  643. homeassistant-stubs/components/surepetcare/config_flow.pyi +1 -2
  644. homeassistant-stubs/components/switch/__init__.pyi +0 -2
  645. homeassistant-stubs/components/switch_as_x/__init__.pyi +3 -0
  646. homeassistant-stubs/components/switch_as_x/config_flow.pyi +18 -0
  647. homeassistant-stubs/components/switch_as_x/const.pyi +5 -0
  648. homeassistant-stubs/components/switch_as_x/cover.pyi +18 -0
  649. homeassistant-stubs/components/switch_as_x/entity.pyi +35 -0
  650. homeassistant-stubs/components/switch_as_x/fan.pyi +17 -0
  651. homeassistant-stubs/components/switch_as_x/light.pyi +13 -0
  652. homeassistant-stubs/components/switch_as_x/lock.pyi +17 -0
  653. homeassistant-stubs/components/switch_as_x/siren.pyi +12 -0
  654. homeassistant-stubs/components/switch_as_x/valve.pyi +19 -0
  655. homeassistant-stubs/components/switchbee/entity.pyi +2 -2
  656. homeassistant-stubs/components/switchbee/switch.pyi +2 -1
  657. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  658. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -0
  659. homeassistant-stubs/components/switchbot_cloud/lock.pyi +18 -0
  660. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -0
  661. homeassistant-stubs/components/switcher_kis/button.pyi +2 -5
  662. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -5
  663. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -2
  664. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -1
  665. homeassistant-stubs/components/switcher_kis/cover.pyi +16 -9
  666. homeassistant-stubs/components/switcher_kis/entity.pyi +9 -0
  667. homeassistant-stubs/components/switcher_kis/light.pyi +44 -0
  668. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -5
  669. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -5
  670. homeassistant-stubs/components/synology_dsm/coordinator.pyi +2 -2
  671. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -1
  672. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  673. homeassistant-stubs/components/system_log/__init__.pyi +1 -0
  674. homeassistant-stubs/components/systemmonitor/__init__.pyi +1 -0
  675. homeassistant-stubs/components/tailscale/config_flow.pyi +1 -2
  676. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -2
  677. homeassistant-stubs/components/tailwind/typing.pyi +2 -0
  678. homeassistant-stubs/components/tautulli/__init__.pyi +1 -0
  679. homeassistant-stubs/components/technove/helpers.pyi +1 -1
  680. homeassistant-stubs/components/tedee/__init__.pyi +1 -1
  681. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  682. homeassistant-stubs/components/tedee/config_flow.pyi +2 -5
  683. homeassistant-stubs/components/tedee/coordinator.pyi +5 -5
  684. homeassistant-stubs/components/tedee/lock.pyi +2 -2
  685. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  686. homeassistant-stubs/components/text/__init__.pyi +0 -6
  687. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -2
  688. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +2 -1
  689. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -3
  690. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  691. homeassistant-stubs/components/tile/device_tracker.pyi +3 -6
  692. homeassistant-stubs/components/time/__init__.pyi +0 -4
  693. homeassistant-stubs/components/timer/__init__.pyi +1 -1
  694. homeassistant-stubs/components/tod/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/todo/__init__.pyi +0 -2
  696. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  697. homeassistant-stubs/components/tplink/button.pyi +1 -1
  698. homeassistant-stubs/components/tplink/config_flow.pyi +5 -3
  699. homeassistant-stubs/components/tplink/entity.pyi +4 -4
  700. homeassistant-stubs/components/tplink_omada/__init__.pyi +4 -3
  701. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +3 -5
  702. homeassistant-stubs/components/tplink_omada/const.pyi +11 -0
  703. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  704. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +3 -4
  705. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -1
  706. homeassistant-stubs/components/tplink_omada/sensor.pyi +34 -0
  707. homeassistant-stubs/components/tplink_omada/switch.pyi +3 -5
  708. homeassistant-stubs/components/tplink_omada/update.pyi +3 -6
  709. homeassistant-stubs/components/trace/__init__.pyi +5 -25
  710. homeassistant-stubs/components/trace/const.pyi +1 -1
  711. homeassistant-stubs/components/trace/models.pyi +2 -0
  712. homeassistant-stubs/components/trace/util.pyi +17 -0
  713. homeassistant-stubs/components/trace/websocket_api.pyi +1 -1
  714. homeassistant-stubs/components/tractive/__init__.pyi +1 -0
  715. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +2 -2
  716. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -2
  717. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +0 -1
  718. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -2
  719. homeassistant-stubs/components/transmission/__init__.pyi +1 -0
  720. homeassistant-stubs/components/transmission/config_flow.pyi +1 -2
  721. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -2
  722. homeassistant-stubs/components/tts/__init__.pyi +0 -5
  723. homeassistant-stubs/components/tts/const.pyi +1 -0
  724. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -0
  725. homeassistant-stubs/components/unifi/__init__.pyi +1 -0
  726. homeassistant-stubs/components/unifi/config_flow.pyi +1 -2
  727. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -3
  728. homeassistant-stubs/components/unifi/update.pyi +1 -1
  729. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -1
  730. homeassistant-stubs/components/unifiprotect/data.pyi +2 -0
  731. homeassistant-stubs/components/update/__init__.pyi +7 -12
  732. homeassistant-stubs/components/update/const.pyi +2 -0
  733. homeassistant-stubs/components/vacuum/__init__.pyi +0 -6
  734. homeassistant-stubs/components/vallox/config_flow.pyi +2 -5
  735. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  736. homeassistant-stubs/components/vlc_telnet/__init__.pyi +1 -0
  737. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +2 -3
  738. homeassistant-stubs/components/vlc_telnet/media_player.pyi +1 -1
  739. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  740. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -4
  741. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -3
  742. homeassistant-stubs/components/water_heater/__init__.pyi +0 -9
  743. homeassistant-stubs/components/weather/__init__.pyi +0 -19
  744. homeassistant-stubs/components/webostv/config_flow.pyi +2 -2
  745. homeassistant-stubs/components/webostv/media_player.pyi +1 -1
  746. homeassistant-stubs/components/websocket_api/connection.pyi +3 -0
  747. homeassistant-stubs/components/websocket_api/const.pyi +4 -1
  748. homeassistant-stubs/components/wemo/__init__.pyi +4 -1
  749. homeassistant-stubs/components/wemo/coordinator.pyi +3 -0
  750. homeassistant-stubs/components/withings/__init__.pyi +4 -2
  751. homeassistant-stubs/components/withings/config_flow.pyi +1 -2
  752. homeassistant-stubs/components/withings/coordinator.pyi +7 -2
  753. homeassistant-stubs/components/withings/entity.pyi +14 -2
  754. homeassistant-stubs/components/withings/sensor.pyi +19 -4
  755. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  756. homeassistant-stubs/components/wled/__init__.pyi +1 -0
  757. homeassistant-stubs/components/wled/helpers.pyi +1 -1
  758. homeassistant-stubs/components/workday/__init__.pyi +13 -0
  759. homeassistant-stubs/components/workday/binary_sensor.pyi +46 -0
  760. homeassistant-stubs/components/workday/config_flow.pyi +33 -0
  761. homeassistant-stubs/components/workday/const.pyi +18 -0
  762. homeassistant-stubs/components/workday/diagnostics.pyi +5 -0
  763. homeassistant-stubs/components/workday/repairs.pyi +28 -0
  764. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +7 -2
  765. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +1 -1
  766. homeassistant-stubs/components/xiaomi_ble/types.pyi +2 -0
  767. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +1 -0
  768. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +2 -3
  769. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +7 -0
  770. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +0 -1
  771. homeassistant-stubs/components/yale_smart_alarm/const.pyi +2 -1
  772. homeassistant-stubs/components/yale_smart_alarm/select.pyi +21 -0
  773. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -0
  774. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  775. homeassistant-stubs/components/youtube/config_flow.pyi +1 -2
  776. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  777. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  778. homeassistant-stubs/components/zwave_js/discovery.pyi +2 -1
  779. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -1
  780. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  781. homeassistant-stubs/components/zwave_js/services.pyi +4 -1
  782. homeassistant-stubs/components/zwave_js/update.pyi +2 -1
  783. homeassistant-stubs/config.pyi +3 -24
  784. homeassistant-stubs/config_entries.pyi +52 -27
  785. homeassistant-stubs/const.pyi +16 -12
  786. homeassistant-stubs/core.pyi +36 -109
  787. homeassistant-stubs/core_config.pyi +108 -0
  788. homeassistant-stubs/data_entry_flow.pyi +22 -18
  789. homeassistant-stubs/helpers/area_registry.pyi +6 -8
  790. homeassistant-stubs/helpers/category_registry.pyi +1 -0
  791. homeassistant-stubs/helpers/check_config.pyi +2 -1
  792. homeassistant-stubs/helpers/collection.pyi +6 -4
  793. homeassistant-stubs/helpers/condition.pyi +1 -0
  794. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -2
  795. homeassistant-stubs/helpers/config_validation.pyi +6 -6
  796. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  797. homeassistant-stubs/helpers/debounce.pyi +1 -1
  798. homeassistant-stubs/helpers/deprecation.pyi +9 -4
  799. homeassistant-stubs/helpers/device_registry.pyi +7 -8
  800. homeassistant-stubs/helpers/discovery_flow.pyi +5 -5
  801. homeassistant-stubs/helpers/dispatcher.pyi +9 -8
  802. homeassistant-stubs/helpers/entity.pyi +2 -31
  803. homeassistant-stubs/helpers/entity_registry.pyi +7 -9
  804. homeassistant-stubs/helpers/event.pyi +2 -1
  805. homeassistant-stubs/helpers/floor_registry.pyi +3 -3
  806. homeassistant-stubs/helpers/frame.pyi +1 -5
  807. homeassistant-stubs/helpers/hassio.pyi +4 -0
  808. homeassistant-stubs/helpers/http.pyi +2 -0
  809. homeassistant-stubs/helpers/intent.pyi +5 -5
  810. homeassistant-stubs/helpers/json.pyi +3 -0
  811. homeassistant-stubs/helpers/label_registry.pyi +3 -3
  812. homeassistant-stubs/helpers/llm.pyi +1 -2
  813. homeassistant-stubs/helpers/network.pyi +1 -0
  814. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +6 -3
  815. homeassistant-stubs/helpers/ratelimit.pyi +1 -1
  816. homeassistant-stubs/helpers/redact.pyi +2 -2
  817. homeassistant-stubs/helpers/registry.pyi +5 -3
  818. homeassistant-stubs/helpers/script.pyi +3 -7
  819. homeassistant-stubs/helpers/selector.pyi +1 -1
  820. homeassistant-stubs/helpers/service.pyi +2 -2
  821. homeassistant-stubs/helpers/service_info/hassio.pyi +11 -0
  822. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -0
  823. homeassistant-stubs/helpers/significant_change.pyi +3 -0
  824. homeassistant-stubs/helpers/singleton.pyi +3 -2
  825. homeassistant-stubs/helpers/storage.pyi +4 -5
  826. homeassistant-stubs/helpers/sun.pyi +2 -0
  827. homeassistant-stubs/helpers/system_info.pyi +1 -0
  828. homeassistant-stubs/helpers/template.pyi +4 -3
  829. homeassistant-stubs/helpers/trace.pyi +3 -3
  830. homeassistant-stubs/helpers/typing.pyi +13 -0
  831. homeassistant-stubs/helpers/update_coordinator.pyi +4 -4
  832. homeassistant-stubs/loader.pyi +5 -21
  833. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -1
  834. homeassistant-stubs/util/__init__.pyi +1 -1
  835. homeassistant-stubs/util/async_.pyi +2 -2
  836. homeassistant-stubs/util/decorator.pyi +2 -1
  837. homeassistant-stubs/util/dt.pyi +3 -2
  838. homeassistant-stubs/util/enum.pyi +2 -2
  839. homeassistant-stubs/util/hass_dict.pyi +17 -17
  840. homeassistant-stubs/util/json.pyi +3 -0
  841. homeassistant-stubs/util/limited_size_dict.pyi +1 -1
  842. homeassistant-stubs/util/logging.pyi +8 -8
  843. homeassistant-stubs/util/loop.pyi +1 -1
  844. homeassistant-stubs/util/percentage.pyi +2 -2
  845. homeassistant-stubs/util/read_only_dict.pyi +1 -1
  846. homeassistant-stubs/util/signal_type.pyi +3 -3
  847. homeassistant-stubs/util/variance.pyi +3 -3
  848. homeassistant-stubs/util/yaml/loader.pyi +2 -4
  849. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/METADATA +2 -2
  850. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/RECORD +852 -768
  851. homeassistant-stubs/components/jellyfin/models.pyi +0 -10
  852. homeassistant-stubs/components/map/__init__.pyi +0 -14
  853. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/WHEEL +0 -0
  854. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -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
@@ -8,7 +8,7 @@ from .storage import Store as Store
8
8
  from .typing import ConfigType as ConfigType, VolDictType as VolDictType
9
9
  from _typeshed import Incomplete
10
10
  from abc import ABC, abstractmethod
11
- from collections.abc import Callable, Iterable
11
+ from collections.abc import Awaitable, Callable, Iterable
12
12
  from dataclasses import dataclass
13
13
  from homeassistant.components import websocket_api as websocket_api
14
14
  from homeassistant.const import CONF_ID as CONF_ID
@@ -32,6 +32,8 @@ class CollectionChange:
32
32
  item: Any
33
33
  item_hash: str | None = ...
34
34
  def __init__(self, change_type, item_id, item, item_hash=...) -> None: ...
35
+ type ChangeListener = Callable[[str, str, dict], Awaitable[None]]
36
+ type ChangeSetListener = Callable[[Iterable[CollectionChange]], Awaitable[None]]
35
37
 
36
38
  class CollectionError(HomeAssistantError): ...
37
39
 
@@ -56,7 +58,7 @@ class CollectionEntity(Entity, metaclass=abc.ABCMeta):
56
58
  @abstractmethod
57
59
  async def async_update_config(self, config: ConfigType) -> None: ...
58
60
 
59
- class ObservableCollection(ABC):
61
+ class ObservableCollection[_ItemT](ABC):
60
62
  id_manager: Incomplete
61
63
  data: Incomplete
62
64
  listeners: Incomplete
@@ -77,7 +79,7 @@ class YamlCollection(ObservableCollection[dict]):
77
79
  class SerializedStorageCollection(TypedDict):
78
80
  items: list[dict[str, Any]]
79
81
 
80
- class StorageCollection(ObservableCollection[_ItemT], metaclass=abc.ABCMeta):
82
+ class StorageCollection[_ItemT, _StoreT: SerializedStorageCollection](ObservableCollection[_ItemT], metaclass=abc.ABCMeta):
81
83
  store: Incomplete
82
84
  def __init__(self, store: Store[_StoreT], id_manager: IDManager | None = None) -> None: ...
83
85
  @staticmethod
@@ -138,7 +140,7 @@ class _CollectionLifeCycle(Generic[_EntityT]):
138
140
 
139
141
  def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
140
142
 
141
- class StorageCollectionWebsocket:
143
+ class StorageCollectionWebsocket[_StorageCollectionT: StorageCollection]:
142
144
  storage_collection: Incomplete
143
145
  api_prefix: Incomplete
144
146
  model_name: Incomplete
@@ -25,6 +25,7 @@ class ConditionProtocol(Protocol):
25
25
  CONDITION_SCHEMA: vol.Schema
26
26
  async def async_validate_condition_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
27
27
  def async_condition_from_config(self, hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
28
+ type ConditionCheckerType = Callable[[HomeAssistant, TemplateVarsType], bool | None]
28
29
 
29
30
  def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
30
31
  def condition_trace_set_result(result: bool, **kwargs: Any) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .service_info.mqtt import MqttServiceInfo as MqttServiceInfo
2
2
  from .typing import DiscoveryInfoType as DiscoveryInfoType
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Awaitable
4
+ from collections.abc import Awaitable, Callable
5
5
  from homeassistant import config_entries as config_entries
6
6
  from homeassistant.components import onboarding as onboarding
7
7
  from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
@@ -11,9 +11,10 @@ from homeassistant.components.zeroconf import ZeroconfServiceInfo as ZeroconfSer
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from typing import Any
13
13
 
14
+ type DiscoveryFunctionType[_R] = Callable[[HomeAssistant], _R]
14
15
  _LOGGER: Incomplete
15
16
 
16
- class DiscoveryFlowHandler(config_entries.ConfigFlow):
17
+ class DiscoveryFlowHandler[_R: Awaitable[bool] | bool](config_entries.ConfigFlow):
17
18
  VERSION: int
18
19
  _domain: Incomplete
19
20
  _title: Incomplete
@@ -32,7 +32,7 @@ def _async_get_hass_or_none() -> HomeAssistant | None: ...
32
32
 
33
33
  _validating_async: ContextVar[bool]
34
34
 
35
- def not_async_friendly(validator: Callable[_P, _R]) -> Callable[_P, _R]: ...
35
+ def not_async_friendly[**_P, _R](validator: Callable[_P, _R]) -> Callable[_P, _R]: ...
36
36
 
37
37
  class UrlProtocolSchema(StrEnum):
38
38
  HTTP = 'http'
@@ -64,9 +64,9 @@ def isdir(value: Any) -> str: ...
64
64
  @overload
65
65
  def ensure_list(value: None) -> list[Any]: ...
66
66
  @overload
67
- def ensure_list(value: list[_T]) -> list[_T]: ...
67
+ def ensure_list[_T](value: list[_T]) -> list[_T]: ...
68
68
  @overload
69
- def ensure_list(value: list[_T] | _T) -> list[_T]: ...
69
+ def ensure_list[_T](value: list[_T] | _T) -> list[_T]: ...
70
70
  def entity_id(value: Any) -> str: ...
71
71
  def entity_id_or_uuid(value: Any) -> str: ...
72
72
  def _entity_ids(value: str | list, allow_uuid: bool) -> list[str]: ...
@@ -96,13 +96,13 @@ def time_period_seconds(value: float | str) -> timedelta: ...
96
96
 
97
97
  time_period: Incomplete
98
98
 
99
- def match_all(value: _T) -> _T: ...
99
+ def match_all[_T](value: _T) -> _T: ...
100
100
  def positive_timedelta(value: timedelta) -> timedelta: ...
101
101
 
102
102
  positive_time_period_dict: Incomplete
103
103
  positive_time_period: Incomplete
104
104
 
105
- def remove_falsy(value: list[_T]) -> list[_T]: ...
105
+ def remove_falsy[_T](value: list[_T]) -> list[_T]: ...
106
106
  def service(value: Any) -> str: ...
107
107
  def slug(value: Any) -> str: ...
108
108
  def schema_with_slug_keys(value_schema: dict | Callable, *, slug_validator: Callable[[Any], str] = ...) -> Callable: ...
@@ -143,7 +143,7 @@ def _deprecated_or_removed(key: str, replacement_key: str | None, default: Any |
143
143
  def deprecated(key: str, replacement_key: str | None = None, default: Any | None = None, raise_if_present: bool | None = False) -> Callable[[dict], dict]: ...
144
144
  def removed(key: str, default: Any | None = None, raise_if_present: bool | None = True) -> Callable[[dict], dict]: ...
145
145
  def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
146
- def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
146
+ def key_dependency[_KT: Hashable, _VT](key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
147
147
  def custom_serializer(schema: Any) -> Any: ...
148
148
  def _custom_serializer(schema: Any, *, allow_section: bool) -> Any: ...
149
149
  def expand_condition_shorthand(value: Any | None) -> Any: ...
@@ -6,7 +6,7 @@ from homeassistant.components.http.data_validator import RequestDataValidator as
6
6
  from typing import Any, Generic
7
7
  from typing_extensions import TypeVar
8
8
 
9
- _FlowManagerT = TypeVar('_FlowManagerT', bound=data_entry_flow.FlowManager[Any], default=data_entry_flow.FlowManager)
9
+ _FlowManagerT = TypeVar('_FlowManagerT', bound=data_entry_flow.FlowManager[Any, Any], default=data_entry_flow.FlowManager)
10
10
 
11
11
  class _BaseFlowManagerView(HomeAssistantView, Generic[_FlowManagerT]):
12
12
  _flow_mgr: Incomplete
@@ -3,7 +3,7 @@ from collections.abc import Callable as Callable
3
3
  from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
4
4
  from logging import Logger
5
5
 
6
- class Debouncer:
6
+ class Debouncer[_R_co]:
7
7
  hass: Incomplete
8
8
  logger: Incomplete
9
9
  _function: Incomplete
@@ -1,15 +1,16 @@
1
1
  import functools
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
- from enum import Enum
4
+ from enum import Enum, EnumType, _EnumDict
5
5
  from typing import Any, NamedTuple
6
6
 
7
- def deprecated_substitute(substitute_name: str) -> Callable[[Callable[[_ObjectT], Any]], Callable[[_ObjectT], Any]]: ...
7
+ def deprecated_substitute[_ObjectT: object](substitute_name: str) -> Callable[[Callable[[_ObjectT], Any]], Callable[[_ObjectT], Any]]: ...
8
8
  def get_deprecated(config: dict[str, Any], new_name: str, old_name: str, default: Any | None = None) -> Any | None: ...
9
- def deprecated_class(replacement: str, *, breaks_in_ha_version: str | None = None) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
10
- def deprecated_function(replacement: str, *, breaks_in_ha_version: str | None = None) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
9
+ def deprecated_class[**_P, _R](replacement: str, *, breaks_in_ha_version: str | None = None) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
10
+ def deprecated_function[**_P, _R](replacement: str, *, breaks_in_ha_version: str | None = None) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
11
11
  def _print_deprecation_warning(obj: Any, replacement: str, description: str, verb: str, breaks_in_ha_version: str | None) -> None: ...
12
12
  def _print_deprecation_warning_internal(obj_name: str, module_name: str, replacement: str, description: str, verb: str, breaks_in_ha_version: str | None, *, log_when_no_integration_is_found: bool) -> None: ...
13
+ def _print_deprecation_warning_internal_impl(obj_name: str, module_name: str, replacement: str, description: str, verb: str, breaks_in_ha_version: str | None, *, log_when_no_integration_is_found: bool) -> None: ...
13
14
 
14
15
  class DeprecatedConstant(NamedTuple):
15
16
  value: Any
@@ -38,3 +39,7 @@ _PREFIX_DEPRECATED: str
38
39
  def check_if_deprecated_constant(name: str, module_globals: dict[str, Any]) -> Any: ...
39
40
  def dir_with_deprecated_constants(module_globals_keys: list[str]) -> list[str]: ...
40
41
  def all_with_deprecated_constants(module_globals: dict[str, Any]) -> list[str]: ...
42
+
43
+ class EnumWithDeprecatedMembers(EnumType):
44
+ def __new__(mcs, cls: str, bases: tuple[type, ...], classdict: _EnumDict, *, deprecated: dict[str, tuple[str, str]], **kwds: Any) -> Any: ...
45
+ def __getattribute__(cls, name: str) -> Any: ...
@@ -10,7 +10,6 @@ from _typeshed import Incomplete
10
10
  from collections.abc import Mapping
11
11
  from datetime import datetime
12
12
  from enum import StrEnum
13
- from functools import cached_property as cached_property
14
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
15
14
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
16
15
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ReleaseChannel as ReleaseChannel, callback as callback, get_release_channel as get_release_channel
@@ -81,6 +80,7 @@ class _EventDeviceRegistryUpdatedData_Update(TypedDict):
81
80
  action: Literal['update']
82
81
  device_id: str
83
82
  changes: dict[str, Any]
83
+ type EventDeviceRegistryUpdatedData = _EventDeviceRegistryUpdatedData_CreateRemove | _EventDeviceRegistryUpdatedData_Update
84
84
 
85
85
  class DeviceEntryType(StrEnum):
86
86
  SERVICE = 'service'
@@ -128,15 +128,14 @@ class DeviceEntry:
128
128
  sw_version: str | None
129
129
  via_device_id: str | None
130
130
  is_new: bool
131
+ _cache: dict[str, Any]
131
132
  @property
132
133
  def disabled(self) -> bool: ...
133
134
  @property
134
135
  def dict_repr(self) -> dict[str, Any]: ...
135
- @cached_property
136
136
  def json_repr(self) -> bytes | None: ...
137
- @cached_property
138
137
  def as_storage_fragment(self) -> json_fragment: ...
139
- def __init__(self, area_id, config_entries, configuration_url, connections, created_at, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, model_id, modified_at, name_by_user, name, primary_config_entry, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
138
+ def __init__(self, area_id, config_entries, configuration_url, connections, created_at, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, model_id, modified_at, name_by_user, name, primary_config_entry, serial_number, suggested_area, sw_version, via_device_id, is_new, cache) -> None: ...
140
139
  def __lt__(self, other): ...
141
140
  def __le__(self, other): ...
142
141
  def __gt__(self, other): ...
@@ -150,10 +149,10 @@ class DeletedDeviceEntry:
150
149
  orphaned_timestamp: float | None
151
150
  created_at: datetime
152
151
  modified_at: datetime
152
+ _cache: dict[str, Any]
153
153
  def to_device_entry(self, config_entry_id: str, connections: set[tuple[str, str]], identifiers: set[tuple[str, str]]) -> DeviceEntry: ...
154
- @cached_property
155
154
  def as_storage_fragment(self) -> json_fragment: ...
156
- def __init__(self, config_entries, connections, identifiers, id, orphaned_timestamp, created_at, modified_at) -> None: ...
155
+ def __init__(self, config_entries, connections, identifiers, id, orphaned_timestamp, created_at, modified_at, cache) -> None: ...
157
156
  def __lt__(self, other): ...
158
157
  def __le__(self, other): ...
159
158
  def __gt__(self, other): ...
@@ -164,7 +163,7 @@ def format_mac(mac: str) -> str: ...
164
163
  class DeviceRegistryStore(storage.Store[dict[str, list[dict[str, Any]]]]):
165
164
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, list[dict[str, Any]]]) -> dict[str, Any]: ...
166
165
 
167
- class DeviceRegistryItems(BaseRegistryItems[_EntryTypeT]):
166
+ class DeviceRegistryItems[_EntryTypeT: (DeviceEntry, DeletedDeviceEntry)](BaseRegistryItems[_EntryTypeT]):
168
167
  _connections: Incomplete
169
168
  _identifiers: Incomplete
170
169
  def __init__(self) -> None: ...
@@ -195,7 +194,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
195
194
  def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
196
195
  def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
197
196
  def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., created_at: str | datetime | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., model_id: str | None | UndefinedType = ..., modified_at: str | datetime | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
198
- def async_update_device(self, device_id: str, *, add_config_entry: ConfigEntry | UndefinedType = ..., add_config_entry_id: str | UndefinedType = ..., allow_collisions: bool = False, area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., device_info_type: str | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., model_id: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
197
+ def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., allow_collisions: bool = False, area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., device_info_type: str | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., model_id: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
199
198
  def _validate_connections(self, device_id: str, connections: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
200
199
  def _validate_identifiers(self, device_id: str, identifiers: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
201
200
  def async_remove_device(self, device_id: str) -> None: ...
@@ -1,7 +1,7 @@
1
1
  import dataclasses
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Coroutine
4
- from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
4
+ from homeassistant.config_entries import ConfigFlowContext as ConfigFlowContext, ConfigFlowResult as ConfigFlowResult
5
5
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
6
6
  from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.loader import bind_hass as bind_hass
@@ -21,15 +21,15 @@ class DiscoveryKey:
21
21
  def from_json_dict(cls, json_dict: dict[str, Any]) -> Self: ...
22
22
  def __init__(self, *, domain, key, version) -> None: ...
23
23
 
24
- def async_create_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any, *, discovery_key: DiscoveryKey | None = None) -> None: ...
25
- def _async_init_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any) -> Coroutine[None, None, ConfigFlowResult] | None: ...
24
+ def async_create_flow(hass: HomeAssistant, domain: str, context: ConfigFlowContext, data: Any, *, discovery_key: DiscoveryKey | None = None) -> None: ...
25
+ def _async_init_flow(hass: HomeAssistant, domain: str, context: ConfigFlowContext, data: Any) -> Coroutine[None, None, ConfigFlowResult] | None: ...
26
26
 
27
27
  class PendingFlowKey(NamedTuple):
28
28
  domain: str
29
29
  source: str
30
30
 
31
31
  class PendingFlowValue(NamedTuple):
32
- context: dict[str, Any]
32
+ context: ConfigFlowContext
33
33
  data: Any
34
34
 
35
35
  class FlowDispatcher:
@@ -39,4 +39,4 @@ class FlowDispatcher:
39
39
  def __init__(self, hass: HomeAssistant) -> None: ...
40
40
  def async_setup(self) -> None: ...
41
41
  async def _async_start(self, event: Event) -> None: ...
42
- def async_create(self, domain: str, context: dict[str, Any], data: Any) -> None: ...
42
+ def async_create(self, domain: str, context: ConfigFlowContext, data: Any) -> None: ...
@@ -9,24 +9,25 @@ from typing import Any, overload
9
9
 
10
10
  _LOGGER: Incomplete
11
11
  DATA_DISPATCHER: str
12
+ type _DispatcherDataType[*_Ts] = dict[SignalType[*_Ts] | str, dict[Callable[[*_Ts], Any] | Callable[..., Any], HassJob[..., None | Coroutine[Any, Any, None]] | None]]
12
13
 
13
14
  @overload
14
- def dispatcher_connect(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], target: Callable[[Unpack[_Ts]], None]) -> Callable[[], None]: ...
15
+ def dispatcher_connect[*_Ts](hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], target: Callable[[Unpack[_Ts]], None]) -> Callable[[], None]: ...
15
16
  @overload
16
17
  def dispatcher_connect(hass: HomeAssistant, signal: str, target: Callable[..., None]) -> Callable[[], None]: ...
17
- def _async_remove_dispatcher(dispatchers: _DispatcherDataType[Unpack[_Ts]], signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> None: ...
18
+ def _async_remove_dispatcher[*_Ts](dispatchers: _DispatcherDataType[Unpack[_Ts]], signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> None: ...
18
19
  @overload
19
- def async_dispatcher_connect(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], target: Callable[[Unpack[_Ts]], Any]) -> Callable[[], None]: ...
20
+ def async_dispatcher_connect[*_Ts](hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], target: Callable[[Unpack[_Ts]], Any]) -> Callable[[], None]: ...
20
21
  @overload
21
22
  def async_dispatcher_connect(hass: HomeAssistant, signal: str, target: Callable[..., Any]) -> Callable[[], None]: ...
22
23
  @overload
23
- def dispatcher_send(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args: Unpack[_Ts]) -> None: ...
24
+ def dispatcher_send[*_Ts](hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args: Unpack[_Ts]) -> None: ...
24
25
  @overload
25
26
  def dispatcher_send(hass: HomeAssistant, signal: str, *args: Any) -> None: ...
26
- def _format_err(signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any], *args: Any) -> str: ...
27
- def _generate_job(signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> HassJob[..., Coroutine[Any, Any, None] | None]: ...
27
+ def _format_err[*_Ts](signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any], *args: Any) -> str: ...
28
+ def _generate_job[*_Ts](signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> HassJob[..., Coroutine[Any, Any, None] | None]: ...
28
29
  @overload
29
- def async_dispatcher_send(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args: Unpack[_Ts]) -> None: ...
30
+ def async_dispatcher_send[*_Ts](hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args: Unpack[_Ts]) -> None: ...
30
31
  @overload
31
32
  def async_dispatcher_send(hass: HomeAssistant, signal: str, *args: Any) -> None: ...
32
- def async_dispatcher_send_internal(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]] | str, *args: Unpack[_Ts]) -> None: ...
33
+ def async_dispatcher_send_internal[*_Ts](hass: HomeAssistant, signal: SignalType[Unpack[_Ts]] | str, *args: Unpack[_Ts]) -> None: ...