homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.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 (722) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/entity.pyi +2 -0
  30. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  31. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  32. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  33. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  34. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  35. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  36. homeassistant-stubs/components/backup/agent.pyi +6 -4
  37. homeassistant-stubs/components/backup/backup.pyi +1 -0
  38. homeassistant-stubs/components/backup/config.pyi +44 -1
  39. homeassistant-stubs/components/backup/http.pyi +7 -0
  40. homeassistant-stubs/components/backup/manager.pyi +42 -20
  41. homeassistant-stubs/components/backup/models.pyi +10 -3
  42. homeassistant-stubs/components/backup/store.pyi +7 -2
  43. homeassistant-stubs/components/backup/util.pyi +83 -0
  44. homeassistant-stubs/components/backup/websocket.pyi +5 -2
  45. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  46. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  47. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  48. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  49. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  50. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  51. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  52. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  54. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  55. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  56. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  57. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  58. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  59. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  60. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  61. homeassistant-stubs/components/bluetooth/const.pyi +4 -0
  62. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  63. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  64. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  65. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  66. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  67. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  68. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/button/__init__.pyi +1 -1
  71. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  72. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  73. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  74. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  75. homeassistant-stubs/components/canary/camera.pyi +3 -4
  76. homeassistant-stubs/components/canary/const.pyi +0 -2
  77. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  78. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  79. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  80. homeassistant-stubs/components/climate/const.pyi +1 -0
  81. homeassistant-stubs/components/climate/intent.pyi +9 -1
  82. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  83. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  84. homeassistant-stubs/components/cloud/const.pyi +0 -1
  85. homeassistant-stubs/components/config/core.pyi +1 -1
  86. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  87. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  88. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  89. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  90. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  91. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  92. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  93. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  94. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  95. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  96. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  97. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  98. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  99. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  100. homeassistant-stubs/components/date/__init__.pyi +1 -1
  101. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  102. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  103. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  104. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  105. homeassistant-stubs/components/deconz/button.pyi +2 -2
  106. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  107. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  108. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  109. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  110. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  111. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  112. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  113. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  114. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  115. homeassistant-stubs/components/deconz/light.pyi +2 -2
  116. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  117. homeassistant-stubs/components/deconz/number.pyi +2 -2
  118. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  119. homeassistant-stubs/components/deconz/select.pyi +2 -3
  120. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  121. homeassistant-stubs/components/deconz/services.pyi +2 -1
  122. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  123. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  124. homeassistant-stubs/components/deconz/util.pyi +7 -0
  125. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  126. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  127. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  128. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  129. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  130. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  131. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  132. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  133. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  134. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  135. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  136. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  137. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  138. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  139. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  140. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  141. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  142. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  143. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  144. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  145. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  146. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  147. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  148. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  151. homeassistant-stubs/components/eheimdigital/climate.pyi +38 -0
  152. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  153. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  154. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  155. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  156. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  157. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  158. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  159. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  160. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  161. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  162. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  163. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  164. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  165. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  167. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  168. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  169. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  170. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  171. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  172. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  173. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  174. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -0
  175. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  176. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  177. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  178. homeassistant-stubs/components/event/__init__.pyi +2 -2
  179. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  180. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  181. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  182. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  183. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  184. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  185. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  186. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  187. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  188. homeassistant-stubs/components/filter/const.pyi +29 -0
  189. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  190. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  191. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  192. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  193. homeassistant-stubs/components/fritz/button.pyi +3 -4
  194. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  195. homeassistant-stubs/components/fritz/const.pyi +0 -3
  196. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  197. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  198. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  199. homeassistant-stubs/components/fritz/image.pyi +2 -4
  200. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  201. homeassistant-stubs/components/fritz/services.pyi +5 -8
  202. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  203. homeassistant-stubs/components/fritz/update.pyi +2 -4
  204. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  205. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  206. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  208. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  209. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  210. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  211. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  212. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  213. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  214. homeassistant-stubs/components/fyta/image.pyi +18 -0
  215. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  216. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  217. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  218. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  219. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  220. homeassistant-stubs/components/google_drive/application_credentials.pyi +5 -0
  221. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  222. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  223. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  224. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  225. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  226. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  227. homeassistant-stubs/components/habitica/button.pyi +53 -0
  228. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  229. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  230. homeassistant-stubs/components/habitica/const.pyi +44 -0
  231. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  232. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  233. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  234. homeassistant-stubs/components/habitica/image.pyi +26 -0
  235. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  236. homeassistant-stubs/components/habitica/services.pyi +24 -0
  237. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  238. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  239. homeassistant-stubs/components/habitica/types.pyi +10 -0
  240. homeassistant-stubs/components/habitica/util.pyi +15 -0
  241. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  242. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  243. homeassistant-stubs/components/heos/const.pyi +5 -0
  244. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  245. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  246. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  247. homeassistant-stubs/components/heos/services.pyi +16 -0
  248. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  249. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  250. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  251. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  252. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  253. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  254. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  255. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  256. homeassistant-stubs/components/homee/const.pyi +9 -0
  257. homeassistant-stubs/components/homee/cover.pyi +43 -0
  258. homeassistant-stubs/components/homee/entity.pyi +43 -0
  259. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  260. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  261. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  262. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  263. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  264. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  265. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  266. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  267. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  268. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  269. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  270. homeassistant-stubs/components/http/ban.pyi +0 -1
  271. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  272. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  273. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  274. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  275. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  276. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  277. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  278. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  279. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  280. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  281. homeassistant-stubs/components/image/__init__.pyi +1 -1
  282. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  283. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  284. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  285. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  286. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  287. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  288. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  289. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  290. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  291. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  292. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  293. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  294. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  295. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  296. homeassistant-stubs/components/intent/timers.pyi +1 -2
  297. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  298. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  299. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  300. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  301. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  302. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  303. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  304. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  305. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  306. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  307. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  308. homeassistant-stubs/components/knx/climate.pyi +10 -2
  309. homeassistant-stubs/components/knx/const.pyi +2 -0
  310. homeassistant-stubs/components/knx/entity.pyi +1 -1
  311. homeassistant-stubs/components/knx/light.pyi +1 -1
  312. homeassistant-stubs/components/knx/schema.pyi +5 -7
  313. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  314. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  315. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  316. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  317. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  318. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  319. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  320. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  321. homeassistant-stubs/components/lcn/const.pyi +1 -0
  322. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  323. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  324. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  325. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  326. homeassistant-stubs/components/letpot/const.pyi +6 -0
  327. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  328. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  329. homeassistant-stubs/components/letpot/time.pyi +33 -0
  330. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  331. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  332. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  333. homeassistant-stubs/components/light/__init__.pyi +1 -1
  334. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  335. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  336. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  337. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  338. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  339. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  340. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  341. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  342. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  343. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  344. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  345. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  346. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  347. homeassistant-stubs/components/logbook/models.pyi +1 -1
  348. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  349. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  350. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  351. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  352. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  353. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  354. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  355. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  356. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  357. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  358. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  359. homeassistant-stubs/components/matter/cover.pyi +0 -1
  360. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  361. homeassistant-stubs/components/matter/entity.pyi +11 -4
  362. homeassistant-stubs/components/matter/light.pyi +0 -1
  363. homeassistant-stubs/components/matter/lock.pyi +0 -2
  364. homeassistant-stubs/components/matter/models.pyi +10 -1
  365. homeassistant-stubs/components/matter/number.pyi +1 -1
  366. homeassistant-stubs/components/matter/select.pyi +32 -2
  367. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  368. homeassistant-stubs/components/matter/switch.pyi +15 -2
  369. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  370. homeassistant-stubs/components/matter/valve.pyi +0 -2
  371. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  372. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  373. homeassistant-stubs/components/mcp/const.pyi +1 -0
  374. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  375. homeassistant-stubs/components/mcp/types.pyi +4 -0
  376. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  377. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  378. homeassistant-stubs/components/mcp_server/const.pyi +2 -0
  379. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  380. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  381. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  382. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  383. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  384. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  385. homeassistant-stubs/components/media_source/models.pyi +1 -2
  386. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  387. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  388. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  389. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  390. homeassistant-stubs/components/modbus/const.pyi +4 -0
  391. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  392. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  393. homeassistant-stubs/components/modbus/light.pyi +0 -1
  394. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  395. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  396. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  397. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  398. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  399. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  400. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  401. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  402. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  403. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  404. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  405. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  406. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  407. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  408. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  409. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  410. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  411. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  412. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  413. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  414. homeassistant-stubs/components/nest/api.pyi +2 -2
  415. homeassistant-stubs/components/nest/climate.pyi +2 -0
  416. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  417. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  418. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  419. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  420. homeassistant-stubs/components/network/system_health.pyi +11 -0
  421. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  422. homeassistant-stubs/components/number/__init__.pyi +2 -2
  423. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  424. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  425. homeassistant-stubs/components/onedrive/__init__.pyi +25 -0
  426. homeassistant-stubs/components/onedrive/api.pyi +20 -0
  427. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  428. homeassistant-stubs/components/onedrive/backup.pyi +40 -0
  429. homeassistant-stubs/components/onedrive/config_flow.pyi +19 -0
  430. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  431. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  432. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  433. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  434. homeassistant-stubs/components/onewire/const.pyi +0 -2
  435. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  436. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  437. homeassistant-stubs/components/onewire/select.pyi +27 -0
  438. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  439. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  440. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  441. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  442. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  443. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  444. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  445. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  446. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  447. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  448. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  449. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  450. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  451. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  452. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  453. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  454. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  455. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  456. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  457. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  458. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  459. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  460. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  461. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  462. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  463. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  464. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  465. homeassistant-stubs/components/person/__init__.pyi +103 -0
  466. homeassistant-stubs/components/person/const.pyi +1 -0
  467. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  468. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  469. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  470. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  471. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  472. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  473. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  474. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  475. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  476. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  477. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  478. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  479. homeassistant-stubs/components/qbus/const.pyi +7 -0
  480. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  481. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  482. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  483. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  484. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  485. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  486. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  487. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  488. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  489. homeassistant-stubs/components/recorder/const.pyi +0 -2
  490. homeassistant-stubs/components/recorder/core.pyi +2 -2
  491. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  492. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  493. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  494. homeassistant-stubs/components/recorder/util.pyi +1 -7
  495. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  496. homeassistant-stubs/components/reolink/__init__.pyi +1 -0
  497. homeassistant-stubs/components/reolink/config_flow.pyi +6 -2
  498. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  499. homeassistant-stubs/components/reolink/host.pyi +3 -0
  500. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  501. homeassistant-stubs/components/reolink/util.pyi +2 -5
  502. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  503. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  504. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  505. homeassistant-stubs/components/ring/button.pyi +1 -0
  506. homeassistant-stubs/components/ring/camera.pyi +1 -0
  507. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  508. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  509. homeassistant-stubs/components/ring/entity.pyi +1 -2
  510. homeassistant-stubs/components/ring/event.pyi +2 -0
  511. homeassistant-stubs/components/ring/light.pyi +1 -0
  512. homeassistant-stubs/components/ring/number.pyi +2 -0
  513. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  514. homeassistant-stubs/components/ring/siren.pyi +1 -0
  515. homeassistant-stubs/components/ring/switch.pyi +1 -0
  516. homeassistant-stubs/components/roborock/__init__.pyi +2 -0
  517. homeassistant-stubs/components/roborock/const.pyi +4 -0
  518. homeassistant-stubs/components/roborock/coordinator.pyi +8 -4
  519. homeassistant-stubs/components/roborock/image.pyi +10 -11
  520. homeassistant-stubs/components/roborock/roborock_storage.pyi +21 -0
  521. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  522. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  523. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  524. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  525. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  526. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  527. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  528. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  529. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  530. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  531. homeassistant-stubs/components/script/__init__.pyi +1 -1
  532. homeassistant-stubs/components/select/__init__.pyi +2 -2
  533. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  534. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  535. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  536. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  537. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  538. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  539. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  540. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  541. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  542. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  543. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  544. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  545. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  546. homeassistant-stubs/components/shelly/const.pyi +3 -0
  547. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  548. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  549. homeassistant-stubs/components/shelly/number.pyi +21 -13
  550. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  551. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  552. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  553. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  554. homeassistant-stubs/components/slack/entity.pyi +3 -5
  555. homeassistant-stubs/components/slack/notify.pyi +4 -2
  556. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  557. homeassistant-stubs/components/slack/utils.pyi +6 -0
  558. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  559. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  560. homeassistant-stubs/components/smlight/config_flow.pyi +2 -2
  561. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  562. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  563. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  564. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  565. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  566. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  567. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  568. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  569. homeassistant-stubs/components/stream/const.pyi +9 -1
  570. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  571. homeassistant-stubs/components/stream/worker.pyi +4 -5
  572. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  573. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  574. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  575. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  576. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  577. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  578. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  579. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  580. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  581. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  582. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  583. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  584. homeassistant-stubs/components/synology_dsm/backup.pyi +34 -0
  585. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  586. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  587. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  588. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  589. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  590. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  591. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  592. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  593. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  594. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  595. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/text/__init__.pyi +1 -1
  597. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  598. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  599. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  600. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  601. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  602. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  603. homeassistant-stubs/components/tile/entity.pyi +13 -0
  604. homeassistant-stubs/components/time/__init__.pyi +1 -1
  605. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  606. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  607. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  608. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  609. homeassistant-stubs/components/tplink/button.pyi +2 -1
  610. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  611. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  612. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  613. homeassistant-stubs/components/tplink/const.pyi +1 -1
  614. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  615. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  616. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  617. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  618. homeassistant-stubs/components/tplink/light.pyi +22 -11
  619. homeassistant-stubs/components/tplink/number.pyi +1 -0
  620. homeassistant-stubs/components/tplink/select.pyi +1 -0
  621. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  622. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  623. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  624. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  625. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  626. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  627. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  628. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  629. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  630. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  631. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  632. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  633. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  635. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  636. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  638. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  639. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  640. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  641. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  642. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  643. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  644. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  645. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  646. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  647. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  648. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  649. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  650. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  651. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  652. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  653. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  654. homeassistant-stubs/components/update/__init__.pyi +2 -2
  655. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  656. homeassistant-stubs/components/usb/models.pyi +1 -1
  657. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  658. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  659. homeassistant-stubs/components/velbus/const.pyi +1 -0
  660. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  661. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  662. homeassistant-stubs/components/velbus/services.pyi +5 -1
  663. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  664. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  665. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  666. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  667. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  668. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  669. homeassistant-stubs/components/webostv/const.pyi +0 -1
  670. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  671. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  672. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  673. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  674. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  675. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  676. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  677. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  678. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  679. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  680. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  681. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  682. homeassistant-stubs/config_entries.pyi +7 -9
  683. homeassistant-stubs/const.pyi +2 -0
  684. homeassistant-stubs/core.pyi +2 -3
  685. homeassistant-stubs/core_config.pyi +3 -3
  686. homeassistant-stubs/data_entry_flow.pyi +1 -2
  687. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  688. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  689. homeassistant-stubs/helpers/collection.pyi +5 -7
  690. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  691. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  692. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  693. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  694. homeassistant-stubs/helpers/entity.pyi +1 -1
  695. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  696. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  697. homeassistant-stubs/helpers/frame.pyi +1 -1
  698. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  699. homeassistant-stubs/helpers/intent.pyi +4 -2
  700. homeassistant-stubs/helpers/llm.pyi +17 -7
  701. homeassistant-stubs/helpers/script.pyi +1 -1
  702. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  703. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  704. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  705. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  706. homeassistant-stubs/helpers/singleton.pyi +6 -2
  707. homeassistant-stubs/helpers/storage.pyi +1 -1
  708. homeassistant-stubs/helpers/template.pyi +4 -4
  709. homeassistant-stubs/helpers/update_coordinator.pyi +3 -5
  710. homeassistant-stubs/loader.pyi +1 -1
  711. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  712. homeassistant-stubs/util/event_type.pyi +1 -2
  713. homeassistant-stubs/util/ulid.pyi +1 -1
  714. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  715. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  716. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/METADATA +4 -4
  717. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/RECORD +719 -584
  718. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  719. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  720. homeassistant-stubs/components/tplink/models.pyi +0 -10
  721. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/WHEEL +0 -0
  722. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -5,15 +5,17 @@ from .json import json_dumps as json_dumps
5
5
  from _typeshed import Incomplete
6
6
  from aiohttp import web
7
7
  from aiohttp.typedefs import JSONDecoder as JSONDecoder
8
+ from aiohttp_asyncmdnsresolver.api import AsyncMDNSResolver
8
9
  from collections.abc import Awaitable, Callable as Callable
9
10
  from homeassistant import config_entries as config_entries
11
+ from homeassistant.components import zeroconf as zeroconf
10
12
  from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, __version__ as __version__
11
13
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
14
  from homeassistant.loader import bind_hass as bind_hass
13
15
  from homeassistant.util import ssl as ssl_util
14
16
  from homeassistant.util.hass_dict import HassKey as HassKey
15
17
  from homeassistant.util.json import json_loads as json_loads
16
- from typing import Any
18
+ from typing import Any, Self
17
19
 
18
20
  DATA_CONNECTOR: HassKey[dict[tuple[bool, int, str], aiohttp.BaseConnector]]
19
21
  DATA_CLIENTSESSION: HassKey[dict[tuple[bool, int, str], aiohttp.ClientSession]]
@@ -26,6 +28,13 @@ MAXIMUM_CONNECTIONS_PER_HOST: int
26
28
  class HassClientResponse(aiohttp.ClientResponse):
27
29
  async def json(self, *args: Any, loads: JSONDecoder = ..., **kwargs: Any) -> Any: ...
28
30
 
31
+ class ChunkAsyncStreamIterator:
32
+ __slots__: Incomplete
33
+ _stream: Incomplete
34
+ def __init__(self, stream: aiohttp.StreamReader) -> None: ...
35
+ def __aiter__(self) -> Self: ...
36
+ async def __anext__(self) -> bytes: ...
37
+
29
38
  @callback
30
39
  @bind_hass
31
40
  def async_get_clientsession(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.ClientSession: ...
@@ -50,3 +59,5 @@ class HomeAssistantTCPConnector(aiohttp.TCPConnector):
50
59
 
51
60
  @callback
52
61
  def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.BaseConnector: ...
62
+ @callback
63
+ def _async_make_resolver(hass: HomeAssistant) -> AsyncMDNSResolver: ...
@@ -7,11 +7,12 @@ from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
7
7
  from _typeshed import Incomplete
8
8
  from collections.abc import Iterable
9
9
  from dataclasses import dataclass, field
10
+ from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
12
  from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp, utcnow as utcnow
12
13
  from homeassistant.util.event_type import EventType as EventType
13
14
  from homeassistant.util.hass_dict import HassKey as HassKey
14
- from propcache import cached_property as under_cached_property
15
+ from propcache.api import cached_property as under_cached_property
15
16
  from typing import Any, Literal, TypedDict
16
17
 
17
18
  DATA_REGISTRY: HassKey[AreaRegistry]
@@ -23,11 +24,13 @@ STORAGE_VERSION_MINOR: int
23
24
  class _AreaStoreData(TypedDict):
24
25
  aliases: list[str]
25
26
  floor_id: str | None
27
+ humidity_entity_id: str | None
26
28
  icon: str | None
27
29
  id: str
28
30
  labels: list[str]
29
31
  name: str
30
32
  picture: str | None
33
+ temperature_entity_id: str | None
31
34
  created_at: str
32
35
  modified_at: str
33
36
 
@@ -42,10 +45,12 @@ class EventAreaRegistryUpdatedData(TypedDict):
42
45
  class AreaEntry(NormalizedNameBaseRegistryEntry):
43
46
  aliases: set[str]
44
47
  floor_id: str | None
48
+ humidity_entity_id: str | None
45
49
  icon: str | None
46
50
  id: str
47
51
  labels: set[str] = field(default_factory=set)
48
52
  picture: str | None
53
+ temperature_entity_id: str | None
49
54
  _cache: dict[str, Any] = field(default_factory=dict, compare=False, init=False)
50
55
  @under_cached_property
51
56
  def json_fragment(self) -> json_fragment: ...
@@ -78,13 +83,13 @@ class AreaRegistry(BaseRegistry[AreasRegistryStoreData]):
78
83
  def async_get_or_create(self, name: str) -> AreaEntry: ...
79
84
  def _generate_id(self, name: str) -> str: ...
80
85
  @callback
81
- 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: ...
86
+ def async_create(self, name: str, *, aliases: set[str] | None = None, floor_id: str | None = None, humidity_entity_id: str | None = None, icon: str | None = None, labels: set[str] | None = None, picture: str | None = None, temperature_entity_id: str | None = None) -> AreaEntry: ...
82
87
  @callback
83
88
  def async_delete(self, area_id: str) -> None: ...
84
89
  @callback
85
- 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: ...
90
+ def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., humidity_entity_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ..., temperature_entity_id: str | None | UndefinedType = ...) -> AreaEntry: ...
86
91
  @callback
87
- 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: ...
92
+ def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., humidity_entity_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ..., temperature_entity_id: str | None | UndefinedType = ...) -> AreaEntry: ...
88
93
  async def async_load(self) -> None: ...
89
94
  @callback
90
95
  def _data_to_save(self) -> AreasRegistryStoreData: ...
@@ -98,3 +103,5 @@ async def async_load(hass: HomeAssistant) -> None: ...
98
103
  def async_entries_for_floor(registry: AreaRegistry, floor_id: str) -> list[AreaEntry]: ...
99
104
  @callback
100
105
  def async_entries_for_label(registry: AreaRegistry, label_id: str) -> list[AreaEntry]: ...
106
+ def _validate_temperature_entity(hass: HomeAssistant, entity_id: str) -> None: ...
107
+ def _validate_humidity_entity(hass: HomeAssistant, entity_id: str) -> None: ...
@@ -7,7 +7,7 @@ from .json import json_bytes as json_bytes
7
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
- from abc import ABC, abstractmethod
10
+ from abc import abstractmethod
11
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
@@ -15,15 +15,13 @@ from homeassistant.const import CONF_ID as CONF_ID
15
15
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
16
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
17
17
  from homeassistant.util import slugify as slugify
18
- from typing import Any, Generic, TypedDict
19
- from typing_extensions import TypeVar
18
+ from typing import Any, TypedDict
20
19
 
21
20
  STORAGE_VERSION: int
22
21
  SAVE_DELAY: int
23
22
  CHANGE_ADDED: str
24
23
  CHANGE_UPDATED: str
25
24
  CHANGE_REMOVED: str
26
- _EntityT = TypeVar('_EntityT', bound=Entity, default=Entity)
27
25
 
28
26
  @dataclass(slots=True)
29
27
  class CollectionChange:
@@ -57,7 +55,7 @@ class CollectionEntity(Entity, metaclass=abc.ABCMeta):
57
55
  @abstractmethod
58
56
  async def async_update_config(self, config: ConfigType) -> None: ...
59
57
 
60
- class ObservableCollection[_ItemT](ABC):
58
+ class ObservableCollection[_ItemT]:
61
59
  id_manager: Incomplete
62
60
  data: dict[str, _ItemT]
63
61
  listeners: list[ChangeListener]
@@ -129,7 +127,7 @@ class IDLessCollection(YamlCollection):
129
127
  _GROUP_BY_KEY: Incomplete
130
128
 
131
129
  @dataclass(slots=True, frozen=True)
132
- class _CollectionLifeCycle(Generic[_EntityT]):
130
+ class _CollectionLifeCycle[_EntityT: Entity = Entity]:
133
131
  domain: str
134
132
  platform: str
135
133
  entity_component: EntityComponent[_EntityT]
@@ -147,7 +145,7 @@ class _CollectionLifeCycle(Generic[_EntityT]):
147
145
  async def _collection_changed(self, change_set: Iterable[CollectionChange]) -> None: ...
148
146
 
149
147
  @callback
150
- def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
148
+ def sync_entity_lifecycle[_EntityT: Entity = Entity](hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
151
149
 
152
150
  class StorageCollectionWebsocket[_StorageCollectionT: StorageCollection]:
153
151
  storage_collection: Incomplete
@@ -1,13 +1,13 @@
1
+ from .service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
1
2
  from .service_info.mqtt import MqttServiceInfo as MqttServiceInfo
3
+ from .service_info.ssdp import SsdpServiceInfo as SsdpServiceInfo
4
+ from .service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
2
5
  from .typing import DiscoveryInfoType as DiscoveryInfoType
3
6
  from _typeshed import Incomplete
4
7
  from collections.abc import Awaitable, Callable
5
8
  from homeassistant import config_entries as config_entries
6
9
  from homeassistant.components import onboarding as onboarding
7
10
  from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
8
- from homeassistant.components.dhcp import DhcpServiceInfo as DhcpServiceInfo
9
- from homeassistant.components.ssdp import SsdpServiceInfo as SsdpServiceInfo
10
- from homeassistant.components.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from typing import Any
13
13
 
@@ -3,8 +3,7 @@ from aiohttp import web as web
3
3
  from homeassistant import data_entry_flow as data_entry_flow
4
4
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
5
5
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
6
- from typing import Any, Generic
7
- from typing_extensions import TypeVar
6
+ from typing import Any, Generic, TypeVar
8
7
 
9
8
  _FlowManagerT = TypeVar('_FlowManagerT', bound=data_entry_flow.FlowManager[Any, Any], default=data_entry_flow.FlowManager)
10
9
 
@@ -1,7 +1,7 @@
1
1
  import functools
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
- from enum import Enum, EnumType, _EnumDict
4
+ from enum import EnumType, IntEnum, IntFlag, StrEnum, _EnumDict
5
5
  from typing import Any, NamedTuple
6
6
 
7
7
  def deprecated_substitute[_ObjectT: object](substitute_name: str) -> Callable[[Callable[[_ObjectT], Any]], Callable[[_ObjectT], Any]]: ...
@@ -18,7 +18,7 @@ class DeprecatedConstant(NamedTuple):
18
18
  breaks_in_ha_version: str | None
19
19
 
20
20
  class DeprecatedConstantEnum(NamedTuple):
21
- enum: Enum
21
+ enum: StrEnum | IntEnum | IntFlag
22
22
  breaks_in_ha_version: str | None
23
23
 
24
24
  class DeprecatedAlias(NamedTuple):
@@ -18,7 +18,7 @@ from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp, utcn
18
18
  from homeassistant.util.event_type import EventType as EventType
19
19
  from homeassistant.util.hass_dict import HassKey as HassKey
20
20
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
21
- from propcache import cached_property as under_cached_property
21
+ from propcache.api import cached_property as under_cached_property
22
22
  from typing import Any, Literal, TypedDict
23
23
  from yarl import URL
24
24
 
@@ -19,7 +19,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, I
19
19
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
20
20
  from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
21
21
  from homeassistant.util.frozen_dataclass_compat import FrozenOrThawed as FrozenOrThawed
22
- from propcache import cached_property
22
+ from propcache.api import cached_property
23
23
  from typing import Any, Final, Literal, NotRequired, TypedDict, final
24
24
 
25
25
  timer = time.time
@@ -12,17 +12,15 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
12
  from homeassistant.loader import async_get_integration as async_get_integration, bind_hass as bind_hass
13
13
  from homeassistant.setup import async_prepare_setup_platform as async_prepare_setup_platform
14
14
  from types import ModuleType
15
- from typing import Any, Generic
16
- from typing_extensions import TypeVar
15
+ from typing import Any
17
16
 
18
17
  DEFAULT_SCAN_INTERVAL: Incomplete
19
18
  DATA_INSTANCES: str
20
- _EntityT = TypeVar('_EntityT', bound=entity.Entity, default=entity.Entity)
21
19
 
22
20
  @bind_hass
23
21
  async def async_update_entity(hass: HomeAssistant, entity_id: str) -> None: ...
24
22
 
25
- class EntityComponent(Generic[_EntityT]):
23
+ class EntityComponent[_EntityT: entity.Entity = entity.Entity]:
26
24
  logger: Incomplete
27
25
  hass: Incomplete
28
26
  domain: Incomplete
@@ -19,7 +19,7 @@ from homeassistant.util.event_type import EventType as EventType
19
19
  from homeassistant.util.hass_dict import HassKey as HassKey
20
20
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
21
21
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
22
- from propcache import cached_property as under_cached_property
22
+ from propcache.api import cached_property as under_cached_property
23
23
  from typing import Any, Literal, NotRequired, TypedDict
24
24
 
25
25
  DATA_REGISTRY: HassKey[EntityRegistry]
@@ -161,7 +161,7 @@ class EntityRegistryItems(BaseRegistryItems[RegistryEntry]):
161
161
  def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
162
162
  def get_entries_for_label(self, label: str) -> list[RegistryEntry]: ...
163
163
 
164
- def _validate_item(hass: HomeAssistant, domain: str, platform: str, *, disabled_by: RegistryEntryDisabler | None | UndefinedType = None, entity_category: EntityCategory | None | UndefinedType = None, hidden_by: RegistryEntryHider | None | UndefinedType = None, report_non_string_unique_id: bool = True, unique_id: str | Hashable | UndefinedType | Any) -> None: ...
164
+ def _validate_item(hass: HomeAssistant, domain: str, platform: str, *, config_entry_id: str | None | UndefinedType = None, device_id: str | None | UndefinedType = None, disabled_by: RegistryEntryDisabler | None | UndefinedType = None, entity_category: EntityCategory | None | UndefinedType = None, hidden_by: RegistryEntryHider | None | UndefinedType = None, report_non_string_unique_id: bool = True, unique_id: str | Hashable | UndefinedType | Any) -> None: ...
165
165
 
166
166
  class EntityRegistry(BaseRegistry):
167
167
  deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
@@ -6,7 +6,7 @@ from dataclasses import dataclass
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass_or_none as async_get_hass_or_none
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from homeassistant.loader import Integration as Integration, async_get_issue_integration as async_get_issue_integration, async_suggest_report_issue as async_suggest_report_issue
9
- from propcache import cached_property
9
+ from propcache.api import cached_property
10
10
  from types import FrameType
11
11
 
12
12
  _LOGGER: Incomplete
@@ -7,6 +7,7 @@ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, c
7
7
  from homeassistant.loader import bind_hass as bind_hass
8
8
  from homeassistant.util.hass_dict import HassKey as HassKey
9
9
  from homeassistant.util.ssl import SSLCipherList as SSLCipherList, client_context as client_context, create_no_verify_ssl_context as create_no_verify_ssl_context
10
+ from types import TracebackType
10
11
  from typing import Any, Self
11
12
 
12
13
  KEEP_ALIVE_TIMEOUT: int
@@ -23,7 +24,7 @@ def get_async_client(hass: HomeAssistant, verify_ssl: bool = True) -> httpx.Asyn
23
24
 
24
25
  class HassHttpXAsyncClient(httpx.AsyncClient):
25
26
  async def __aenter__(self) -> Self: ...
26
- async def __aexit__(self, *args: object) -> None: ...
27
+ async def __aexit__(self, exc_type: type[BaseException] | None = None, exc_value: BaseException | None = None, traceback: TracebackType | None = None) -> None: ...
27
28
 
28
29
  @callback
29
30
  def create_async_httpx_client(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, ssl_cipher_list: SSLCipherList = ..., **kwargs: Any) -> httpx.AsyncClient: ...
@@ -14,7 +14,7 @@ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistan
14
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
15
15
  from homeassistant.loader import bind_hass as bind_hass
16
16
  from homeassistant.util.hass_dict import HassKey as HassKey
17
- from propcache import cached_property
17
+ from propcache.api import cached_property
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
@@ -37,6 +37,7 @@ INTENT_TIMER_STATUS: str
37
37
  INTENT_GET_CURRENT_DATE: str
38
38
  INTENT_GET_CURRENT_TIME: str
39
39
  INTENT_RESPOND: str
40
+ INTENT_BROADCAST: str
40
41
  SLOT_SCHEMA: Incomplete
41
42
  DATA_KEY: HassKey[dict[str, IntentHandler]]
42
43
  SPEECH_TYPE_PLAIN: str
@@ -75,6 +76,7 @@ class MatchFailedReason(Enum):
75
76
  INVALID_AREA = ...
76
77
  INVALID_FLOOR = ...
77
78
  DUPLICATE_NAME = ...
79
+ MULTIPLE_TARGETS = ...
78
80
  def is_no_entities_reason(self) -> bool: ...
79
81
 
80
82
  @dataclass
@@ -88,6 +90,7 @@ class MatchTargetsConstraints:
88
90
  states: Collection[str] | None = ...
89
91
  assistant: str | None = ...
90
92
  allow_duplicate_names: bool = ...
93
+ single_target: bool = ...
91
94
  @property
92
95
  def has_constraints(self) -> bool: ...
93
96
 
@@ -121,7 +124,6 @@ class MatchTargetsCandidate:
121
124
  is_exposed: bool
122
125
  entity: entity_registry.RegistryEntry | None = ...
123
126
  area: area_registry.AreaEntry | None = ...
124
- floor: floor_registry.FloorEntry | None = ...
125
127
  device: device_registry.DeviceEntry | None = ...
126
128
  matched_name: str | None = ...
127
129
 
@@ -6,8 +6,8 @@ from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
9
+ from homeassistant.components.calendar import SERVICE_GET_EVENTS as SERVICE_GET_EVENTS
9
10
  from homeassistant.components.climate import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
10
- from homeassistant.components.conversation import ConversationTraceEventType as ConversationTraceEventType, async_conversation_trace_append as async_conversation_trace_append
11
11
  from homeassistant.components.cover import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
12
12
  from homeassistant.components.homeassistant import async_should_expose as async_should_expose
13
13
  from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
@@ -15,12 +15,11 @@ from homeassistant.components.weather import INTENT_GET_WEATHER as INTENT_GET_WE
15
15
  from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_SERVICE as ATTR_SERVICE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED
16
16
  from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
17
17
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
18
- from homeassistant.util import yaml as yaml
19
18
  from homeassistant.util.hass_dict import HassKey as HassKey
20
19
  from homeassistant.util.json import JsonObjectType as JsonObjectType
21
20
  from typing import Any
22
21
 
23
- SCRIPT_PARAMETERS_CACHE: HassKey[dict[str, tuple[str | None, vol.Schema]]]
22
+ ACTION_PARAMETERS_CACHE: HassKey[dict[str, dict[str, tuple[str | None, vol.Schema]]]]
24
23
  LLM_API_ASSIST: str
25
24
  BASE_PROMPT: str
26
25
  DEFAULT_INSTRUCTIONS_PROMPT: str
@@ -30,7 +29,7 @@ def async_render_no_api_prompt(hass: HomeAssistant) -> str: ...
30
29
  @callback
31
30
  def _async_get_apis(hass: HomeAssistant) -> dict[str, API]: ...
32
31
  @callback
33
- def async_register_api(hass: HomeAssistant, api: API) -> None: ...
32
+ def async_register_api(hass: HomeAssistant, api: API) -> Callable[[], None]: ...
34
33
  async def async_get_api(hass: HomeAssistant, api_id: str, llm_context: LLMContext) -> APIInstance: ...
35
34
  @callback
36
35
  def async_get_apis(hass: HomeAssistant) -> list[API]: ...
@@ -94,10 +93,21 @@ class AssistAPI(API):
94
93
 
95
94
  def _get_exposed_entities(hass: HomeAssistant, assistant: str) -> dict[str, dict[str, Any]]: ...
96
95
  def _selector_serializer(schema: Any) -> Any: ...
97
- def _get_cached_script_parameters(hass: HomeAssistant, entity_id: str) -> tuple[str | None, vol.Schema]: ...
96
+ def _get_cached_action_parameters(hass: HomeAssistant, domain: str, action: str) -> tuple[str | None, vol.Schema]: ...
98
97
 
99
- class ScriptTool(Tool):
100
- _object_id: Incomplete
98
+ class ActionTool(Tool):
99
+ _domain: Incomplete
100
+ _action: Incomplete
101
+ name: Incomplete
102
+ def __init__(self, hass: HomeAssistant, domain: str, action: str) -> None: ...
103
+ async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
104
+
105
+ class ScriptTool(ActionTool):
101
106
  name: Incomplete
102
107
  def __init__(self, hass: HomeAssistant, script_entity_id: str) -> None: ...
108
+
109
+ class CalendarGetEventsTool(Tool):
110
+ name: str
111
+ description: str
112
+ parameters: Incomplete
103
113
  async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
@@ -26,7 +26,7 @@ from homeassistant.util.async_ import create_eager_task as create_eager_task
26
26
  from homeassistant.util.dt import utcnow as utcnow
27
27
  from homeassistant.util.hass_dict import HassKey as HassKey
28
28
  from homeassistant.util.signal_type import SignalType as SignalType, SignalTypeFormat as SignalTypeFormat
29
- from propcache import cached_property
29
+ from propcache.api import cached_property
30
30
  from types import MappingProxyType
31
31
  from typing import Any, Literal, TypedDict, overload
32
32
 
@@ -0,0 +1,8 @@
1
+ from dataclasses import dataclass
2
+ from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
3
+
4
+ @dataclass(slots=True)
5
+ class DhcpServiceInfo(BaseServiceInfo):
6
+ ip: str
7
+ hostname: str
8
+ macaddress: str
@@ -0,0 +1,34 @@
1
+ from collections.abc import Mapping
2
+ from dataclasses import dataclass, field
3
+ from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
4
+ from typing import Any, Final
5
+
6
+ ATTR_ST: Final[str]
7
+ ATTR_NT: Final[str]
8
+ ATTR_UPNP_DEVICE_TYPE: Final[str]
9
+ ATTR_UPNP_FRIENDLY_NAME: Final[str]
10
+ ATTR_UPNP_MANUFACTURER: Final[str]
11
+ ATTR_UPNP_MANUFACTURER_URL: Final[str]
12
+ ATTR_UPNP_MODEL_DESCRIPTION: Final[str]
13
+ ATTR_UPNP_MODEL_NAME: Final[str]
14
+ ATTR_UPNP_MODEL_NUMBER: Final[str]
15
+ ATTR_UPNP_MODEL_URL: Final[str]
16
+ ATTR_UPNP_SERIAL: Final[str]
17
+ ATTR_UPNP_SERVICE_LIST: Final[str]
18
+ ATTR_UPNP_UDN: Final[str]
19
+ ATTR_UPNP_UPC: Final[str]
20
+ ATTR_UPNP_PRESENTATION_URL: Final[str]
21
+
22
+ @dataclass(slots=True)
23
+ class SsdpServiceInfo(BaseServiceInfo):
24
+ ssdp_usn: str
25
+ ssdp_st: str
26
+ upnp: Mapping[str, Any]
27
+ ssdp_location: str | None = ...
28
+ ssdp_nt: str | None = ...
29
+ ssdp_udn: str | None = ...
30
+ ssdp_ext: str | None = ...
31
+ ssdp_server: str | None = ...
32
+ ssdp_headers: Mapping[str, Any] = field(default_factory=dict)
33
+ ssdp_all_locations: set[str] = field(default_factory=set)
34
+ x_homeassistant_matching_domains: set[str] = field(default_factory=set)
@@ -0,0 +1,11 @@
1
+ from dataclasses import dataclass
2
+ from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
3
+
4
+ @dataclass(slots=True)
5
+ class UsbServiceInfo(BaseServiceInfo):
6
+ device: str
7
+ vid: str
8
+ pid: str
9
+ serial_number: str | None
10
+ manufacturer: str | None
11
+ description: str | None
@@ -0,0 +1,20 @@
1
+ from dataclasses import dataclass
2
+ from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
3
+ from ipaddress import IPv4Address, IPv6Address
4
+ from typing import Any, Final
5
+
6
+ ATTR_PROPERTIES_ID: Final[str]
7
+
8
+ @dataclass(slots=True)
9
+ class ZeroconfServiceInfo(BaseServiceInfo):
10
+ ip_address: IPv4Address | IPv6Address
11
+ ip_addresses: list[IPv4Address | IPv6Address]
12
+ port: int | None
13
+ hostname: str
14
+ type: str
15
+ name: str
16
+ properties: dict[str, Any]
17
+ @property
18
+ def host(self) -> str: ...
19
+ @property
20
+ def addresses(self) -> list[str]: ...
@@ -1,11 +1,15 @@
1
- from collections.abc import Callable
1
+ from collections.abc import Callable, Coroutine
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
  from homeassistant.loader import bind_hass as bind_hass
4
4
  from homeassistant.util.hass_dict import HassKey as HassKey
5
- from typing import overload
5
+ from typing import Any, Literal, overload
6
6
 
7
7
  type _FuncType[_T] = Callable[[HomeAssistant], _T]
8
+ type _Coro[_T] = Coroutine[Any, Any, _T]
9
+ @overload
10
+ def singleton[_T](data_key: HassKey[_T], *, async_: Literal[True]) -> Callable[[_FuncType[_Coro[_T]]], _FuncType[_Coro[_T]]]: ...
8
11
  @overload
9
12
  def singleton[_T](data_key: HassKey[_T]) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
10
13
  @overload
11
14
  def singleton[_T](data_key: str) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
15
+ async def _test_singleton_typing(hass: HomeAssistant) -> None: ...
@@ -10,7 +10,7 @@ from homeassistant.util.file import WriteError as WriteError
10
10
  from homeassistant.util.hass_dict import HassKey as HassKey
11
11
  from json import JSONEncoder
12
12
  from pathlib import Path
13
- from propcache import cached_property
13
+ from propcache.api import cached_property
14
14
  from typing import Any
15
15
 
16
16
  MAX_LOAD_CONCURRENTLY: int
@@ -25,7 +25,7 @@ from homeassistant.util.thread import ThreadWithException as ThreadWithException
25
25
  from jinja2 import pass_context
26
26
  from jinja2.sandbox import ImmutableSandboxedEnvironment
27
27
  from lru import LRU
28
- from propcache import under_cached_property
28
+ from propcache.api import under_cached_property
29
29
  from types import CodeType, TracebackType
30
30
  from typing import Any, Literal, NoReturn, Self, overload
31
31
 
@@ -268,9 +268,9 @@ def _label_id_or_name(hass: HomeAssistant, label_id_or_name: str) -> str | None:
268
268
  def label_areas(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
269
269
  def label_devices(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
270
270
  def label_entities(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
271
- def closest(hass, *args): ...
272
- def closest_filter(hass, *args): ...
273
- def distance(hass, *args): ...
271
+ def closest(hass: HomeAssistant, *args: Any) -> State | None: ...
272
+ def closest_filter(hass: HomeAssistant, *args: Any) -> State | None: ...
273
+ def distance(hass: HomeAssistant, *args: Any) -> float | None: ...
274
274
  def is_hidden_entity(hass: HomeAssistant, entity_id: str) -> bool: ...
275
275
  def is_state(hass: HomeAssistant, entity_id: str, state: str | list[str]) -> bool: ...
276
276
  def is_state_attr(hass: HomeAssistant, entity_id: str, name: str, value: Any) -> bool: ...
@@ -14,14 +14,12 @@ from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_
14
14
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
15
15
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
16
16
  from homeassistant.util.dt import utcnow as utcnow
17
- from propcache import cached_property
18
- from typing import Any, Generic, Protocol
19
- from typing_extensions import TypeVar
17
+ from propcache.api import cached_property
18
+ from typing import Any, Generic, Protocol, TypeVar
20
19
 
21
20
  REQUEST_REFRESH_DEFAULT_COOLDOWN: int
22
21
  REQUEST_REFRESH_DEFAULT_IMMEDIATE: bool
23
22
  _DataT = TypeVar('_DataT', default=dict[str, Any])
24
- _DataUpdateCoordinatorT = TypeVar('_DataUpdateCoordinatorT', bound='DataUpdateCoordinator[Any]', default='DataUpdateCoordinator[dict[str, Any]]')
25
23
 
26
24
  class UpdateFailed(HomeAssistantError): ...
27
25
 
@@ -101,7 +99,7 @@ class BaseCoordinatorEntity[_BaseDataUpdateCoordinatorT: BaseDataUpdateCoordinat
101
99
  @abstractmethod
102
100
  async def async_update(self) -> None: ...
103
101
 
104
- class CoordinatorEntity(BaseCoordinatorEntity[_DataUpdateCoordinatorT]):
102
+ class CoordinatorEntity[_DataUpdateCoordinatorT: DataUpdateCoordinator[Any] = DataUpdateCoordinator[dict[str, Any]]](BaseCoordinatorEntity[_DataUpdateCoordinatorT]):
105
103
  def __init__(self, coordinator: _DataUpdateCoordinatorT, context: Any = None) -> None: ...
106
104
  @property
107
105
  def available(self) -> bool: ...
@@ -22,7 +22,7 @@ from _typeshed import Incomplete
22
22
  from awesomeversion import AwesomeVersion
23
23
  from collections.abc import Callable as Callable, Iterable
24
24
  from dataclasses import dataclass
25
- from propcache import cached_property
25
+ from propcache.api import cached_property
26
26
  from types import ModuleType
27
27
  from typing import Any, Literal, Protocol, TypedDict
28
28
 
@@ -11,18 +11,18 @@ def run(args) -> None: ...
11
11
  async def run_benchmark(bench) -> None: ...
12
12
  def benchmark[_CallableT: Callable](func: _CallableT) -> _CallableT: ...
13
13
  @benchmark
14
- async def fire_events(hass): ...
14
+ async def fire_events(hass: core.HomeAssistant) -> float: ...
15
15
  @benchmark
16
- async def fire_events_with_filter(hass): ...
16
+ async def fire_events_with_filter(hass: core.HomeAssistant) -> float: ...
17
17
  @benchmark
18
- async def state_changed_helper(hass): ...
18
+ async def state_changed_helper(hass: core.HomeAssistant) -> float: ...
19
19
  @benchmark
20
- async def state_changed_event_helper(hass): ...
20
+ async def state_changed_event_helper(hass: core.HomeAssistant) -> float: ...
21
21
  @benchmark
22
- async def state_changed_event_filter_helper(hass): ...
22
+ async def state_changed_event_filter_helper(hass: core.HomeAssistant) -> float: ...
23
23
  @benchmark
24
- async def filtering_entity_id(hass): ...
24
+ async def filtering_entity_id(hass: core.HomeAssistant) -> float: ...
25
25
  @benchmark
26
- async def valid_entity_id(hass): ...
26
+ async def valid_entity_id(hass: core.HomeAssistant) -> float: ...
27
27
  @benchmark
28
- async def json_serialize_states(hass): ...
28
+ async def json_serialize_states(hass: core.HomeAssistant) -> float: ...
@@ -1,6 +1,5 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, Generic
3
- from typing_extensions import TypeVar
2
+ from typing import Any, Generic, TypeVar
4
3
 
5
4
  __all__ = ['EventType']
6
5
 
@@ -1,5 +1,5 @@
1
1
  from ulid_transform import bytes_to_ulid as bytes_to_ulid, bytes_to_ulid_or_none as bytes_to_ulid_or_none, ulid_at_time as ulid_at_time, ulid_hex as ulid_hex, ulid_now as ulid_now, ulid_to_bytes as ulid_to_bytes, ulid_to_bytes_or_none as ulid_to_bytes_or_none
2
2
 
3
- __all__ = ['ulid', 'ulid_hex', 'ulid_at_time', 'ulid_to_bytes', 'bytes_to_ulid', 'ulid_now', 'ulid_to_bytes_or_none', 'bytes_to_ulid_or_none']
3
+ __all__ = ['bytes_to_ulid', 'bytes_to_ulid_or_none', 'ulid', 'ulid_at_time', 'ulid_hex', 'ulid_now', 'ulid_to_bytes', 'ulid_to_bytes_or_none']
4
4
 
5
5
  def ulid(timestamp: float | None = None) -> str: ...
@@ -4,4 +4,4 @@ from .input import UndefinedSubstitution as UndefinedSubstitution, extract_input
4
4
  from .loader import Secrets as Secrets, YamlTypeError as YamlTypeError, load_yaml as load_yaml, load_yaml_dict as load_yaml_dict, parse_yaml as parse_yaml, secret_yaml as secret_yaml
5
5
  from .objects import Input as Input
6
6
 
7
- __all__ = ['SECRET_YAML', 'Input', 'dump', 'save_yaml', 'Secrets', 'YamlTypeError', 'load_yaml', 'load_yaml_dict', 'secret_yaml', 'parse_yaml', 'UndefinedSubstitution', 'extract_inputs', 'substitute']
7
+ __all__ = ['SECRET_YAML', 'Input', 'Secrets', 'UndefinedSubstitution', 'YamlTypeError', 'dump', 'extract_inputs', 'load_yaml', 'load_yaml_dict', 'parse_yaml', 'save_yaml', 'secret_yaml', 'substitute']
@@ -7,7 +7,7 @@ from collections.abc import Callable as Callable, Iterator
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from io import StringIO
9
9
  from pathlib import Path
10
- from propcache import cached_property
10
+ from propcache.api import cached_property
11
11
  from typing import Any, TextIO, overload
12
12
  from yaml import SafeLoader as FastestAvailableSafeLoader
13
13