homeassistant-stubs 2024.5.5__py3-none-any.whl → 2024.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -2
  2. homeassistant-stubs/auth/auth_store.pyi +3 -0
  3. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -1
  5. homeassistant-stubs/block_async_io.pyi +2 -0
  6. homeassistant-stubs/bootstrap.pyi +6 -4
  7. homeassistant-stubs/components/abode/__init__.pyi +3 -37
  8. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -1
  9. homeassistant-stubs/components/abode/binary_sensor.pyi +2 -1
  10. homeassistant-stubs/components/abode/camera.pyi +2 -1
  11. homeassistant-stubs/components/abode/cover.pyi +2 -1
  12. homeassistant-stubs/components/abode/entity.pyi +39 -0
  13. homeassistant-stubs/components/abode/light.pyi +2 -1
  14. homeassistant-stubs/components/abode/lock.pyi +2 -1
  15. homeassistant-stubs/components/abode/sensor.pyi +2 -1
  16. homeassistant-stubs/components/abode/switch.pyi +2 -1
  17. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  18. homeassistant-stubs/components/accuweather/diagnostics.pyi +2 -4
  19. homeassistant-stubs/components/accuweather/sensor.pyi +3 -4
  20. homeassistant-stubs/components/accuweather/system_health.pyi +1 -0
  21. homeassistant-stubs/components/accuweather/weather.pyi +4 -6
  22. homeassistant-stubs/components/acmeda/__init__.pyi +3 -3
  23. homeassistant-stubs/components/acmeda/cover.pyi +3 -4
  24. homeassistant-stubs/components/acmeda/helpers.pyi +2 -1
  25. homeassistant-stubs/components/acmeda/sensor.pyi +3 -4
  26. homeassistant-stubs/components/adguard/__init__.pyi +4 -3
  27. homeassistant-stubs/components/adguard/entity.pyi +3 -3
  28. homeassistant-stubs/components/adguard/sensor.pyi +3 -4
  29. homeassistant-stubs/components/adguard/switch.pyi +3 -4
  30. homeassistant-stubs/components/aftership/__init__.pyi +3 -2
  31. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  32. homeassistant-stubs/components/air_quality/__init__.pyi +1 -1
  33. homeassistant-stubs/components/air_quality/const.pyi +3 -0
  34. homeassistant-stubs/components/air_quality/group.pyi +1 -0
  35. homeassistant-stubs/components/airgradient/__init__.pyi +11 -0
  36. homeassistant-stubs/components/airgradient/config_flow.pyi +18 -0
  37. homeassistant-stubs/components/airgradient/const.pyi +4 -0
  38. homeassistant-stubs/components/airgradient/coordinator.pyi +24 -0
  39. homeassistant-stubs/components/airgradient/entity.pyi +10 -0
  40. homeassistant-stubs/components/airgradient/select.pyi +37 -0
  41. homeassistant-stubs/components/airgradient/sensor.pyi +30 -0
  42. homeassistant-stubs/components/airly/__init__.pyi +3 -2
  43. homeassistant-stubs/components/airly/coordinator.pyi +1 -1
  44. homeassistant-stubs/components/airly/diagnostics.pyi +2 -4
  45. homeassistant-stubs/components/airly/sensor.pyi +2 -3
  46. homeassistant-stubs/components/airly/system_health.pyi +1 -0
  47. homeassistant-stubs/components/airnow/__init__.pyi +3 -2
  48. homeassistant-stubs/components/airnow/const.pyi +1 -0
  49. homeassistant-stubs/components/airnow/diagnostics.pyi +2 -4
  50. homeassistant-stubs/components/airnow/sensor.pyi +3 -4
  51. homeassistant-stubs/components/airq/__init__.pyi +5 -3
  52. homeassistant-stubs/components/airq/config_flow.pyi +8 -2
  53. homeassistant-stubs/components/airq/const.pyi +2 -0
  54. homeassistant-stubs/components/airq/coordinator.pyi +3 -1
  55. homeassistant-stubs/components/airq/sensor.pyi +3 -4
  56. homeassistant-stubs/components/airthings/__init__.pyi +3 -2
  57. homeassistant-stubs/components/airthings/sensor.pyi +2 -3
  58. homeassistant-stubs/components/airthings_ble/__init__.pyi +5 -3
  59. homeassistant-stubs/components/airthings_ble/sensor.pyi +6 -6
  60. homeassistant-stubs/components/airtouch5/__init__.pyi +4 -2
  61. homeassistant-stubs/components/airtouch5/climate.pyi +2 -2
  62. homeassistant-stubs/components/airvisual_pro/__init__.pyi +3 -2
  63. homeassistant-stubs/components/airvisual_pro/diagnostics.pyi +2 -4
  64. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -4
  65. homeassistant-stubs/components/airzone_cloud/climate.pyi +6 -9
  66. homeassistant-stubs/components/aladdin_connect/__init__.pyi +10 -8
  67. homeassistant-stubs/components/aladdin_connect/api.pyi +12 -0
  68. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +5 -0
  69. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +14 -19
  70. homeassistant-stubs/components/aladdin_connect/const.pyi +2 -10
  71. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +15 -0
  72. homeassistant-stubs/components/aladdin_connect/cover.pyi +11 -28
  73. homeassistant-stubs/components/aladdin_connect/entity.pyi +12 -0
  74. homeassistant-stubs/components/aladdin_connect/sensor.pyi +9 -16
  75. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +15 -1
  76. homeassistant-stubs/components/alarm_control_panel/group.pyi +2 -1
  77. homeassistant-stubs/components/ambient_station/__init__.pyi +3 -2
  78. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +3 -3
  79. homeassistant-stubs/components/ambient_station/diagnostics.pyi +3 -4
  80. homeassistant-stubs/components/ambient_station/sensor.pyi +3 -4
  81. homeassistant-stubs/components/analytics_insights/__init__.pyi +5 -4
  82. homeassistant-stubs/components/analytics_insights/coordinator.pyi +2 -2
  83. homeassistant-stubs/components/analytics_insights/sensor.pyi +2 -3
  84. homeassistant-stubs/components/androidtv/__init__.pyi +12 -4
  85. homeassistant-stubs/components/androidtv/const.pyi +0 -2
  86. homeassistant-stubs/components/androidtv/diagnostics.pyi +3 -3
  87. homeassistant-stubs/components/androidtv/entity.pyi +3 -9
  88. homeassistant-stubs/components/androidtv/media_player.pyi +4 -4
  89. homeassistant-stubs/components/androidtv_remote/__init__.pyi +4 -4
  90. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +1 -0
  91. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +2 -4
  92. homeassistant-stubs/components/androidtv_remote/media_player.pyi +3 -4
  93. homeassistant-stubs/components/androidtv_remote/remote.pyi +2 -4
  94. homeassistant-stubs/components/anova/__init__.pyi +3 -2
  95. homeassistant-stubs/components/anova/config_flow.pyi +0 -1
  96. homeassistant-stubs/components/anova/coordinator.pyi +7 -6
  97. homeassistant-stubs/components/anova/entity.pyi +2 -0
  98. homeassistant-stubs/components/anova/models.pyi +3 -3
  99. homeassistant-stubs/components/anova/sensor.pyi +7 -9
  100. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -1
  101. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -4
  102. homeassistant-stubs/components/apple_tv/remote.pyi +2 -4
  103. homeassistant-stubs/components/aprs/device_tracker.pyi +1 -0
  104. homeassistant-stubs/components/apsystems/__init__.pyi +10 -0
  105. homeassistant-stubs/components/{poolsense → apsystems}/config_flow.pyi +4 -5
  106. homeassistant-stubs/components/apsystems/const.pyi +4 -0
  107. homeassistant-stubs/components/apsystems/coordinator.pyi +10 -0
  108. homeassistant-stubs/components/apsystems/sensor.pyi +31 -0
  109. homeassistant-stubs/components/aquostv/media_player.pyi +1 -3
  110. homeassistant-stubs/components/aranet/const.pyi +1 -0
  111. homeassistant-stubs/components/aranet/sensor.pyi +8 -6
  112. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -3
  113. homeassistant-stubs/components/asuswrt/__init__.pyi +4 -4
  114. homeassistant-stubs/components/asuswrt/bridge.pyi +3 -4
  115. homeassistant-stubs/components/asuswrt/const.pyi +0 -1
  116. homeassistant-stubs/components/asuswrt/device_tracker.pyi +2 -3
  117. homeassistant-stubs/components/asuswrt/diagnostics.pyi +2 -4
  118. homeassistant-stubs/components/asuswrt/router.pyi +2 -1
  119. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -3
  120. homeassistant-stubs/components/auth/__init__.pyi +2 -7
  121. homeassistant-stubs/components/axis/__init__.pyi +2 -1
  122. homeassistant-stubs/components/axis/binary_sensor.pyi +2 -2
  123. homeassistant-stubs/components/axis/camera.pyi +2 -2
  124. homeassistant-stubs/components/axis/config_flow.pyi +2 -0
  125. homeassistant-stubs/components/axis/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/axis/hub/hub.pyi +3 -5
  127. homeassistant-stubs/components/axis/light.pyi +2 -2
  128. homeassistant-stubs/components/axis/switch.pyi +2 -2
  129. homeassistant-stubs/components/baf/__init__.pyi +6 -5
  130. homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
  131. homeassistant-stubs/components/baf/climate.pyi +2 -4
  132. homeassistant-stubs/components/baf/fan.pyi +3 -4
  133. homeassistant-stubs/components/baf/light.pyi +2 -4
  134. homeassistant-stubs/components/baf/models.pyi +0 -8
  135. homeassistant-stubs/components/baf/number.pyi +3 -4
  136. homeassistant-stubs/components/baf/sensor.pyi +2 -4
  137. homeassistant-stubs/components/baf/switch.pyi +2 -4
  138. homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -1
  139. homeassistant-stubs/components/bang_olufsen/media_player.pyi +7 -7
  140. homeassistant-stubs/components/blue_current/sensor.pyi +7 -1
  141. homeassistant-stubs/components/blueprint/const.pyi +1 -0
  142. homeassistant-stubs/components/blueprint/schemas.pyi +4 -2
  143. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +2 -3
  144. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +4 -5
  145. homeassistant-stubs/components/bluetooth/api.pyi +1 -0
  146. homeassistant-stubs/components/bluetooth/config_flow.pyi +0 -1
  147. homeassistant-stubs/components/bluetooth/match.pyi +2 -3
  148. homeassistant-stubs/components/bluetooth/models.pyi +0 -2
  149. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +2 -0
  150. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +15 -17
  151. homeassistant-stubs/components/bluetooth/update_coordinator.pyi +0 -2
  152. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  153. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +3 -10
  154. homeassistant-stubs/components/bond/__init__.pyi +4 -3
  155. homeassistant-stubs/components/bond/button.pyi +2 -4
  156. homeassistant-stubs/components/bond/cover.pyi +2 -4
  157. homeassistant-stubs/components/bond/diagnostics.pyi +2 -4
  158. homeassistant-stubs/components/bond/fan.pyi +3 -4
  159. homeassistant-stubs/components/bond/light.pyi +3 -4
  160. homeassistant-stubs/components/bond/switch.pyi +3 -4
  161. homeassistant-stubs/components/braviatv/__init__.pyi +4 -4
  162. homeassistant-stubs/components/braviatv/button.pyi +2 -3
  163. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -4
  164. homeassistant-stubs/components/braviatv/diagnostics.pyi +2 -4
  165. homeassistant-stubs/components/braviatv/media_player.pyi +3 -3
  166. homeassistant-stubs/components/braviatv/remote.pyi +2 -3
  167. homeassistant-stubs/components/brother/__init__.pyi +5 -13
  168. homeassistant-stubs/components/brother/config_flow.pyi +1 -1
  169. homeassistant-stubs/components/brother/const.pyi +1 -2
  170. homeassistant-stubs/components/brother/coordinator.pyi +12 -0
  171. homeassistant-stubs/components/brother/diagnostics.pyi +2 -4
  172. homeassistant-stubs/components/brother/sensor.pyi +3 -4
  173. homeassistant-stubs/components/bthome/__init__.pyi +1 -1
  174. homeassistant-stubs/components/bthome/binary_sensor.pyi +2 -2
  175. homeassistant-stubs/components/bthome/coordinator.pyi +4 -5
  176. homeassistant-stubs/components/bthome/logbook.pyi +0 -1
  177. homeassistant-stubs/components/bthome/sensor.pyi +2 -2
  178. homeassistant-stubs/components/canary/alarm_control_panel.pyi +1 -0
  179. homeassistant-stubs/components/cert_expiry/__init__.pyi +2 -2
  180. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -3
  181. homeassistant-stubs/components/climate/group.pyi +2 -2
  182. homeassistant-stubs/components/climate/intent.pyi +2 -0
  183. homeassistant-stubs/components/cloud/__init__.pyi +3 -6
  184. homeassistant-stubs/components/cloud/const.pyi +0 -1
  185. homeassistant-stubs/components/cloud/http_api.pyi +4 -7
  186. homeassistant-stubs/components/cloud/prefs.pyi +3 -5
  187. homeassistant-stubs/components/co2signal/__init__.pyi +3 -2
  188. homeassistant-stubs/components/co2signal/diagnostics.pyi +2 -4
  189. homeassistant-stubs/components/co2signal/sensor.pyi +2 -2
  190. homeassistant-stubs/components/config/area_registry.pyi +0 -2
  191. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  192. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  193. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  194. homeassistant-stubs/components/config/view.pyi +2 -4
  195. homeassistant-stubs/components/counter/__init__.pyi +1 -2
  196. homeassistant-stubs/components/cover/__init__.pyi +2 -4
  197. homeassistant-stubs/components/cover/const.pyi +1 -0
  198. homeassistant-stubs/components/cover/group.pyi +1 -0
  199. homeassistant-stubs/components/deconz/__init__.pyi +6 -1
  200. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -14
  201. homeassistant-stubs/components/deconz/deconz_device.pyi +2 -6
  202. homeassistant-stubs/components/deconz/device_trigger.pyi +2 -1
  203. homeassistant-stubs/components/deconz/light.pyi +1 -2
  204. homeassistant-stubs/components/deconz/number.pyi +4 -8
  205. homeassistant-stubs/components/deconz/sensor.pyi +3 -1
  206. homeassistant-stubs/components/deconz/services.pyi +0 -2
  207. homeassistant-stubs/components/demo/alarm_control_panel.pyi +3 -0
  208. homeassistant-stubs/components/demo/lock.pyi +5 -1
  209. homeassistant-stubs/components/demo/notify.pyi +3 -2
  210. homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
  211. homeassistant-stubs/components/device_tracker/group.pyi +1 -0
  212. homeassistant-stubs/components/devolo_home_control/__init__.pyi +6 -3
  213. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +2 -3
  214. homeassistant-stubs/components/devolo_home_control/climate.pyi +2 -3
  215. homeassistant-stubs/components/devolo_home_control/cover.pyi +2 -3
  216. homeassistant-stubs/components/devolo_home_control/diagnostics.pyi +2 -4
  217. homeassistant-stubs/components/devolo_home_control/light.pyi +2 -3
  218. homeassistant-stubs/components/devolo_home_control/sensor.pyi +2 -3
  219. homeassistant-stubs/components/devolo_home_control/siren.pyi +2 -3
  220. homeassistant-stubs/components/devolo_home_control/switch.pyi +2 -3
  221. homeassistant-stubs/components/devolo_home_network/__init__.pyi +11 -2
  222. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +4 -5
  223. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -3
  224. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  225. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +2 -4
  226. homeassistant-stubs/components/devolo_home_network/entity.pyi +4 -8
  227. homeassistant-stubs/components/devolo_home_network/image.pyi +4 -5
  228. homeassistant-stubs/components/devolo_home_network/sensor.pyi +5 -6
  229. homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -3
  230. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  231. homeassistant-stubs/components/dhcp/__init__.pyi +1 -1
  232. homeassistant-stubs/components/diagnostics/util.pyi +1 -3
  233. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  234. homeassistant-stubs/components/discovergy/diagnostics.pyi +2 -4
  235. homeassistant-stubs/components/discovergy/sensor.pyi +2 -2
  236. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -5
  237. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -4
  238. homeassistant-stubs/components/dnsip/sensor.pyi +2 -0
  239. homeassistant-stubs/components/duotecno/entity.pyi +2 -4
  240. homeassistant-stubs/components/ecovacs/__init__.pyi +3 -2
  241. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +2 -4
  242. homeassistant-stubs/components/ecovacs/button.pyi +3 -4
  243. homeassistant-stubs/components/ecovacs/controller.pyi +4 -1
  244. homeassistant-stubs/components/ecovacs/diagnostics.pyi +3 -4
  245. homeassistant-stubs/components/ecovacs/event.pyi +2 -4
  246. homeassistant-stubs/components/ecovacs/image.pyi +2 -4
  247. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +2 -4
  248. homeassistant-stubs/components/ecovacs/number.pyi +2 -4
  249. homeassistant-stubs/components/ecovacs/select.pyi +2 -4
  250. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -4
  251. homeassistant-stubs/components/ecovacs/switch.pyi +2 -4
  252. homeassistant-stubs/components/ecovacs/vacuum.pyi +2 -3
  253. homeassistant-stubs/components/elgato/__init__.pyi +3 -3
  254. homeassistant-stubs/components/elgato/button.pyi +2 -3
  255. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -4
  256. homeassistant-stubs/components/elgato/light.pyi +3 -3
  257. homeassistant-stubs/components/elgato/sensor.pyi +2 -3
  258. homeassistant-stubs/components/elgato/switch.pyi +2 -3
  259. homeassistant-stubs/components/elkm1/__init__.pyi +3 -2
  260. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +3 -4
  261. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -5
  262. homeassistant-stubs/components/elkm1/climate.pyi +2 -5
  263. homeassistant-stubs/components/elkm1/light.pyi +2 -4
  264. homeassistant-stubs/components/elkm1/scene.pyi +2 -5
  265. homeassistant-stubs/components/elkm1/sensor.pyi +3 -5
  266. homeassistant-stubs/components/elkm1/switch.pyi +2 -5
  267. homeassistant-stubs/components/energy/validate.pyi +3 -3
  268. homeassistant-stubs/components/energy/websocket_api.pyi +3 -3
  269. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -0
  270. homeassistant-stubs/components/eq3btsmart/climate.pyi +1 -1
  271. homeassistant-stubs/components/esphome/config_flow.pyi +3 -0
  272. homeassistant-stubs/components/esphome/coordinator.pyi +16 -0
  273. homeassistant-stubs/components/esphome/dashboard.pyi +3 -14
  274. homeassistant-stubs/components/esphome/enum_mapper.pyi +3 -6
  275. homeassistant-stubs/components/esphome/manager.pyi +2 -1
  276. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  277. homeassistant-stubs/components/esphome/update.pyi +4 -3
  278. homeassistant-stubs/components/esphome/voice_assistant.pyi +5 -1
  279. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +2 -13
  280. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +17 -0
  281. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +1 -1
  282. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -1
  283. homeassistant-stubs/components/evil_genius_labs/util.pyi +2 -6
  284. homeassistant-stubs/components/evohome/__init__.pyi +1 -1
  285. homeassistant-stubs/components/feedreader/__init__.pyi +4 -46
  286. homeassistant-stubs/components/feedreader/const.pyi +1 -0
  287. homeassistant-stubs/components/feedreader/coordinator.pyi +39 -0
  288. homeassistant-stubs/components/filesize/__init__.pyi +3 -1
  289. homeassistant-stubs/components/filesize/coordinator.pyi +1 -1
  290. homeassistant-stubs/components/filesize/sensor.pyi +4 -4
  291. homeassistant-stubs/components/fitbit/api.pyi +1 -2
  292. homeassistant-stubs/components/fitbit/coordinator.pyi +1 -1
  293. homeassistant-stubs/components/forecast_solar/__init__.pyi +3 -2
  294. homeassistant-stubs/components/forecast_solar/diagnostics.pyi +2 -5
  295. homeassistant-stubs/components/forecast_solar/energy.pyi +1 -1
  296. homeassistant-stubs/components/forecast_solar/sensor.pyi +2 -2
  297. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  298. homeassistant-stubs/components/fritz/binary_sensor.pyi +4 -3
  299. homeassistant-stubs/components/fritz/button.pyi +4 -3
  300. homeassistant-stubs/components/fritz/const.pyi +0 -3
  301. homeassistant-stubs/components/fritz/{common.pyi → coordinator.pyi} +7 -53
  302. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -1
  303. homeassistant-stubs/components/fritz/diagnostics.pyi +1 -1
  304. homeassistant-stubs/components/fritz/entity.pyi +50 -0
  305. homeassistant-stubs/components/fritz/image.pyi +2 -1
  306. homeassistant-stubs/components/fritz/sensor.pyi +4 -3
  307. homeassistant-stubs/components/fritz/services.pyi +2 -2
  308. homeassistant-stubs/components/fritz/switch.pyi +2 -1
  309. homeassistant-stubs/components/fritz/update.pyi +4 -3
  310. homeassistant-stubs/components/fritzbox/__init__.pyi +6 -8
  311. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -3
  312. homeassistant-stubs/components/fritzbox/button.pyi +2 -3
  313. homeassistant-stubs/components/fritzbox/climate.pyi +2 -3
  314. homeassistant-stubs/components/fritzbox/const.pyi +0 -2
  315. homeassistant-stubs/components/fritzbox/coordinator.pyi +10 -7
  316. homeassistant-stubs/components/fritzbox/cover.pyi +2 -3
  317. homeassistant-stubs/components/fritzbox/diagnostics.pyi +2 -4
  318. homeassistant-stubs/components/fritzbox/light.pyi +2 -3
  319. homeassistant-stubs/components/fritzbox/sensor.pyi +2 -3
  320. homeassistant-stubs/components/fritzbox/switch.pyi +2 -3
  321. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +5 -4
  322. homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +0 -2
  323. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +3 -3
  324. homeassistant-stubs/components/fronius/__init__.pyi +4 -6
  325. homeassistant-stubs/components/fronius/coordinator.pyi +1 -3
  326. homeassistant-stubs/components/{aladdin_connect → fronius}/diagnostics.pyi +2 -4
  327. homeassistant-stubs/components/fronius/sensor.pyi +2 -3
  328. homeassistant-stubs/components/gios/__init__.pyi +10 -10
  329. homeassistant-stubs/components/gios/coordinator.pyi +13 -0
  330. homeassistant-stubs/components/gios/diagnostics.pyi +2 -4
  331. homeassistant-stubs/components/gios/sensor.pyi +3 -3
  332. homeassistant-stubs/components/google/calendar.pyi +2 -29
  333. homeassistant-stubs/components/google/coordinator.pyi +38 -0
  334. homeassistant-stubs/components/group/entity.pyi +5 -2
  335. homeassistant-stubs/components/group/lock.pyi +3 -1
  336. homeassistant-stubs/components/group/registry.pyi +12 -6
  337. homeassistant-stubs/components/group/sensor.pyi +2 -0
  338. homeassistant-stubs/components/guardian/coordinator.pyi +1 -1
  339. homeassistant-stubs/components/guardian/util.pyi +1 -3
  340. homeassistant-stubs/components/history_stats/sensor.pyi +0 -2
  341. homeassistant-stubs/components/holiday/calendar.pyi +11 -1
  342. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  343. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +0 -3
  344. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -24
  345. homeassistant-stubs/components/homeassistant_alerts/const.pyi +6 -0
  346. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +26 -0
  347. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -0
  348. homeassistant-stubs/components/homekit/const.pyi +2 -0
  349. homeassistant-stubs/components/homekit/type_sensors.pyi +3 -1
  350. homeassistant-stubs/components/homekit/util.pyi +2 -1
  351. homeassistant-stubs/components/homewizard/helpers.pyi +1 -4
  352. homeassistant-stubs/components/http/__init__.pyi +6 -7
  353. homeassistant-stubs/components/http/auth.pyi +2 -10
  354. homeassistant-stubs/components/http/ban.pyi +1 -3
  355. homeassistant-stubs/components/http/const.pyi +0 -6
  356. homeassistant-stubs/components/http/data_validator.pyi +2 -4
  357. homeassistant-stubs/components/http/decorators.pyi +2 -5
  358. homeassistant-stubs/components/http/web_runner.pyi +1 -1
  359. homeassistant-stubs/components/humidifier/intent.pyi +4 -0
  360. homeassistant-stubs/components/{poolsense → husqvarna_automower}/__init__.pyi +6 -4
  361. homeassistant-stubs/components/husqvarna_automower/api.pyi +11 -0
  362. homeassistant-stubs/components/husqvarna_automower/application_credentials.pyi +5 -0
  363. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +29 -0
  364. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +23 -0
  365. homeassistant-stubs/components/husqvarna_automower/const.pyi +5 -0
  366. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +20 -0
  367. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +21 -0
  368. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +17 -0
  369. homeassistant-stubs/components/husqvarna_automower/entity.pyi +20 -0
  370. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +28 -0
  371. homeassistant-stubs/components/husqvarna_automower/number.pyi +67 -0
  372. homeassistant-stubs/components/husqvarna_automower/select.pyi +25 -0
  373. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +35 -0
  374. homeassistant-stubs/components/husqvarna_automower/switch.pyi +49 -0
  375. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +14 -4
  376. homeassistant-stubs/components/hydrawise/coordinator.pyi +8 -5
  377. homeassistant-stubs/components/hydrawise/entity.pyi +10 -3
  378. homeassistant-stubs/components/hydrawise/sensor.pyi +24 -7
  379. homeassistant-stubs/components/hydrawise/switch.pyi +12 -2
  380. homeassistant-stubs/components/ibeacon/__init__.pyi +5 -3
  381. homeassistant-stubs/components/ibeacon/device_tracker.pyi +3 -3
  382. homeassistant-stubs/components/ibeacon/sensor.pyi +3 -3
  383. homeassistant-stubs/components/idasen_desk/__init__.pyi +2 -12
  384. homeassistant-stubs/components/idasen_desk/coordinator.pyi +19 -0
  385. homeassistant-stubs/components/imgw_pib/__init__.pyi +21 -0
  386. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +28 -0
  387. homeassistant-stubs/components/imgw_pib/config_flow.pyi +12 -0
  388. homeassistant-stubs/components/imgw_pib/const.pyi +6 -0
  389. homeassistant-stubs/components/imgw_pib/coordinator.pyi +15 -0
  390. homeassistant-stubs/components/imgw_pib/diagnostics.pyi +5 -0
  391. homeassistant-stubs/components/imgw_pib/entity.pyi +10 -0
  392. homeassistant-stubs/components/imgw_pib/sensor.pyi +30 -0
  393. homeassistant-stubs/components/integration/config_flow.pyi +11 -4
  394. homeassistant-stubs/components/integration/sensor.pyi +2 -1
  395. homeassistant-stubs/components/intent/__init__.pyi +8 -16
  396. homeassistant-stubs/components/intent/const.pyi +3 -0
  397. homeassistant-stubs/components/intent/timers.pyi +133 -0
  398. homeassistant-stubs/components/intent_script/__init__.pyi +4 -1
  399. homeassistant-stubs/components/ipp/__init__.pyi +3 -2
  400. homeassistant-stubs/components/ipp/diagnostics.pyi +2 -4
  401. homeassistant-stubs/components/ipp/sensor.pyi +3 -4
  402. homeassistant-stubs/components/jellyfin/config_flow.pyi +11 -2
  403. homeassistant-stubs/components/jellyfin/const.pyi +2 -0
  404. homeassistant-stubs/components/jellyfin/media_source.pyi +4 -2
  405. homeassistant-stubs/components/jewish_calendar/__init__.pyi +11 -10
  406. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +7 -5
  407. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +25 -0
  408. homeassistant-stubs/components/jewish_calendar/const.pyi +9 -0
  409. homeassistant-stubs/components/jewish_calendar/sensor.pyi +7 -7
  410. homeassistant-stubs/components/knx/climate.pyi +3 -0
  411. homeassistant-stubs/components/knx/const.pyi +0 -1
  412. homeassistant-stubs/components/knx/device_trigger.pyi +6 -8
  413. homeassistant-stubs/components/knx/expose.pyi +4 -1
  414. homeassistant-stubs/components/knx/notify.pyi +2 -3
  415. homeassistant-stubs/components/knx/schema.pyi +1 -1
  416. homeassistant-stubs/components/knx/telegrams.pyi +14 -7
  417. homeassistant-stubs/components/knx/trigger.pyi +27 -0
  418. homeassistant-stubs/components/lamarzocco/coordinator.pyi +1 -2
  419. homeassistant-stubs/components/lametric/helpers.pyi +1 -4
  420. homeassistant-stubs/components/lcn/helpers.pyi +1 -2
  421. homeassistant-stubs/components/light/intent.pyi +2 -7
  422. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +15 -9
  423. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -14
  424. homeassistant-stubs/components/linear_garage_door/entity.pyi +17 -0
  425. homeassistant-stubs/components/linear_garage_door/light.pyi +25 -0
  426. homeassistant-stubs/components/local_todo/__init__.pyi +3 -2
  427. homeassistant-stubs/components/local_todo/todo.pyi +3 -3
  428. homeassistant-stubs/components/lock/__init__.pyi +8 -2
  429. homeassistant-stubs/components/lock/const.pyi +1 -0
  430. homeassistant-stubs/components/lock/device_condition.pyi +1 -1
  431. homeassistant-stubs/components/lock/device_trigger.pyi +1 -1
  432. homeassistant-stubs/components/lock/group.pyi +2 -1
  433. homeassistant-stubs/components/lock/reproduce_state.pyi +1 -1
  434. homeassistant-stubs/components/lookin/coordinator.pyi +0 -2
  435. homeassistant-stubs/components/mastodon/notify.pyi +8 -1
  436. homeassistant-stubs/components/matter/api.pyi +1 -2
  437. homeassistant-stubs/components/matter/climate.pyi +3 -2
  438. homeassistant-stubs/components/matter/entity.pyi +1 -9
  439. homeassistant-stubs/components/matter/fan.pyi +44 -0
  440. homeassistant-stubs/components/matter/models.pyi +1 -2
  441. homeassistant-stubs/components/matter/sensor.pyi +2 -0
  442. homeassistant-stubs/components/media_extractor/__init__.pyi +3 -0
  443. homeassistant-stubs/components/media_extractor/config_flow.pyi +8 -0
  444. homeassistant-stubs/components/media_player/__init__.pyi +3 -0
  445. homeassistant-stubs/components/media_player/group.pyi +1 -0
  446. homeassistant-stubs/components/media_player/intent.pyi +27 -1
  447. homeassistant-stubs/components/media_source/__init__.pyi +4 -0
  448. homeassistant-stubs/components/metoffice/weather.pyi +1 -1
  449. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -1
  450. homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
  451. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -1
  452. homeassistant-stubs/components/monzo/__init__.pyi +13 -0
  453. homeassistant-stubs/components/monzo/api.pyi +9 -0
  454. homeassistant-stubs/components/monzo/application_credentials.pyi +7 -0
  455. homeassistant-stubs/components/monzo/config_flow.pyi +14 -0
  456. homeassistant-stubs/components/monzo/const.pyi +1 -0
  457. homeassistant-stubs/components/monzo/coordinator.pyi +20 -0
  458. homeassistant-stubs/components/monzo/entity.pyi +17 -0
  459. homeassistant-stubs/components/monzo/sensor.pyi +31 -0
  460. homeassistant-stubs/components/mopeka/sensor.pyi +2 -2
  461. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  462. homeassistant-stubs/components/mqtt/__init__.pyi +10 -10
  463. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +4 -4
  464. homeassistant-stubs/components/mqtt/binary_sensor.pyi +6 -4
  465. homeassistant-stubs/components/mqtt/button.pyi +4 -3
  466. homeassistant-stubs/components/mqtt/camera.pyi +4 -4
  467. homeassistant-stubs/components/mqtt/client.pyi +29 -21
  468. homeassistant-stubs/components/mqtt/climate.pyi +8 -7
  469. homeassistant-stubs/components/mqtt/config_flow.pyi +0 -1
  470. homeassistant-stubs/components/mqtt/const.pyi +14 -4
  471. homeassistant-stubs/components/mqtt/cover.pyi +7 -5
  472. homeassistant-stubs/components/mqtt/debug_info.pyi +4 -9
  473. homeassistant-stubs/components/mqtt/device_tracker.pyi +6 -5
  474. homeassistant-stubs/components/mqtt/device_trigger.pyi +12 -16
  475. homeassistant-stubs/components/mqtt/diagnostics.pyi +1 -1
  476. homeassistant-stubs/components/mqtt/discovery.pyi +14 -9
  477. homeassistant-stubs/components/mqtt/event.pyi +5 -6
  478. homeassistant-stubs/components/mqtt/fan.pyi +9 -5
  479. homeassistant-stubs/components/mqtt/humidifier.pyi +8 -5
  480. homeassistant-stubs/components/mqtt/image.pyi +6 -6
  481. homeassistant-stubs/components/mqtt/lawn_mower.pyi +4 -4
  482. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +15 -5
  483. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  484. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  485. homeassistant-stubs/components/mqtt/lock.pyi +9 -4
  486. homeassistant-stubs/components/mqtt/mixins.pyi +35 -41
  487. homeassistant-stubs/components/mqtt/models.pyi +8 -6
  488. homeassistant-stubs/components/mqtt/notify.pyi +5 -4
  489. homeassistant-stubs/components/mqtt/number.pyi +4 -4
  490. homeassistant-stubs/components/mqtt/scene.pyi +4 -3
  491. homeassistant-stubs/components/mqtt/schemas.pyi +16 -0
  492. homeassistant-stubs/components/mqtt/select.pyi +4 -4
  493. homeassistant-stubs/components/mqtt/sensor.pyi +9 -7
  494. homeassistant-stubs/components/mqtt/siren.pyi +4 -4
  495. homeassistant-stubs/components/mqtt/subscription.pyi +17 -13
  496. homeassistant-stubs/components/mqtt/switch.pyi +6 -7
  497. homeassistant-stubs/components/mqtt/tag.pyi +7 -5
  498. homeassistant-stubs/components/mqtt/text.pyi +6 -5
  499. homeassistant-stubs/components/mqtt/trigger.pyi +1 -1
  500. homeassistant-stubs/components/mqtt/update.pyi +6 -5
  501. homeassistant-stubs/components/mqtt/util.pyi +5 -4
  502. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -4
  503. homeassistant-stubs/components/mqtt/valve.pyi +5 -5
  504. homeassistant-stubs/components/mqtt/water_heater.pyi +4 -3
  505. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  506. homeassistant-stubs/components/myuplink/application_credentials.pyi +2 -1
  507. homeassistant-stubs/components/myuplink/binary_sensor.pyi +18 -2
  508. homeassistant-stubs/components/myuplink/entity.pyi +5 -0
  509. homeassistant-stubs/components/nam/__init__.pyi +5 -16
  510. homeassistant-stubs/components/nam/button.pyi +2 -4
  511. homeassistant-stubs/components/nam/config_flow.pyi +2 -0
  512. homeassistant-stubs/components/nam/coordinator.pyi +15 -0
  513. homeassistant-stubs/components/nam/diagnostics.pyi +2 -4
  514. homeassistant-stubs/components/nam/sensor.pyi +2 -3
  515. homeassistant-stubs/components/nest/__init__.pyi +2 -2
  516. homeassistant-stubs/components/nest/climate.pyi +2 -2
  517. homeassistant-stubs/components/netatmo/sensor.pyi +1 -1
  518. homeassistant-stubs/components/network/util.pyi +1 -1
  519. homeassistant-stubs/components/nextdns/__init__.pyi +18 -3
  520. homeassistant-stubs/components/nextdns/binary_sensor.pyi +10 -15
  521. homeassistant-stubs/components/nextdns/button.pyi +6 -6
  522. homeassistant-stubs/components/nextdns/diagnostics.pyi +3 -3
  523. homeassistant-stubs/components/nextdns/sensor.pyi +6 -10
  524. homeassistant-stubs/components/nextdns/switch.pyi +11 -15
  525. homeassistant-stubs/components/notify/__init__.pyi +8 -2
  526. homeassistant-stubs/components/notify/repairs.pyi +7 -0
  527. homeassistant-stubs/components/nut/__init__.pyi +11 -2
  528. homeassistant-stubs/components/nut/const.pyi +0 -4
  529. homeassistant-stubs/components/nut/device_action.pyi +4 -3
  530. homeassistant-stubs/components/nut/diagnostics.pyi +3 -4
  531. homeassistant-stubs/components/nut/sensor.pyi +3 -4
  532. homeassistant-stubs/components/onewire/__init__.pyi +5 -4
  533. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -3
  534. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -4
  535. homeassistant-stubs/components/onewire/sensor.pyi +3 -3
  536. homeassistant-stubs/components/onewire/switch.pyi +3 -3
  537. homeassistant-stubs/components/oralb/sensor.pyi +2 -2
  538. homeassistant-stubs/components/otbr/util.pyi +1 -3
  539. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -19
  540. homeassistant-stubs/components/p1_monitor/coordinator.pyi +22 -0
  541. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  542. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  543. homeassistant-stubs/components/pi_hole/__init__.pyi +12 -4
  544. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -5
  545. homeassistant-stubs/components/pi_hole/const.pyi +0 -2
  546. homeassistant-stubs/components/pi_hole/diagnostics.pyi +2 -4
  547. homeassistant-stubs/components/pi_hole/sensor.pyi +3 -5
  548. homeassistant-stubs/components/pi_hole/switch.pyi +3 -4
  549. homeassistant-stubs/components/pi_hole/update.pyi +3 -5
  550. homeassistant-stubs/components/ping/__init__.pyi +6 -6
  551. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -2
  552. homeassistant-stubs/components/ping/device_tracker.pyi +2 -2
  553. homeassistant-stubs/components/ping/sensor.pyi +2 -3
  554. homeassistant-stubs/components/plugwise/__init__.pyi +4 -2
  555. homeassistant-stubs/components/plugwise/binary_sensor.pyi +3 -4
  556. homeassistant-stubs/components/plugwise/climate.pyi +3 -3
  557. homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
  558. homeassistant-stubs/components/plugwise/diagnostics.pyi +2 -4
  559. homeassistant-stubs/components/plugwise/number.pyi +4 -4
  560. homeassistant-stubs/components/plugwise/select.pyi +4 -4
  561. homeassistant-stubs/components/plugwise/sensor.pyi +3 -4
  562. homeassistant-stubs/components/plugwise/switch.pyi +3 -4
  563. homeassistant-stubs/components/plugwise/util.pyi +2 -6
  564. homeassistant-stubs/components/powerwall/sensor.pyi +10 -9
  565. homeassistant-stubs/components/prometheus/__init__.pyi +2 -3
  566. homeassistant-stubs/components/proximity/__init__.pyi +3 -3
  567. homeassistant-stubs/components/proximity/coordinator.pyi +2 -1
  568. homeassistant-stubs/components/proximity/diagnostics.pyi +2 -4
  569. homeassistant-stubs/components/proximity/sensor.pyi +2 -3
  570. homeassistant-stubs/components/prusalink/__init__.pyi +3 -31
  571. homeassistant-stubs/components/prusalink/button.pyi +3 -1
  572. homeassistant-stubs/components/prusalink/camera.pyi +3 -1
  573. homeassistant-stubs/components/prusalink/coordinator.pyi +34 -0
  574. homeassistant-stubs/components/prusalink/sensor.pyi +3 -1
  575. homeassistant-stubs/components/pure_energie/__init__.pyi +3 -16
  576. homeassistant-stubs/components/pure_energie/coordinator.pyi +19 -0
  577. homeassistant-stubs/components/pure_energie/diagnostics.pyi +1 -1
  578. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -1
  579. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -1
  580. homeassistant-stubs/components/rainmachine/coordinator.pyi +22 -0
  581. homeassistant-stubs/components/rainmachine/switch.pyi +8 -6
  582. homeassistant-stubs/components/rainmachine/util.pyi +1 -17
  583. homeassistant-stubs/components/recorder/core.pyi +5 -4
  584. homeassistant-stubs/components/recorder/executor.pyi +3 -2
  585. homeassistant-stubs/components/recorder/pool.pyi +4 -5
  586. homeassistant-stubs/components/recorder/purge.pyi +2 -1
  587. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -4
  588. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +2 -1
  589. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +2 -1
  590. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +2 -1
  591. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -1
  592. homeassistant-stubs/components/recorder/util.pyi +4 -12
  593. homeassistant-stubs/components/renault/__init__.pyi +11 -3
  594. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -4
  595. homeassistant-stubs/components/renault/button.pyi +2 -4
  596. homeassistant-stubs/components/renault/device_tracker.pyi +2 -4
  597. homeassistant-stubs/components/renault/diagnostics.pyi +4 -5
  598. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -4
  599. homeassistant-stubs/components/renault/select.pyi +2 -4
  600. homeassistant-stubs/components/renault/sensor.pyi +2 -4
  601. homeassistant-stubs/components/renault/services.pyi +2 -2
  602. homeassistant-stubs/components/repairs/issue_handler.pyi +0 -1
  603. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  604. homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -2
  605. homeassistant-stubs/components/ring/coordinator.pyi +0 -3
  606. homeassistant-stubs/components/ring/entity.pyi +1 -4
  607. homeassistant-stubs/components/roku/helpers.pyi +0 -3
  608. homeassistant-stubs/components/ruuvitag_ble/sensor.pyi +2 -2
  609. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -3
  610. homeassistant-stubs/components/samsungtv/bridge.pyi +6 -4
  611. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  612. homeassistant-stubs/components/samsungtv/coordinator.pyi +17 -0
  613. homeassistant-stubs/components/samsungtv/device_trigger.pyi +0 -1
  614. homeassistant-stubs/components/samsungtv/diagnostics.pyi +3 -4
  615. homeassistant-stubs/components/samsungtv/entity.pyi +17 -6
  616. homeassistant-stubs/components/samsungtv/helpers.pyi +2 -0
  617. homeassistant-stubs/components/samsungtv/media_player.pyi +10 -19
  618. homeassistant-stubs/components/samsungtv/remote.pyi +7 -5
  619. homeassistant-stubs/components/scrape/__init__.pyi +2 -1
  620. homeassistant-stubs/components/scrape/sensor.pyi +2 -2
  621. homeassistant-stubs/components/sensibo/__init__.pyi +3 -1
  622. homeassistant-stubs/components/sensibo/binary_sensor.pyi +2 -3
  623. homeassistant-stubs/components/sensibo/button.pyi +2 -3
  624. homeassistant-stubs/components/sensibo/climate.pyi +2 -2
  625. homeassistant-stubs/components/sensibo/coordinator.pyi +3 -2
  626. homeassistant-stubs/components/sensibo/diagnostics.pyi +2 -4
  627. homeassistant-stubs/components/sensibo/entity.pyi +1 -4
  628. homeassistant-stubs/components/sensibo/number.pyi +2 -3
  629. homeassistant-stubs/components/sensibo/select.pyi +2 -2
  630. homeassistant-stubs/components/sensibo/sensor.pyi +2 -3
  631. homeassistant-stubs/components/sensibo/switch.pyi +2 -2
  632. homeassistant-stubs/components/sensibo/update.pyi +2 -3
  633. homeassistant-stubs/components/sensirion_ble/sensor.pyi +2 -2
  634. homeassistant-stubs/components/sensor/__init__.pyi +1 -2
  635. homeassistant-stubs/components/sensor/group.pyi +1 -0
  636. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -4
  637. homeassistant-stubs/components/sfr_box/button.pyi +3 -6
  638. homeassistant-stubs/components/sfr_box/coordinator.pyi +4 -5
  639. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -4
  640. homeassistant-stubs/components/shelly/__init__.pyi +7 -8
  641. homeassistant-stubs/components/shelly/binary_sensor.pyi +2 -2
  642. homeassistant-stubs/components/shelly/button.pyi +4 -7
  643. homeassistant-stubs/components/shelly/climate.pyi +5 -6
  644. homeassistant-stubs/components/shelly/config_flow.pyi +2 -0
  645. homeassistant-stubs/components/shelly/const.pyi +1 -1
  646. homeassistant-stubs/components/shelly/coordinator.pyi +15 -19
  647. homeassistant-stubs/components/shelly/cover.pyi +4 -5
  648. homeassistant-stubs/components/shelly/diagnostics.pyi +2 -3
  649. homeassistant-stubs/components/shelly/entity.pyi +8 -9
  650. homeassistant-stubs/components/shelly/event.pyi +2 -3
  651. homeassistant-stubs/components/shelly/light.pyi +4 -5
  652. homeassistant-stubs/components/shelly/number.pyi +2 -3
  653. homeassistant-stubs/components/shelly/sensor.pyi +2 -3
  654. homeassistant-stubs/components/shelly/switch.pyi +22 -8
  655. homeassistant-stubs/components/shelly/update.pyi +2 -3
  656. homeassistant-stubs/components/shelly/utils.pyi +3 -4
  657. homeassistant-stubs/components/shelly/valve.pyi +3 -4
  658. homeassistant-stubs/components/shopping_list/intent.pyi +4 -0
  659. homeassistant-stubs/components/sleepiq/entity.pyi +1 -2
  660. homeassistant-stubs/components/smhi/weather.pyi +2 -2
  661. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +2 -2
  662. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +4 -3
  663. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +2 -2
  664. homeassistant-stubs/components/ssdp/__init__.pyi +2 -2
  665. homeassistant-stubs/components/sun/__init__.pyi +4 -4
  666. homeassistant-stubs/components/sun/entity.pyi +2 -0
  667. homeassistant-stubs/components/sun/sensor.pyi +2 -3
  668. homeassistant-stubs/components/surepetcare/__init__.pyi +4 -15
  669. homeassistant-stubs/components/surepetcare/binary_sensor.pyi +1 -1
  670. homeassistant-stubs/components/surepetcare/coordinator.pyi +21 -0
  671. homeassistant-stubs/components/surepetcare/entity.pyi +1 -1
  672. homeassistant-stubs/components/surepetcare/lock.pyi +1 -1
  673. homeassistant-stubs/components/surepetcare/sensor.pyi +1 -1
  674. homeassistant-stubs/components/switchbee/entity.pyi +2 -4
  675. homeassistant-stubs/components/switchbee/switch.pyi +1 -4
  676. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  677. homeassistant-stubs/components/switchbot_cloud/climate.pyi +1 -1
  678. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -1
  679. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -2
  680. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -0
  681. homeassistant-stubs/components/switcher_kis/__init__.pyi +7 -26
  682. homeassistant-stubs/components/switcher_kis/button.pyi +8 -7
  683. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  684. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -9
  685. homeassistant-stubs/components/switcher_kis/const.pyi +0 -5
  686. homeassistant-stubs/components/switcher_kis/coordinator.pyi +22 -0
  687. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -2
  688. homeassistant-stubs/components/switcher_kis/diagnostics.pyi +2 -3
  689. homeassistant-stubs/components/switcher_kis/sensor.pyi +1 -1
  690. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
  691. homeassistant-stubs/components/switcher_kis/utils.pyi +2 -6
  692. homeassistant-stubs/components/synology_dsm/common.pyi +1 -1
  693. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -1
  694. homeassistant-stubs/components/synology_dsm/coordinator.pyi +3 -6
  695. homeassistant-stubs/components/synology_dsm/entity.pyi +0 -3
  696. homeassistant-stubs/components/systemmonitor/__init__.pyi +10 -2
  697. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +3 -3
  698. homeassistant-stubs/components/systemmonitor/const.pyi +0 -1
  699. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -4
  700. homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -3
  701. homeassistant-stubs/components/systemmonitor/util.pyi +4 -3
  702. homeassistant-stubs/components/tag/__init__.pyi +46 -5
  703. homeassistant-stubs/components/tag/const.pyi +4 -0
  704. homeassistant-stubs/components/tailwind/__init__.pyi +2 -1
  705. homeassistant-stubs/components/tailwind/binary_sensor.pyi +2 -4
  706. homeassistant-stubs/components/tailwind/button.pyi +2 -3
  707. homeassistant-stubs/components/tailwind/coordinator.pyi +0 -1
  708. homeassistant-stubs/components/tailwind/cover.pyi +2 -3
  709. homeassistant-stubs/components/tailwind/diagnostics.pyi +2 -4
  710. homeassistant-stubs/components/tailwind/number.pyi +2 -3
  711. homeassistant-stubs/components/tailwind/typing.pyi +4 -0
  712. homeassistant-stubs/components/technove/helpers.pyi +1 -4
  713. homeassistant-stubs/components/tedee/__init__.pyi +10 -3
  714. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -3
  715. homeassistant-stubs/components/tedee/config_flow.pyi +3 -1
  716. homeassistant-stubs/components/tedee/coordinator.pyi +5 -0
  717. homeassistant-stubs/components/tedee/diagnostics.pyi +2 -4
  718. homeassistant-stubs/components/tedee/lock.pyi +6 -3
  719. homeassistant-stubs/components/tedee/sensor.pyi +2 -3
  720. homeassistant-stubs/components/{ambiclimate → thethingsnetwork}/__init__.pyi +5 -4
  721. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +16 -0
  722. homeassistant-stubs/components/thethingsnetwork/const.pyi +8 -0
  723. homeassistant-stubs/components/thethingsnetwork/coordinator.pyi +16 -0
  724. homeassistant-stubs/components/thethingsnetwork/entity.pyi +22 -0
  725. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +17 -0
  726. homeassistant-stubs/components/tibber/coordinator.pyi +19 -0
  727. homeassistant-stubs/components/tibber/notify.pyi +15 -3
  728. homeassistant-stubs/components/tibber/sensor.pyi +3 -13
  729. homeassistant-stubs/components/tilt_ble/sensor.pyi +2 -2
  730. homeassistant-stubs/components/timer/__init__.pyi +1 -2
  731. homeassistant-stubs/components/todo/intent.pyi +2 -0
  732. homeassistant-stubs/components/tplink/entity.pyi +2 -5
  733. homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -5
  734. homeassistant-stubs/components/tplink_omada/entity.pyi +2 -5
  735. homeassistant-stubs/components/tractive/__init__.pyi +10 -3
  736. homeassistant-stubs/components/tractive/binary_sensor.pyi +3 -4
  737. homeassistant-stubs/components/tractive/const.pyi +0 -2
  738. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -4
  739. homeassistant-stubs/components/tractive/diagnostics.pyi +2 -3
  740. homeassistant-stubs/components/tractive/sensor.pyi +3 -4
  741. homeassistant-stubs/components/tractive/switch.pyi +3 -4
  742. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -1
  743. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -4
  744. homeassistant-stubs/components/trafikverket_camera/camera.pyi +3 -3
  745. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +3 -2
  746. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -4
  747. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +4 -2
  748. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +3 -2
  749. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +2 -2
  750. homeassistant-stubs/components/trafikverket_train/__init__.pyi +4 -2
  751. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +4 -3
  752. homeassistant-stubs/components/trafikverket_train/sensor.pyi +2 -2
  753. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +4 -2
  754. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +3 -2
  755. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +2 -2
  756. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -1
  757. homeassistant-stubs/components/twentemilieu/calendar.pyi +5 -7
  758. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +0 -4
  759. homeassistant-stubs/components/twentemilieu/entity.pyi +4 -5
  760. homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -2
  761. homeassistant-stubs/components/unifi/__init__.pyi +5 -4
  762. homeassistant-stubs/components/unifi/button.pyi +2 -3
  763. homeassistant-stubs/components/unifi/config_flow.pyi +2 -1
  764. homeassistant-stubs/components/unifi/device_tracker.pyi +3 -3
  765. homeassistant-stubs/components/unifi/diagnostics.pyi +2 -3
  766. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +0 -1
  767. homeassistant-stubs/components/unifi/hub/hub.pyi +3 -5
  768. homeassistant-stubs/components/unifi/image.pyi +2 -2
  769. homeassistant-stubs/components/unifi/sensor.pyi +2 -2
  770. homeassistant-stubs/components/unifi/services.pyi +0 -1
  771. homeassistant-stubs/components/unifi/switch.pyi +3 -3
  772. homeassistant-stubs/components/unifi/update.pyi +2 -3
  773. homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
  774. homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
  775. homeassistant-stubs/components/upcloud/__init__.pyi +2 -9
  776. homeassistant-stubs/components/upcloud/coordinator.pyi +16 -0
  777. homeassistant-stubs/components/vacuum/__init__.pyi +2 -4
  778. homeassistant-stubs/components/vacuum/const.pyi +1 -0
  779. homeassistant-stubs/components/vacuum/group.pyi +1 -1
  780. homeassistant-stubs/components/vallox/__init__.pyi +5 -6
  781. homeassistant-stubs/components/vallox/binary_sensor.pyi +2 -1
  782. homeassistant-stubs/components/vallox/config_flow.pyi +2 -1
  783. homeassistant-stubs/components/vallox/coordinator.pyi +12 -0
  784. homeassistant-stubs/components/vallox/date.pyi +2 -1
  785. homeassistant-stubs/components/vallox/fan.pyi +2 -1
  786. homeassistant-stubs/components/vallox/number.pyi +2 -1
  787. homeassistant-stubs/components/vallox/sensor.pyi +2 -1
  788. homeassistant-stubs/components/vallox/switch.pyi +2 -1
  789. homeassistant-stubs/components/velbus/entity.pyi +2 -4
  790. homeassistant-stubs/components/vlc_telnet/__init__.pyi +10 -3
  791. homeassistant-stubs/components/vlc_telnet/media_player.pyi +6 -6
  792. homeassistant-stubs/components/wallbox/coordinator.pyi +1 -3
  793. homeassistant-stubs/components/waqi/sensor.pyi +3 -6
  794. homeassistant-stubs/components/water_heater/__init__.pyi +2 -3
  795. homeassistant-stubs/components/water_heater/const.pyi +1 -0
  796. homeassistant-stubs/components/water_heater/group.pyi +2 -2
  797. homeassistant-stubs/components/weather/__init__.pyi +8 -7
  798. homeassistant-stubs/components/weather/group.pyi +1 -0
  799. homeassistant-stubs/components/weather/intent.pyi +2 -0
  800. homeassistant-stubs/components/webostv/media_player.pyi +2 -5
  801. homeassistant-stubs/components/websocket_api/commands.pyi +5 -5
  802. homeassistant-stubs/components/websocket_api/connection.pyi +2 -2
  803. homeassistant-stubs/components/websocket_api/const.pyi +5 -3
  804. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  805. homeassistant-stubs/components/websocket_api/messages.pyi +4 -5
  806. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  807. homeassistant-stubs/components/wemo/binary_sensor.pyi +1 -1
  808. homeassistant-stubs/components/wemo/config_flow.pyi +1 -1
  809. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  810. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  811. homeassistant-stubs/components/wemo/fan.pyi +1 -1
  812. homeassistant-stubs/components/wemo/light.pyi +1 -1
  813. homeassistant-stubs/components/wemo/models.pyi +3 -3
  814. homeassistant-stubs/components/wemo/sensor.pyi +1 -1
  815. homeassistant-stubs/components/wemo/switch.pyi +1 -1
  816. homeassistant-stubs/components/withings/__init__.pyi +6 -5
  817. homeassistant-stubs/components/withings/binary_sensor.pyi +2 -2
  818. homeassistant-stubs/components/withings/calendar.pyi +2 -3
  819. homeassistant-stubs/components/withings/coordinator.pyi +5 -7
  820. homeassistant-stubs/components/withings/diagnostics.pyi +2 -4
  821. homeassistant-stubs/components/withings/entity.pyi +0 -3
  822. homeassistant-stubs/components/withings/sensor.pyi +3 -7
  823. homeassistant-stubs/components/wled/__init__.pyi +4 -3
  824. homeassistant-stubs/components/wled/binary_sensor.pyi +3 -4
  825. homeassistant-stubs/components/wled/button.pyi +3 -4
  826. homeassistant-stubs/components/wled/diagnostics.pyi +2 -4
  827. homeassistant-stubs/components/wled/helpers.pyi +2 -5
  828. homeassistant-stubs/components/wled/light.pyi +4 -4
  829. homeassistant-stubs/components/wled/number.pyi +4 -4
  830. homeassistant-stubs/components/wled/select.pyi +3 -4
  831. homeassistant-stubs/components/wled/sensor.pyi +3 -4
  832. homeassistant-stubs/components/wled/switch.pyi +4 -4
  833. homeassistant-stubs/components/wled/update.pyi +3 -4
  834. homeassistant-stubs/components/xiaomi_ble/__init__.pyi +1 -1
  835. homeassistant-stubs/components/xiaomi_ble/binary_sensor.pyi +2 -2
  836. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +4 -4
  837. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  838. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -2
  839. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +3 -3
  840. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +2 -3
  841. homeassistant-stubs/components/yale_smart_alarm/button.pyi +4 -3
  842. homeassistant-stubs/components/yale_smart_alarm/const.pyi +0 -1
  843. homeassistant-stubs/components/yale_smart_alarm/diagnostics.pyi +2 -4
  844. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +3 -3
  845. homeassistant-stubs/components/yale_smart_alarm/sensor.pyi +16 -0
  846. homeassistant-stubs/components/yalexs_ble/__init__.pyi +5 -4
  847. homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +2 -4
  848. homeassistant-stubs/components/yalexs_ble/lock.pyi +2 -4
  849. homeassistant-stubs/components/yalexs_ble/sensor.pyi +2 -3
  850. homeassistant-stubs/components/zwave_js/api.pyi +2 -3
  851. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -1
  852. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +6 -6
  853. homeassistant-stubs/components/zwave_js/services.pyi +6 -8
  854. homeassistant-stubs/config.pyi +2 -1
  855. homeassistant-stubs/config_entries.pyi +18 -11
  856. homeassistant-stubs/const.pyi +5 -1
  857. homeassistant-stubs/core.pyi +19 -19
  858. homeassistant-stubs/data_entry_flow.pyi +0 -1
  859. homeassistant-stubs/generated/bluetooth.pyi +3 -1
  860. homeassistant-stubs/generated/countries.pyi +2 -2
  861. homeassistant-stubs/generated/dhcp.pyi +3 -1
  862. homeassistant-stubs/helpers/aiohttp_client.pyi +3 -2
  863. homeassistant-stubs/helpers/area_registry.pyi +9 -3
  864. homeassistant-stubs/helpers/category_registry.pyi +3 -1
  865. homeassistant-stubs/helpers/collection.pyi +3 -6
  866. homeassistant-stubs/helpers/condition.pyi +5 -5
  867. homeassistant-stubs/helpers/config_entry_flow.pyi +2 -3
  868. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +4 -2
  869. homeassistant-stubs/helpers/config_validation.pyi +5 -5
  870. homeassistant-stubs/helpers/debounce.pyi +1 -4
  871. homeassistant-stubs/helpers/deprecation.pyi +1 -5
  872. homeassistant-stubs/helpers/device_registry.pyi +6 -5
  873. homeassistant-stubs/helpers/discovery.pyi +1 -1
  874. homeassistant-stubs/helpers/discovery_flow.pyi +2 -1
  875. homeassistant-stubs/helpers/dispatcher.pyi +5 -5
  876. homeassistant-stubs/helpers/entity.pyi +6 -5
  877. homeassistant-stubs/helpers/entity_platform.pyi +11 -9
  878. homeassistant-stubs/helpers/entity_registry.pyi +6 -5
  879. homeassistant-stubs/helpers/entity_values.pyi +1 -2
  880. homeassistant-stubs/helpers/entityfilter.pyi +1 -1
  881. homeassistant-stubs/helpers/event.pyi +24 -22
  882. homeassistant-stubs/helpers/floor_registry.pyi +3 -1
  883. homeassistant-stubs/helpers/frame.pyi +4 -6
  884. homeassistant-stubs/helpers/httpx_client.pyi +5 -4
  885. homeassistant-stubs/helpers/icon.pyi +2 -2
  886. homeassistant-stubs/helpers/importlib.pyi +5 -3
  887. homeassistant-stubs/helpers/integration_platform.pyi +2 -1
  888. homeassistant-stubs/helpers/intent.pyi +114 -32
  889. homeassistant-stubs/helpers/issue_registry.pyi +13 -5
  890. homeassistant-stubs/helpers/label_registry.pyi +3 -1
  891. homeassistant-stubs/helpers/llm.pyi +87 -0
  892. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +0 -2
  893. homeassistant-stubs/helpers/ratelimit.pyi +0 -2
  894. homeassistant-stubs/helpers/recorder.pyi +3 -2
  895. homeassistant-stubs/helpers/redact.pyi +1 -3
  896. homeassistant-stubs/helpers/registry.pyi +5 -6
  897. homeassistant-stubs/helpers/restore_state.pyi +3 -1
  898. homeassistant-stubs/helpers/script.pyi +19 -9
  899. homeassistant-stubs/helpers/selector.pyi +4 -5
  900. homeassistant-stubs/helpers/service.pyi +8 -8
  901. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -2
  902. homeassistant-stubs/helpers/signal.pyi +3 -0
  903. homeassistant-stubs/helpers/significant_change.pyi +7 -3
  904. homeassistant-stubs/helpers/singleton.pyi +5 -2
  905. homeassistant-stubs/helpers/storage.pyi +8 -7
  906. homeassistant-stubs/helpers/sun.pyi +2 -1
  907. homeassistant-stubs/helpers/system_info.pyi +3 -0
  908. homeassistant-stubs/helpers/template.pyi +7 -12
  909. homeassistant-stubs/helpers/trace.pyi +1 -4
  910. homeassistant-stubs/helpers/translation.pyi +9 -3
  911. homeassistant-stubs/helpers/trigger.pyi +5 -2
  912. homeassistant-stubs/helpers/update_coordinator.pyi +1 -2
  913. homeassistant-stubs/loader.pyi +12 -8
  914. homeassistant-stubs/requirements.pyi +1 -0
  915. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -3
  916. homeassistant-stubs/setup.pyi +12 -10
  917. homeassistant-stubs/util/__init__.pyi +1 -3
  918. homeassistant-stubs/util/async_.pyi +1 -3
  919. homeassistant-stubs/util/collection.pyi +6 -0
  920. homeassistant-stubs/util/decorator.pyi +1 -5
  921. homeassistant-stubs/util/dt.pyi +2 -0
  922. homeassistant-stubs/util/enum.pyi +4 -8
  923. homeassistant-stubs/util/hass_dict.pyi +65 -0
  924. homeassistant-stubs/util/limited_size_dict.pyi +1 -4
  925. homeassistant-stubs/util/logging.pyi +1 -4
  926. homeassistant-stubs/util/loop.pyi +4 -7
  927. homeassistant-stubs/util/percentage.pyi +0 -3
  928. homeassistant-stubs/util/read_only_dict.pyi +3 -3
  929. homeassistant-stubs/util/signal_type.pyi +5 -12
  930. homeassistant-stubs/util/variance.pyi +2 -5
  931. homeassistant-stubs/util/yaml/loader.pyi +6 -0
  932. {homeassistant_stubs-2024.5.5.dist-info → homeassistant_stubs-2024.6.0.dist-info}/METADATA +2 -2
  933. {homeassistant_stubs-2024.5.5.dist-info → homeassistant_stubs-2024.6.0.dist-info}/RECORD +938 -862
  934. homeassistant-stubs/auth/session.pyi +0 -46
  935. homeassistant-stubs/components/aladdin_connect/model.pyi +0 -9
  936. homeassistant-stubs/components/ambiclimate/climate.pyi +0 -44
  937. homeassistant-stubs/components/ambiclimate/config_flow.pyi +0 -37
  938. homeassistant-stubs/components/ambiclimate/const.pyi +0 -9
  939. homeassistant-stubs/components/anova/util.pyi +0 -3
  940. homeassistant-stubs/components/brother/utils.pyi +0 -10
  941. homeassistant-stubs/components/cloud/util.pyi +0 -7
  942. homeassistant-stubs/components/fritzbox/common.pyi +0 -5
  943. homeassistant-stubs/components/http/session.pyi +0 -29
  944. homeassistant-stubs/components/knx/repairs.pyi +0 -7
  945. homeassistant-stubs/components/poolsense/binary_sensor.pyi +0 -15
  946. homeassistant-stubs/components/poolsense/const.pyi +0 -2
  947. homeassistant-stubs/components/poolsense/coordinator.pyi +0 -16
  948. homeassistant-stubs/components/poolsense/entity.pyi +0 -14
  949. homeassistant-stubs/components/poolsense/sensor.pyi +0 -16
  950. /homeassistant-stubs/components/mikrotik/{hub.pyi → coordinator.pyi} +0 -0
  951. /homeassistant-stubs/components/wemo/{wemo_device.pyi → coordinator.pyi} +0 -0
  952. /homeassistant-stubs/components/wled/{models.pyi → entity.pyi} +0 -0
  953. {homeassistant_stubs-2024.5.5.dist-info → homeassistant_stubs-2024.6.0.dist-info}/LICENSE +0 -0
  954. {homeassistant_stubs-2024.5.5.dist-info → homeassistant_stubs-2024.6.0.dist-info}/WHEEL +0 -0
@@ -3,7 +3,8 @@ from .debounce import Debouncer as Debouncer
3
3
  from .deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
4
4
  from .frame import report as report
5
5
  from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
6
- from .registry import BaseRegistry as BaseRegistry, BaseRegistryItems as BaseRegistryItems
6
+ from .registry import BaseRegistry as BaseRegistry, BaseRegistryItems as BaseRegistryItems, RegistryIndexType as RegistryIndexType
7
+ from .singleton import singleton as singleton
7
8
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
8
9
  from _typeshed import Incomplete
9
10
  from collections.abc import Mapping
@@ -15,12 +16,13 @@ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, R
15
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
17
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
17
18
  from homeassistant.util.event_type import EventType as EventType
19
+ from homeassistant.util.hass_dict import HassKey as HassKey
18
20
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
19
- from typing import Any, Literal, TypeVar, TypedDict
21
+ from typing import Any, Literal, TypedDict
20
22
  from yarl import URL
21
23
 
22
24
  _LOGGER: Incomplete
23
- DATA_REGISTRY: str
25
+ DATA_REGISTRY: HassKey[DeviceRegistry]
24
26
  EVENT_DEVICE_REGISTRY_UPDATED: EventType[EventDeviceRegistryUpdatedData]
25
27
  STORAGE_KEY: str
26
28
  STORAGE_VERSION_MAJOR: int
@@ -143,7 +145,6 @@ def format_mac(mac: str) -> str: ...
143
145
 
144
146
  class DeviceRegistryStore(storage.Store[dict[str, list[dict[str, Any]]]]):
145
147
  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]: ...
146
- _EntryTypeT = TypeVar('_EntryTypeT', DeviceEntry, DeletedDeviceEntry)
147
148
 
148
149
  class DeviceRegistryItems(BaseRegistryItems[_EntryTypeT]):
149
150
  _connections: Incomplete
@@ -176,7 +177,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
176
177
  def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
177
178
  def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
178
179
  def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | 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 = ..., 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: ...
179
- def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | 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 = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | 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: ...
180
+ def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | 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 = ..., 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: ...
180
181
  def async_remove_device(self, device_id: str) -> None: ...
181
182
  async def async_load(self) -> None: ...
182
183
  def _data_to_save(self) -> dict[str, Any]: ...
@@ -1,5 +1,5 @@
1
1
  from ..util.signal_type import SignalTypeFormat as SignalTypeFormat
2
- from .dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
2
+ from .dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send_internal as async_dispatcher_send_internal
3
3
  from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
4
4
  from collections.abc import Callable as Callable, Coroutine
5
5
  from homeassistant import core as core, setup as setup
@@ -5,10 +5,11 @@ from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTA
5
5
  from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.loader import bind_hass as bind_hass
7
7
  from homeassistant.util.async_ import gather_with_limited_concurrency as gather_with_limited_concurrency
8
+ from homeassistant.util.hass_dict import HassKey as HassKey
8
9
  from typing import Any, NamedTuple
9
10
 
10
11
  FLOW_INIT_LIMIT: int
11
- DISCOVERY_FLOW_DISPATCHER: str
12
+ DISCOVERY_FLOW_DISPATCHER: HassKey[FlowDispatcher]
12
13
 
13
14
  def async_create_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any) -> None: ...
14
15
  def _async_init_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any) -> Coroutine[None, None, ConfigFlowResult] | None: ...
@@ -1,13 +1,12 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable, Coroutine
3
- from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type
3
+ from homeassistant.core import HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type
4
4
  from homeassistant.loader import bind_hass as bind_hass
5
5
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
6
- from homeassistant.util.logging import catch_log_exception as catch_log_exception
6
+ from homeassistant.util.logging import catch_log_exception as catch_log_exception, log_exception as log_exception
7
7
  from homeassistant.util.signal_type import SignalType as SignalType
8
- from typing import Any, TypeVarTuple, overload
8
+ from typing import Any, overload
9
9
 
10
- _Ts = TypeVarTuple('_Ts')
11
10
  _LOGGER: Incomplete
12
11
  DATA_DISPATCHER: str
13
12
  _DispatcherDataType: Incomplete
@@ -26,8 +25,9 @@ def dispatcher_send(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args:
26
25
  @overload
27
26
  def dispatcher_send(hass: HomeAssistant, signal: str, *args: Any) -> None: ...
28
27
  def _format_err(signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any], *args: Any) -> str: ...
29
- def _generate_job(signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> HassJob[..., None | Coroutine[Any, Any, None]]: ...
28
+ def _generate_job(signal: SignalType[Unpack[_Ts]] | str, target: Callable[[Unpack[_Ts]], Any] | Callable[..., Any]) -> HassJob[..., Coroutine[Any, Any, None] | None]: ...
30
29
  @overload
31
30
  def async_dispatcher_send(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]], *args: Unpack[_Ts]) -> None: ...
32
31
  @overload
33
32
  def async_dispatcher_send(hass: HomeAssistant, signal: str, *args: Any) -> None: ...
33
+ def async_dispatcher_send_internal(hass: HomeAssistant, signal: SignalType[Unpack[_Ts]] | str, *args: Unpack[_Ts]) -> None: ...
@@ -1,6 +1,7 @@
1
1
  import asyncio
2
2
  import dataclasses
3
- from . import device_registry as dr, entity_registry as er
3
+ import time
4
+ from . import device_registry as dr, entity_registry as er, singleton as singleton
4
5
  from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
5
6
  from .entity_platform import EntityPlatform as EntityPlatform
6
7
  from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
@@ -18,9 +19,9 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, I
18
19
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
19
20
  from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
20
21
  from homeassistant.util.frozen_dataclass_compat import FrozenOrThawed as FrozenOrThawed
21
- from typing import Any, Final, Literal, NotRequired, TypeVar, TypedDict
22
+ from typing import Any, Final, Literal, NotRequired, TypedDict
22
23
 
23
- _T = TypeVar('_T')
24
+ timer = time.time
24
25
  _LOGGER: Incomplete
25
26
  SLOW_UPDATE_WARNING: int
26
27
  DATA_ENTITY_SOURCE: str
@@ -118,7 +119,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
118
119
  _attr_assumed_state: bool
119
120
  _attr_attribution: str | None
120
121
  _attr_available: bool
121
- _attr_capability_attributes: Mapping[str, Any] | None
122
+ _attr_capability_attributes: dict[str, Any] | None
122
123
  _attr_device_class: str | None
123
124
  _attr_device_info: DeviceInfo | None
124
125
  _attr_entity_category: EntityCategory | None
@@ -164,7 +165,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
164
165
  @cached_property
165
166
  def state(self) -> StateType: ...
166
167
  @cached_property
167
- def capability_attributes(self) -> Mapping[str, Any] | None: ...
168
+ def capability_attributes(self) -> dict[str, Any] | None: ...
168
169
  def get_initial_entity_options(self) -> er.EntityOptionsType | None: ...
169
170
  @cached_property
170
171
  def state_attributes(self) -> dict[str, Any] | None: ...
@@ -3,20 +3,21 @@ import voluptuous as vol
3
3
  from . import service as service, translation as translation
4
4
  from .entity import Entity as Entity
5
5
  from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
6
- from .event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
6
+ from .event import async_call_later as async_call_later
7
7
  from .issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
8
8
  from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED
9
9
  from _typeshed import Incomplete
10
10
  from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
11
11
  from contextvars import ContextVar
12
- from datetime import datetime, timedelta
12
+ from datetime import timedelta
13
13
  from homeassistant import config_entries as config_entries
14
14
  from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
15
15
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
16
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
16
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
17
17
  from homeassistant.generated import languages as languages
18
18
  from homeassistant.setup import SetupPhases as SetupPhases, async_start_setup as async_start_setup
19
19
  from homeassistant.util.async_ import create_eager_task as create_eager_task
20
+ from homeassistant.util.hass_dict import HassKey as HassKey
20
21
  from logging import Logger
21
22
  from typing import Any, Protocol
22
23
 
@@ -25,9 +26,9 @@ SLOW_SETUP_MAX_WAIT: int
25
26
  SLOW_ADD_ENTITY_MAX_WAIT: int
26
27
  SLOW_ADD_MIN_TIMEOUT: int
27
28
  PLATFORM_NOT_READY_RETRIES: int
28
- DATA_ENTITY_PLATFORM: str
29
- DATA_DOMAIN_ENTITIES: str
30
- DATA_DOMAIN_PLATFORM_ENTITIES: str
29
+ DATA_ENTITY_PLATFORM: HassKey[dict[str, list[EntityPlatform]]]
30
+ DATA_DOMAIN_ENTITIES: HassKey[dict[str, dict[str, Entity]]]
31
+ DATA_DOMAIN_PLATFORM_ENTITIES: HassKey[dict[tuple[str, str], dict[str, Entity]]]
31
32
  PLATFORM_NOT_READY_BASE_WAIT_TIME: int
32
33
  _LOGGER: Incomplete
33
34
 
@@ -46,6 +47,7 @@ class EntityPlatform:
46
47
  platform_name: Incomplete
47
48
  platform: Incomplete
48
49
  scan_interval: Incomplete
50
+ scan_interval_seconds: Incomplete
49
51
  entity_namespace: Incomplete
50
52
  config_entry: Incomplete
51
53
  entities: Incomplete
@@ -55,7 +57,7 @@ class EntityPlatform:
55
57
  object_id_platform_translations: Incomplete
56
58
  _tasks: Incomplete
57
59
  _setup_complete: bool
58
- _async_unsub_polling: Incomplete
60
+ _async_polling_timer: Incomplete
59
61
  _async_cancel_retry_setup: Incomplete
60
62
  _process_updates: Incomplete
61
63
  parallel_updates: Incomplete
@@ -80,7 +82,7 @@ class EntityPlatform:
80
82
  async def _async_add_and_update_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
81
83
  async def _async_add_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
82
84
  async def async_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
83
- def _async_handle_interval_callback(self, now: datetime) -> None: ...
85
+ def _async_handle_interval_callback(self) -> None: ...
84
86
  def _entity_id_already_exists(self, entity_id: str) -> tuple[bool, bool]: ...
85
87
  async def _async_add_entity(self, entity: Entity, update_before_add: bool, entity_registry: EntityRegistry) -> None: ...
86
88
  async def async_reset(self) -> None: ...
@@ -90,7 +92,7 @@ class EntityPlatform:
90
92
  async def async_remove_entity(self, entity_id: str) -> None: ...
91
93
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
92
94
  def async_register_entity_service(self, name: str, schema: dict[str | vol.Marker, Any] | vol.Schema, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
93
- async def _update_entity_states(self, now: datetime) -> None: ...
95
+ async def _async_update_entity_states(self) -> None: ...
94
96
 
95
97
  current_platform: ContextVar[EntityPlatform | None]
96
98
 
@@ -1,7 +1,8 @@
1
1
  from . import storage as storage
2
2
  from .device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
3
3
  from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
4
- from .registry import BaseRegistry as BaseRegistry, BaseRegistryItems as BaseRegistryItems
4
+ from .registry import BaseRegistry as BaseRegistry, BaseRegistryItems as BaseRegistryItems, RegistryIndexType as RegistryIndexType
5
+ from .singleton import singleton as singleton
5
6
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
6
7
  from _typeshed import Incomplete
7
8
  from collections.abc import Callable as Callable, Container, Hashable, KeysView, Mapping
@@ -14,12 +15,12 @@ from homeassistant.exceptions import MaxLengthExceeded as MaxLengthExceeded
14
15
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
15
16
  from homeassistant.util import slugify as slugify
16
17
  from homeassistant.util.event_type import EventType as EventType
18
+ from homeassistant.util.hass_dict import HassKey as HassKey
17
19
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
18
20
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
19
- from typing import Any, Literal, NotRequired, TypeVar, TypedDict
21
+ from typing import Any, Literal, NotRequired, TypedDict
20
22
 
21
- T = TypeVar('T')
22
- DATA_REGISTRY: str
23
+ DATA_REGISTRY: HassKey[EntityRegistry]
23
24
  EVENT_ENTITY_REGISTRY_UPDATED: EventType[EventEntityRegistryUpdatedData]
24
25
  _LOGGER: Incomplete
25
26
  STORAGE_VERSION_MAJOR: int
@@ -149,7 +150,7 @@ class EntityRegistryItems(BaseRegistryItems[RegistryEntry]):
149
150
  def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
150
151
  def get_entries_for_label(self, label: str) -> list[RegistryEntry]: ...
151
152
 
152
- def _validate_item(hass: HomeAssistant, domain: str, platform: str, unique_id: str | Hashable | UndefinedType | Any, *, disabled_by: RegistryEntryDisabler | None | UndefinedType = None, entity_category: EntityCategory | None | UndefinedType = None, hidden_by: RegistryEntryHider | None | UndefinedType = None) -> None: ...
153
+ 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: ...
153
154
 
154
155
  class EntityRegistry(BaseRegistry):
155
156
  deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
@@ -1,8 +1,7 @@
1
1
  from _typeshed import Incomplete
2
+ from homeassistant.const import MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS
2
3
  from homeassistant.core import split_entity_id as split_entity_id
3
4
 
4
- _MAX_EXPECTED_ENTITIES: int
5
-
6
5
  class EntityValues:
7
6
  _exact: Incomplete
8
7
  _domain: Incomplete
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
- from homeassistant.const import CONF_DOMAINS as CONF_DOMAINS, CONF_ENTITIES as CONF_ENTITIES, CONF_EXCLUDE as CONF_EXCLUDE, CONF_INCLUDE as CONF_INCLUDE
4
+ from homeassistant.const import CONF_DOMAINS as CONF_DOMAINS, CONF_ENTITIES as CONF_ENTITIES, CONF_EXCLUDE as CONF_EXCLUDE, CONF_INCLUDE as CONF_INCLUDE, MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS
5
5
  from homeassistant.core import split_entity_id as split_entity_id
6
6
 
7
7
  CONF_INCLUDE_DOMAINS: str
@@ -8,6 +8,7 @@ from .sun import get_astral_event_next as get_astral_event_next
8
8
  from .template import RenderInfo as RenderInfo, Template as Template, result_as_boolean as result_as_boolean
9
9
  from .typing import TemplateVarsType as TemplateVarsType
10
10
  from _typeshed import Incomplete
11
+ from collections import defaultdict
11
12
  from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
12
13
  from dataclasses import dataclass
13
14
  from datetime import datetime, timedelta
@@ -17,18 +18,14 @@ from homeassistant.exceptions import TemplateError as TemplateError
17
18
  from homeassistant.loader import bind_hass as bind_hass
18
19
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
19
20
  from homeassistant.util.event_type import EventType as EventType
20
- from typing import Any, Concatenate, Generic, ParamSpec, TypeVar
21
-
22
- TRACK_STATE_CHANGE_CALLBACKS: str
23
- TRACK_STATE_CHANGE_LISTENER: str
24
- TRACK_STATE_ADDED_DOMAIN_CALLBACKS: str
25
- TRACK_STATE_ADDED_DOMAIN_LISTENER: str
26
- TRACK_STATE_REMOVED_DOMAIN_CALLBACKS: str
27
- TRACK_STATE_REMOVED_DOMAIN_LISTENER: str
28
- TRACK_ENTITY_REGISTRY_UPDATED_CALLBACKS: str
29
- TRACK_ENTITY_REGISTRY_UPDATED_LISTENER: str
30
- TRACK_DEVICE_REGISTRY_UPDATED_CALLBACKS: str
31
- TRACK_DEVICE_REGISTRY_UPDATED_LISTENER: str
21
+ from homeassistant.util.hass_dict import HassKey as HassKey
22
+ from typing import Any, Concatenate, Generic, TypeVar
23
+
24
+ _TRACK_STATE_CHANGE_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
25
+ _TRACK_STATE_ADDED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
26
+ _TRACK_STATE_REMOVED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
27
+ _TRACK_ENTITY_REGISTRY_UPDATED_DATA: HassKey[_KeyedEventData[EventEntityRegistryUpdatedData]]
28
+ _TRACK_DEVICE_REGISTRY_UPDATED_DATA: HassKey[_KeyedEventData[EventDeviceRegistryUpdatedData]]
32
29
  _ALL_LISTENER: str
33
30
  _DOMAINS_LISTENER: str
34
31
  _ENTITIES_LISTENER: str
@@ -36,16 +33,20 @@ _LOGGER: Incomplete
36
33
  RANDOM_MICROSECOND_MIN: int
37
34
  RANDOM_MICROSECOND_MAX: int
38
35
  _TypedDictT = TypeVar('_TypedDictT', bound=Mapping[str, Any])
39
- _P = ParamSpec('_P')
40
36
 
41
37
  @dataclass(slots=True, frozen=True)
42
38
  class _KeyedEventTracker(Generic[_TypedDictT]):
43
- listeners_key: str
44
- callbacks_key: str
39
+ key: HassKey[_KeyedEventData[_TypedDictT]]
45
40
  event_type: EventType[_TypedDictT] | str
46
41
  dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], Event[_TypedDictT]], None]
47
42
  filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], _TypedDictT], bool]
48
- def __init__(self, listeners_key, callbacks_key, event_type, dispatcher_callable, filter_callable) -> None: ...
43
+ def __init__(self, key, event_type, dispatcher_callable, filter_callable) -> None: ...
44
+
45
+ @dataclass(slots=True, frozen=True)
46
+ class _KeyedEventData(Generic[_TypedDictT]):
47
+ listener: CALLBACK_TYPE
48
+ callbacks: defaultdict[str, list[HassJob[[Event[_TypedDictT]], Any]]]
49
+ def __init__(self, listener, callbacks) -> None: ...
49
50
 
50
51
  @dataclass(slots=True)
51
52
  class TrackStates:
@@ -69,7 +70,7 @@ class TrackTemplateResult:
69
70
  def __init__(self, template, last_result, result) -> None: ...
70
71
 
71
72
  def threaded_listener_factory(async_factory: Callable[Concatenate[HomeAssistant, _P], Any]) -> Callable[Concatenate[HomeAssistant, _P], CALLBACK_TYPE]: ...
72
- def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], from_state: None | str | Iterable[str] = None, to_state: None | str | Iterable[str] = None) -> CALLBACK_TYPE: ...
73
+ def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], from_state: str | Iterable[str] | None = None, to_state: str | Iterable[str] | None = None) -> CALLBACK_TYPE: ...
73
74
 
74
75
  track_state_change: Incomplete
75
76
 
@@ -81,7 +82,7 @@ _KEYED_TRACK_STATE_CHANGE: Incomplete
81
82
 
82
83
  def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
83
84
  def _remove_empty_listener() -> None: ...
84
- def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[Event[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[Event[_TypedDictT]], Any]]]) -> None: ...
85
+ def _remove_listener(hass: HomeAssistant, tracker: _KeyedEventTracker[_TypedDictT], keys: Iterable[str], job: HassJob[[Event[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[Event[_TypedDictT]], Any]]]) -> None: ...
85
86
  def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[Event[_TypedDictT]], None], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
86
87
  def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event: Event[EventEntityRegistryUpdatedData]) -> None: ...
87
88
  def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event_data: EventEntityRegistryUpdatedData) -> bool: ...
@@ -199,11 +200,12 @@ class _TrackTimeInterval:
199
200
  cancel_on_shutdown: bool | None
200
201
  _track_job: HassJob[[datetime], Coroutine[Any, Any, None] | None] | None = ...
201
202
  _run_job: HassJob[[datetime], Coroutine[Any, Any, None] | None] | None = ...
202
- _cancel_callback: CALLBACK_TYPE | None = ...
203
+ _timer_handle: asyncio.TimerHandle | None = ...
203
204
  def async_attach(self) -> None: ...
204
- def _interval_listener(self, now: datetime) -> None: ...
205
+ def _schedule_timer(self) -> None: ...
206
+ def _interval_listener(self, _: Any) -> None: ...
205
207
  def async_cancel(self) -> None: ...
206
- def __init__(self, hass, seconds, job_name, action, cancel_on_shutdown, _track_job, _run_job, _cancel_callback) -> None: ...
208
+ def __init__(self, hass, seconds, job_name, action, cancel_on_shutdown, _track_job, _run_job, _timer_handle) -> None: ...
207
209
 
208
210
  def async_track_time_interval(hass: HomeAssistant, action: Callable[[datetime], Coroutine[Any, Any, None] | None], interval: timedelta, *, name: str | None = None, cancel_on_shutdown: bool | None = None) -> CALLBACK_TYPE: ...
209
211
 
@@ -258,7 +260,7 @@ def async_track_time_change(hass: HomeAssistant, action: Callable[[datetime], Co
258
260
 
259
261
  track_time_change: Incomplete
260
262
 
261
- def process_state_match(parameter: None | str | Iterable[str], invert: bool = False) -> Callable[[str | None], bool]: ...
263
+ def process_state_match(parameter: str | Iterable[str] | None, invert: bool = False) -> Callable[[str | None], bool]: ...
262
264
  def _entities_domains_from_render_infos(render_infos: Iterable[RenderInfo]) -> tuple[set[str], set[str]]: ...
263
265
  def _render_infos_needs_all_listener(render_infos: Iterable[RenderInfo]) -> bool: ...
264
266
  def _render_infos_to_track_states(render_infos: Iterable[RenderInfo]) -> TrackStates: ...
@@ -1,5 +1,6 @@
1
1
  from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
2
2
  from .registry import BaseRegistry as BaseRegistry
3
+ from .singleton import singleton as singleton
3
4
  from .storage import Store as Store
4
5
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
5
6
  from _typeshed import Incomplete
@@ -8,9 +9,10 @@ from dataclasses import dataclass
8
9
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.util import slugify as slugify
10
11
  from homeassistant.util.event_type import EventType as EventType
12
+ from homeassistant.util.hass_dict import HassKey as HassKey
11
13
  from typing import Literal, TypedDict
12
14
 
13
- DATA_REGISTRY: str
15
+ DATA_REGISTRY: HassKey[FloorRegistry]
14
16
  EVENT_FLOOR_REGISTRY_UPDATED: EventType[EventFloorRegistryUpdatedData]
15
17
  STORAGE_KEY: str
16
18
  STORAGE_VERSION_MAJOR: int
@@ -1,17 +1,15 @@
1
1
  import logging
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable
3
+ from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
5
5
  from functools import cached_property as cached_property
6
- from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass
6
+ from homeassistant.core import 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 async_suggest_report_issue as async_suggest_report_issue
9
9
  from types import FrameType
10
- from typing import TypeVar
11
10
 
12
11
  _LOGGER: Incomplete
13
12
  _REPORTED_INTEGRATIONS: set[str]
14
- _CallableT = TypeVar('_CallableT', bound=Callable)
15
13
 
16
14
  @dataclass(kw_only=True)
17
15
  class IntegrationFrame:
@@ -19,14 +17,14 @@ class IntegrationFrame:
19
17
  integration: str
20
18
  module: str | None
21
19
  relative_filename: str
22
- _frame: FrameType
20
+ frame: FrameType
23
21
  @cached_property
24
22
  def line_number(self) -> int: ...
25
23
  @cached_property
26
24
  def filename(self) -> str: ...
27
25
  @cached_property
28
26
  def line(self) -> str: ...
29
- def __init__(self, *, custom_integration, integration, module, relative_filename, _frame) -> None: ...
27
+ def __init__(self, *, custom_integration, integration, module, relative_filename, frame) -> None: ...
30
28
 
31
29
  def get_integration_logger(fallback_name: str) -> logging.Logger: ...
32
30
  def get_current_frame(depth: int = 0) -> FrameType: ...
@@ -1,16 +1,17 @@
1
1
  import httpx
2
2
  from .frame import warn_use as warn_use
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable
4
+ from collections.abc import Callable as Callable, Coroutine
5
5
  from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, __version__ as __version__
6
6
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.loader import bind_hass as bind_hass
8
+ from homeassistant.util.hass_dict import HassKey as HassKey
8
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
9
10
  from typing import Any, Self
10
11
 
11
12
  KEEP_ALIVE_TIMEOUT: int
12
- DATA_ASYNC_CLIENT: str
13
- DATA_ASYNC_CLIENT_NOVERIFY: str
13
+ DATA_ASYNC_CLIENT: HassKey[httpx.AsyncClient]
14
+ DATA_ASYNC_CLIENT_NOVERIFY: HassKey[httpx.AsyncClient]
14
15
  DEFAULT_LIMITS: Incomplete
15
16
  limits: Incomplete
16
17
  SERVER_SOFTWARE: Incomplete
@@ -23,4 +24,4 @@ class HassHttpXAsyncClient(httpx.AsyncClient):
23
24
  async def __aexit__(self, *args: object) -> None: ...
24
25
 
25
26
  def create_async_httpx_client(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, ssl_cipher_list: SSLCipherList = ..., **kwargs: Any) -> httpx.AsyncClient: ...
26
- def _async_register_async_client_shutdown(hass: HomeAssistant, client: httpx.AsyncClient, original_aclose: Callable[..., Any]) -> None: ...
27
+ def _async_register_async_client_shutdown(hass: HomeAssistant, client: httpx.AsyncClient, original_aclose: Callable[[], Coroutine[Any, Any, None]]) -> None: ...
@@ -4,13 +4,13 @@ from _typeshed import Incomplete
4
4
  from collections.abc import Iterable
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations
7
+ from homeassistant.util.hass_dict import HassKey as HassKey
7
8
  from homeassistant.util.json import load_json_object as load_json_object
8
9
  from typing import Any
9
10
 
10
- ICON_CACHE: str
11
+ ICON_CACHE: HassKey[_IconsCache]
11
12
  _LOGGER: Incomplete
12
13
 
13
- def _component_icons_path(integration: Integration) -> pathlib.Path: ...
14
14
  def _load_icons_files(icons_files: dict[str, pathlib.Path]) -> dict[str, dict[str, Any]]: ...
15
15
  async def _async_get_component_icons(hass: HomeAssistant, components: set[str], integrations: dict[str, Integration]) -> dict[str, Any]: ...
16
16
 
@@ -1,11 +1,13 @@
1
+ import asyncio
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.util.hass_dict import HassKey as HassKey
3
5
  from types import ModuleType
4
6
 
5
7
  _LOGGER: Incomplete
6
- DATA_IMPORT_CACHE: str
7
- DATA_IMPORT_FUTURES: str
8
- DATA_IMPORT_FAILURES: str
8
+ DATA_IMPORT_CACHE: HassKey[dict[str, ModuleType]]
9
+ DATA_IMPORT_FUTURES: HassKey[dict[str, asyncio.Future[ModuleType]]]
10
+ DATA_IMPORT_FAILURES: HassKey[dict[str, bool]]
9
11
 
10
12
  def _get_module(cache: dict[str, ModuleType], name: str) -> ModuleType: ...
11
13
  async def async_import_module(hass: HomeAssistant, name: str) -> ModuleType: ...
@@ -6,12 +6,13 @@ from homeassistant.const import EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED
6
6
  from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, async_get_loaded_integration as async_get_loaded_integration, async_register_preload_platform as async_register_preload_platform, bind_hass as bind_hass
8
8
  from homeassistant.setup import ATTR_COMPONENT as ATTR_COMPONENT, EventComponentLoaded as EventComponentLoaded
9
+ from homeassistant.util.hass_dict import HassKey as HassKey
9
10
  from homeassistant.util.logging import catch_log_exception as catch_log_exception
10
11
  from types import ModuleType
11
12
  from typing import Any
12
13
 
13
14
  _LOGGER: Incomplete
14
- DATA_INTEGRATION_PLATFORMS: str
15
+ DATA_INTEGRATION_PLATFORMS: HassKey[list[IntegrationPlatform]]
15
16
 
16
17
  @dataclass(slots=True, frozen=True)
17
18
  class IntegrationPlatform: