homeassistant-stubs 2024.3.2__py3-none-any.whl → 2024.4.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 (871) hide show
  1. homeassistant-stubs/auth/__init__.pyi +5 -4
  2. homeassistant-stubs/auth/auth_store.pyi +3 -1
  3. homeassistant-stubs/auth/mfa_modules/__init__.pyi +1 -0
  4. homeassistant-stubs/auth/models.pyi +2 -0
  5. homeassistant-stubs/auth/providers/__init__.pyi +8 -7
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -3
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -3
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  9. homeassistant-stubs/auth/providers/legacy_api_password.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -3
  11. homeassistant-stubs/bootstrap.pyi +8 -4
  12. homeassistant-stubs/components/__init__.pyi +1 -0
  13. homeassistant-stubs/components/abode/alarm_control_panel.pyi +4 -5
  14. homeassistant-stubs/components/abode/binary_sensor.pyi +2 -2
  15. homeassistant-stubs/components/abode/camera.pyi +2 -2
  16. homeassistant-stubs/components/abode/config_flow.pyi +9 -10
  17. homeassistant-stubs/components/abode/cover.pyi +2 -2
  18. homeassistant-stubs/components/abode/light.pyi +2 -2
  19. homeassistant-stubs/components/abode/lock.pyi +2 -2
  20. homeassistant-stubs/components/abode/sensor.pyi +8 -12
  21. homeassistant-stubs/components/abode/switch.pyi +2 -2
  22. homeassistant-stubs/components/accuweather/config_flow.pyi +3 -5
  23. homeassistant-stubs/components/accuweather/sensor.pyi +3 -7
  24. homeassistant-stubs/components/accuweather/weather.pyi +0 -2
  25. homeassistant-stubs/components/acmeda/config_flow.pyi +4 -5
  26. homeassistant-stubs/components/adax/config_flow.pyi +5 -6
  27. homeassistant-stubs/components/adguard/config_flow.pyi +6 -7
  28. homeassistant-stubs/components/aftership/config_flow.pyi +3 -6
  29. homeassistant-stubs/components/aftership/sensor.pyi +3 -8
  30. homeassistant-stubs/components/airly/config_flow.pyi +3 -4
  31. homeassistant-stubs/components/airnow/config_flow.pyi +4 -6
  32. homeassistant-stubs/components/airnow/sensor.pyi +3 -7
  33. homeassistant-stubs/components/airq/config_flow.pyi +3 -4
  34. homeassistant-stubs/components/airq/sensor.pyi +3 -7
  35. homeassistant-stubs/components/airthings/config_flow.pyi +3 -4
  36. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -5
  37. homeassistant-stubs/components/airtouch5/config_flow.pyi +1 -2
  38. homeassistant-stubs/components/airvisual/config_flow.pyi +10 -12
  39. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +6 -8
  40. homeassistant-stubs/components/airzone/config_flow.pyi +6 -6
  41. homeassistant-stubs/components/airzone/select.pyi +3 -7
  42. homeassistant-stubs/components/airzone_cloud/climate.pyi +10 -1
  43. homeassistant-stubs/components/airzone_cloud/config_flow.pyi +4 -5
  44. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +6 -7
  45. homeassistant-stubs/components/aladdin_connect/sensor.pyi +3 -7
  46. homeassistant-stubs/components/alert/__init__.pyi +3 -3
  47. homeassistant-stubs/components/alexa/smart_home.pyi +1 -2
  48. homeassistant-stubs/components/amberelectric/config_flow.pyi +4 -5
  49. homeassistant-stubs/components/ambiclimate/config_flow.pyi +6 -7
  50. homeassistant-stubs/components/ambient_station/config_flow.pyi +4 -5
  51. homeassistant-stubs/components/amcrest/camera.pyi +1 -1
  52. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -4
  53. homeassistant-stubs/components/android_ip_webcam/config_flow.pyi +3 -4
  54. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +3 -7
  55. homeassistant-stubs/components/android_ip_webcam/switch.pyi +3 -7
  56. homeassistant-stubs/components/androidtv/config_flow.pyi +10 -11
  57. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +9 -10
  58. homeassistant-stubs/components/anova/config_flow.pyi +2 -3
  59. homeassistant-stubs/components/anthemav/config_flow.pyi +2 -3
  60. homeassistant-stubs/components/apache_kafka/__init__.pyi +3 -3
  61. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +3 -1
  62. homeassistant-stubs/components/apcupsd/config_flow.pyi +4 -5
  63. homeassistant-stubs/components/apcupsd/const.pyi +1 -0
  64. homeassistant-stubs/components/apcupsd/coordinator.pyi +11 -10
  65. homeassistant-stubs/components/apcupsd/diagnostics.pyi +11 -0
  66. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -1
  67. homeassistant-stubs/components/api/__init__.pyi +1 -1
  68. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -0
  69. homeassistant-stubs/components/apple_tv/config_flow.pyi +18 -18
  70. homeassistant-stubs/components/aranet/config_flow.pyi +6 -6
  71. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +7 -8
  72. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +3 -2
  73. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +3 -7
  74. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +10 -5
  75. homeassistant-stubs/components/asuswrt/config_flow.pyi +5 -6
  76. homeassistant-stubs/components/auth/__init__.pyi +1 -0
  77. homeassistant-stubs/components/auth/login_flow.pyi +4 -3
  78. homeassistant-stubs/components/automation/__init__.pyi +19 -2
  79. homeassistant-stubs/components/awair/config_flow.pyi +9 -10
  80. homeassistant-stubs/components/awair/sensor.pyi +3 -7
  81. homeassistant-stubs/components/axis/__init__.pyi +1 -1
  82. homeassistant-stubs/components/axis/binary_sensor.pyi +26 -14
  83. homeassistant-stubs/components/axis/camera.pyi +2 -2
  84. homeassistant-stubs/components/axis/config_flow.pyi +20 -18
  85. homeassistant-stubs/components/axis/const.pyi +0 -1
  86. homeassistant-stubs/components/axis/diagnostics.pyi +1 -1
  87. homeassistant-stubs/components/axis/entity.pyi +16 -8
  88. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/api.pyi +10 -0
  90. homeassistant-stubs/components/axis/hub/config.pyi +21 -0
  91. homeassistant-stubs/components/axis/hub/entity_loader.pyi +15 -0
  92. homeassistant-stubs/components/axis/hub/hub.pyi +41 -0
  93. homeassistant-stubs/components/axis/light.pyi +17 -8
  94. homeassistant-stubs/components/axis/switch.pyi +13 -5
  95. homeassistant-stubs/components/backup/http.pyi +1 -1
  96. homeassistant-stubs/components/baf/binary_sensor.pyi +3 -7
  97. homeassistant-stubs/components/baf/config_flow.pyi +5 -6
  98. homeassistant-stubs/components/baf/number.pyi +3 -7
  99. homeassistant-stubs/components/baf/sensor.pyi +3 -7
  100. homeassistant-stubs/components/baf/switch.pyi +3 -7
  101. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +5 -6
  102. homeassistant-stubs/components/bang_olufsen/const.pyi +22 -22
  103. homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -4
  104. homeassistant-stubs/components/bang_olufsen/media_player.pyi +4 -5
  105. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -1
  106. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/blue_current/__init__.pyi +10 -12
  108. homeassistant-stubs/components/blue_current/config_flow.pyi +5 -6
  109. homeassistant-stubs/components/bluetooth/config_flow.pyi +5 -6
  110. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -2
  111. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +3 -7
  112. homeassistant-stubs/components/bmw_connected_drive/button.pyi +3 -7
  113. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +14 -14
  114. homeassistant-stubs/components/bmw_connected_drive/number.pyi +3 -7
  115. homeassistant-stubs/components/bmw_connected_drive/select.pyi +3 -7
  116. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +3 -7
  117. homeassistant-stubs/components/bond/button.pyi +4 -8
  118. homeassistant-stubs/components/bond/config_flow.pyi +7 -8
  119. homeassistant-stubs/components/bond/light.pyi +1 -1
  120. homeassistant-stubs/components/braviatv/button.pyi +3 -7
  121. homeassistant-stubs/components/braviatv/config_flow.pyi +11 -13
  122. homeassistant-stubs/components/brother/config_flow.pyi +7 -7
  123. homeassistant-stubs/components/brother/sensor.pyi +3 -7
  124. homeassistant-stubs/components/bthome/__init__.pyi +3 -2
  125. homeassistant-stubs/components/bthome/config_flow.pyi +7 -8
  126. homeassistant-stubs/components/bthome/logbook.pyi +2 -3
  127. homeassistant-stubs/components/canary/config_flow.pyi +4 -5
  128. homeassistant-stubs/components/cert_expiry/config_flow.pyi +4 -5
  129. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -2
  130. homeassistant-stubs/components/climate/__init__.pyi +10 -7
  131. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  132. homeassistant-stubs/components/cloud/config_flow.pyi +2 -3
  133. homeassistant-stubs/components/cloud/http_api.pyi +3 -1
  134. homeassistant-stubs/components/cloud/prefs.pyi +1 -0
  135. homeassistant-stubs/components/cloud/repairs.pyi +1 -1
  136. homeassistant-stubs/components/cloud/tts.pyi +3 -3
  137. homeassistant-stubs/components/co2signal/config_flow.pyi +7 -9
  138. homeassistant-stubs/components/command_line/cover.pyi +3 -3
  139. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  140. homeassistant-stubs/components/command_line/switch.pyi +4 -4
  141. homeassistant-stubs/components/command_line/utils.pyi +3 -2
  142. homeassistant-stubs/components/config/__init__.pyi +3 -47
  143. homeassistant-stubs/components/config/automation.pyi +2 -1
  144. homeassistant-stubs/components/config/category_registry.pyi +12 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +8 -6
  146. homeassistant-stubs/components/config/const.pyi +3 -0
  147. homeassistant-stubs/components/config/core.pyi +1 -1
  148. homeassistant-stubs/components/config/label_registry.pyi +3 -0
  149. homeassistant-stubs/components/config/scene.pyi +2 -1
  150. homeassistant-stubs/components/config/script.pyi +2 -1
  151. homeassistant-stubs/components/config/view.pyi +48 -0
  152. homeassistant-stubs/components/configurator/__init__.pyi +1 -1
  153. homeassistant-stubs/components/cpuspeed/config_flow.pyi +2 -3
  154. homeassistant-stubs/components/crownstone/config_flow.pyi +10 -11
  155. homeassistant-stubs/components/deconz/__init__.pyi +6 -7
  156. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  157. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -4
  158. homeassistant-stubs/components/deconz/button.pyi +2 -2
  159. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  160. homeassistant-stubs/components/deconz/config_flow.pyi +14 -16
  161. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  162. homeassistant-stubs/components/deconz/deconz_device.pyi +5 -5
  163. homeassistant-stubs/components/deconz/deconz_event.pyi +4 -4
  164. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -1
  165. homeassistant-stubs/components/deconz/diagnostics.pyi +1 -1
  166. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  167. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  168. homeassistant-stubs/components/deconz/hub/api.pyi +9 -0
  169. homeassistant-stubs/components/deconz/hub/config.pyi +18 -0
  170. homeassistant-stubs/components/deconz/{gateway.pyi → hub/hub.pyi} +10 -19
  171. homeassistant-stubs/components/deconz/light.pyi +3 -3
  172. homeassistant-stubs/components/deconz/lock.pyi +1 -1
  173. homeassistant-stubs/components/deconz/number.pyi +2 -4
  174. homeassistant-stubs/components/deconz/scene.pyi +1 -1
  175. homeassistant-stubs/components/deconz/select.pyi +1 -1
  176. homeassistant-stubs/components/deconz/sensor.pyi +4 -6
  177. homeassistant-stubs/components/deconz/services.pyi +5 -5
  178. homeassistant-stubs/components/deconz/siren.pyi +1 -1
  179. homeassistant-stubs/components/deconz/switch.pyi +1 -1
  180. homeassistant-stubs/components/demo/climate.pyi +3 -8
  181. homeassistant-stubs/components/demo/config_flow.pyi +10 -11
  182. homeassistant-stubs/components/demo/humidifier.pyi +1 -1
  183. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  184. homeassistant-stubs/components/device_tracker/const.pyi +2 -1
  185. homeassistant-stubs/components/device_tracker/legacy.pyi +6 -2
  186. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +9 -11
  187. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -7
  188. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -7
  189. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +9 -9
  190. homeassistant-stubs/components/devolo_home_network/image.pyi +3 -7
  191. homeassistant-stubs/components/devolo_home_network/sensor.pyi +3 -7
  192. homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -7
  193. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -7
  194. homeassistant-stubs/components/dhcp/__init__.pyi +4 -8
  195. homeassistant-stubs/components/discovergy/config_flow.pyi +5 -7
  196. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +13 -14
  197. homeassistant-stubs/components/dlna_dmr/media_player.pyi +4 -2
  198. homeassistant-stubs/components/dlna_dms/config_flow.pyi +7 -7
  199. homeassistant-stubs/components/dnsip/config_flow.pyi +6 -9
  200. homeassistant-stubs/components/doorbird/button.pyi +3 -7
  201. homeassistant-stubs/components/doorbird/config_flow.pyi +12 -12
  202. homeassistant-stubs/components/doorbird/view.pyi +1 -2
  203. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  204. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +9 -10
  205. homeassistant-stubs/components/downloader/__init__.pyi +7 -12
  206. homeassistant-stubs/components/downloader/config_flow.pyi +12 -0
  207. homeassistant-stubs/components/downloader/const.pyi +13 -0
  208. homeassistant-stubs/components/dsmr/config_flow.pyi +14 -15
  209. homeassistant-stubs/components/dunehd/config_flow.pyi +6 -6
  210. homeassistant-stubs/components/duotecno/config_flow.pyi +3 -4
  211. homeassistant-stubs/components/easyenergy/config_flow.pyi +2 -3
  212. homeassistant-stubs/components/easyenergy/sensor.pyi +3 -7
  213. homeassistant-stubs/components/ecovacs/config_flow.pyi +5 -5
  214. homeassistant-stubs/components/ecovacs/event.pyi +19 -0
  215. homeassistant-stubs/components/ecowitt/config_flow.pyi +3 -4
  216. homeassistant-stubs/components/efergy/config_flow.pyi +4 -5
  217. homeassistant-stubs/components/electrasmart/config_flow.pyi +8 -9
  218. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +4 -5
  219. homeassistant-stubs/components/electric_kiwi/sensor.pyi +6 -14
  220. homeassistant-stubs/components/elgato/config_flow.pyi +6 -7
  221. homeassistant-stubs/components/elkm1/config_flow.pyi +13 -13
  222. homeassistant-stubs/components/elkm1/sensor.pyi +2 -2
  223. homeassistant-stubs/components/emulated_hue/__init__.pyi +2 -1
  224. homeassistant-stubs/components/emulated_hue/config.pyi +3 -3
  225. homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -3
  226. homeassistant-stubs/components/energy/sensor.pyi +5 -1
  227. homeassistant-stubs/components/energyzero/config_flow.pyi +2 -3
  228. homeassistant-stubs/components/energyzero/sensor.pyi +3 -7
  229. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +6 -14
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -6
  231. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -0
  232. homeassistant-stubs/components/enphase_envoy/number.pyi +6 -14
  233. homeassistant-stubs/components/enphase_envoy/select.pyi +6 -14
  234. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -53
  235. homeassistant-stubs/components/enphase_envoy/switch.pyi +9 -21
  236. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -1
  237. homeassistant-stubs/components/esphome/button.pyi +1 -1
  238. homeassistant-stubs/components/esphome/climate.pyi +1 -1
  239. homeassistant-stubs/components/esphome/config_flow.pyi +15 -16
  240. homeassistant-stubs/components/esphome/cover.pyi +1 -1
  241. homeassistant-stubs/components/esphome/date.pyi +14 -0
  242. homeassistant-stubs/components/esphome/entity.pyi +5 -3
  243. homeassistant-stubs/components/esphome/entry_data.pyi +15 -14
  244. homeassistant-stubs/components/esphome/fan.pyi +1 -1
  245. homeassistant-stubs/components/esphome/light.pyi +1 -1
  246. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  247. homeassistant-stubs/components/esphome/manager.pyi +3 -3
  248. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  249. homeassistant-stubs/components/esphome/number.pyi +1 -1
  250. homeassistant-stubs/components/esphome/select.pyi +1 -1
  251. homeassistant-stubs/components/esphome/switch.pyi +1 -1
  252. homeassistant-stubs/components/esphome/text.pyi +1 -1
  253. homeassistant-stubs/components/esphome/time.pyi +14 -0
  254. homeassistant-stubs/components/esphome/update.pyi +1 -1
  255. homeassistant-stubs/components/evil_genius_labs/config_flow.pyi +3 -4
  256. homeassistant-stubs/components/faa_delays/config_flow.pyi +3 -4
  257. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  258. homeassistant-stubs/components/fastdotcom/config_flow.pyi +3 -4
  259. homeassistant-stubs/components/fastdotcom/coordinator.pyi +1 -1
  260. homeassistant-stubs/components/fastdotcom/diagnostics.pyi +7 -0
  261. homeassistant-stubs/components/fastdotcom/sensor.pyi +3 -3
  262. homeassistant-stubs/components/fastdotcom/services.pyi +1 -1
  263. homeassistant-stubs/components/file_upload/__init__.pyi +1 -1
  264. homeassistant-stubs/components/filesize/__init__.pyi +0 -2
  265. homeassistant-stubs/components/filesize/config_flow.pyi +2 -3
  266. homeassistant-stubs/components/filesize/coordinator.pyi +6 -1
  267. homeassistant-stubs/components/filter/sensor.pyi +3 -3
  268. homeassistant-stubs/components/fitbit/config_flow.pyi +6 -7
  269. homeassistant-stubs/components/flexit_bacnet/config_flow.pyi +3 -4
  270. homeassistant-stubs/components/flux_led/config_flow.pyi +14 -14
  271. homeassistant-stubs/components/flux_led/discovery.pyi +1 -0
  272. homeassistant-stubs/components/flux_led/number.pyi +0 -5
  273. homeassistant-stubs/components/flux_led/select.pyi +0 -3
  274. homeassistant-stubs/components/flux_led/sensor.pyi +0 -1
  275. homeassistant-stubs/components/flux_led/switch.pyi +0 -4
  276. homeassistant-stubs/components/forecast_solar/config_flow.pyi +3 -4
  277. homeassistant-stubs/components/fritz/button.pyi +3 -7
  278. homeassistant-stubs/components/fritz/common.pyi +1 -0
  279. homeassistant-stubs/components/fritz/config_flow.pyi +11 -12
  280. homeassistant-stubs/components/fritzbox/config_flow.pyi +7 -8
  281. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +9 -10
  282. homeassistant-stubs/components/fronius/config_flow.pyi +5 -6
  283. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  284. homeassistant-stubs/components/fully_kiosk/button.pyi +3 -7
  285. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +7 -8
  286. homeassistant-stubs/components/fully_kiosk/switch.pyi +3 -7
  287. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +5 -5
  288. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  289. homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
  290. homeassistant-stubs/components/geocaching/config_flow.pyi +4 -4
  291. homeassistant-stubs/components/geocaching/sensor.pyi +3 -7
  292. homeassistant-stubs/components/gios/config_flow.pyi +3 -4
  293. homeassistant-stubs/components/glances/config_flow.pyi +6 -7
  294. homeassistant-stubs/components/glances/sensor.pyi +3 -7
  295. homeassistant-stubs/components/goalzero/config_flow.pyi +5 -6
  296. homeassistant-stubs/components/google/config_flow.pyi +11 -12
  297. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +8 -10
  298. homeassistant-stubs/components/google_sheets/config_flow.pyi +4 -5
  299. homeassistant-stubs/components/gpsd/config_flow.pyi +4 -5
  300. homeassistant-stubs/components/group/__init__.pyi +7 -102
  301. homeassistant-stubs/components/group/binary_sensor.pyi +1 -1
  302. homeassistant-stubs/components/group/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/group/const.pyi +12 -0
  304. homeassistant-stubs/components/group/cover.pyi +1 -1
  305. homeassistant-stubs/components/group/entity.pyi +81 -0
  306. homeassistant-stubs/components/group/event.pyi +3 -3
  307. homeassistant-stubs/components/group/fan.pyi +1 -1
  308. homeassistant-stubs/components/group/light.pyi +1 -1
  309. homeassistant-stubs/components/group/lock.pyi +1 -1
  310. homeassistant-stubs/components/group/media_player.pyi +3 -3
  311. homeassistant-stubs/components/group/registry.pyi +23 -0
  312. homeassistant-stubs/components/group/sensor.pyi +1 -1
  313. homeassistant-stubs/components/group/switch.pyi +1 -1
  314. homeassistant-stubs/components/guardian/config_flow.pyi +7 -8
  315. homeassistant-stubs/components/hardkernel/config_flow.pyi +2 -3
  316. homeassistant-stubs/components/here_travel_time/__init__.pyi +1 -0
  317. homeassistant-stubs/components/here_travel_time/config_flow.pyi +17 -18
  318. homeassistant-stubs/components/here_travel_time/sensor.pyi +0 -1
  319. homeassistant-stubs/components/history/__init__.pyi +1 -1
  320. homeassistant-stubs/components/history/websocket_api.pyi +2 -2
  321. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -3
  322. homeassistant-stubs/components/history_stats/data.pyi +2 -3
  323. homeassistant-stubs/components/holiday/config_flow.pyi +7 -5
  324. homeassistant-stubs/components/homeassistant/trigger.pyi +2 -1
  325. homeassistant-stubs/components/homeassistant/triggers/event.pyi +5 -1
  326. homeassistant-stubs/components/homeassistant/triggers/homeassistant.pyi +1 -0
  327. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
  328. homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
  329. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
  330. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -5
  331. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -29
  332. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
  333. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +6 -5
  334. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +18 -0
  335. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  336. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -0
  337. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +9 -10
  338. homeassistant-stubs/components/homekit/__init__.pyi +9 -6
  339. homeassistant-stubs/components/homekit/accessories.pyi +5 -6
  340. homeassistant-stubs/components/homekit/config_flow.pyi +16 -18
  341. homeassistant-stubs/components/homekit/const.pyi +3 -0
  342. homeassistant-stubs/components/homekit/type_cameras.pyi +3 -4
  343. homeassistant-stubs/components/homekit/type_covers.pyi +2 -3
  344. homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -3
  345. homeassistant-stubs/components/homekit/util.pyi +2 -3
  346. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  347. homeassistant-stubs/components/homekit_controller/config_flow.pyi +13 -13
  348. homeassistant-stubs/components/homekit_controller/select.pyi +3 -7
  349. homeassistant-stubs/components/homewizard/config_flow.pyi +7 -7
  350. homeassistant-stubs/components/homewizard/coordinator.pyi +0 -1
  351. homeassistant-stubs/components/homeworks/__init__.pyi +63 -0
  352. homeassistant-stubs/components/homeworks/binary_sensor.pyi +25 -0
  353. homeassistant-stubs/components/homeworks/button.pyi +18 -0
  354. homeassistant-stubs/components/homeworks/config_flow.pyi +61 -0
  355. homeassistant-stubs/components/homeworks/const.pyi +14 -0
  356. homeassistant-stubs/components/homeworks/light.pyi +34 -0
  357. homeassistant-stubs/components/http/__init__.pyi +4 -3
  358. homeassistant-stubs/components/http/ban.pyi +4 -3
  359. homeassistant-stubs/components/http/const.pyi +1 -2
  360. homeassistant-stubs/components/http/cors.pyi +1 -0
  361. homeassistant-stubs/components/http/static.pyi +0 -1
  362. homeassistant-stubs/components/huawei_lte/config_flow.pyi +12 -13
  363. homeassistant-stubs/components/huawei_lte/select.pyi +3 -7
  364. homeassistant-stubs/components/humidifier/__init__.pyi +8 -8
  365. homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -8
  366. homeassistant-stubs/components/hyperion/config_flow.pyi +12 -13
  367. homeassistant-stubs/components/hyperion/const.pyi +2 -0
  368. homeassistant-stubs/components/hyperion/sensor.pyi +39 -0
  369. homeassistant-stubs/components/ibeacon/config_flow.pyi +7 -8
  370. homeassistant-stubs/components/ibeacon/device_tracker.pyi +1 -2
  371. homeassistant-stubs/components/ibeacon/sensor.pyi +3 -7
  372. homeassistant-stubs/components/idasen_desk/button.pyi +4 -8
  373. homeassistant-stubs/components/idasen_desk/config_flow.pyi +4 -5
  374. homeassistant-stubs/components/idasen_desk/cover.pyi +3 -3
  375. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -7
  376. homeassistant-stubs/components/image/__init__.pyi +2 -2
  377. homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
  378. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  379. homeassistant-stubs/components/imap/config_flow.pyi +10 -10
  380. homeassistant-stubs/components/integration/sensor.pyi +36 -5
  381. homeassistant-stubs/components/ios/__init__.pyi +1 -1
  382. homeassistant-stubs/components/ipp/config_flow.pyi +5 -6
  383. homeassistant-stubs/components/ipp/sensor.pyi +3 -7
  384. homeassistant-stubs/components/iqvia/config_flow.pyi +3 -4
  385. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +7 -8
  386. homeassistant-stubs/components/isy994/config_flow.pyi +18 -17
  387. homeassistant-stubs/components/jellyfin/config_flow.pyi +5 -6
  388. homeassistant-stubs/components/jellyfin/sensor.pyi +3 -7
  389. homeassistant-stubs/components/jvc_projector/config_flow.pyi +4 -5
  390. homeassistant-stubs/components/jvc_projector/sensor.pyi +20 -0
  391. homeassistant-stubs/components/kaleidescape/config_flow.pyi +4 -5
  392. homeassistant-stubs/components/kaleidescape/sensor.pyi +3 -7
  393. homeassistant-stubs/components/knx/config_flow.pyi +18 -19
  394. homeassistant-stubs/components/knx/expose.pyi +3 -3
  395. homeassistant-stubs/components/kraken/config_flow.pyi +7 -8
  396. homeassistant-stubs/components/kraken/sensor.pyi +3 -7
  397. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +5 -6
  398. homeassistant-stubs/components/lacrosse_view/sensor.pyi +3 -7
  399. homeassistant-stubs/components/lamarzocco/config_flow.pyi +16 -8
  400. homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
  401. homeassistant-stubs/components/lamarzocco/coordinator.pyi +7 -2
  402. homeassistant-stubs/components/lametric/config_flow.pyi +11 -11
  403. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
  404. homeassistant-stubs/components/laundrify/config_flow.pyi +5 -6
  405. homeassistant-stubs/components/lcn/config_flow.pyi +4 -5
  406. homeassistant-stubs/components/ld2410_ble/config_flow.pyi +4 -5
  407. homeassistant-stubs/components/led_ble/config_flow.pyi +4 -5
  408. homeassistant-stubs/components/lidarr/config_flow.pyi +4 -5
  409. homeassistant-stubs/components/lifx/config_flow.pyi +10 -11
  410. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +5 -6
  411. homeassistant-stubs/components/litejet/config_flow.pyi +7 -8
  412. homeassistant-stubs/components/litterrobot/config_flow.pyi +5 -6
  413. homeassistant-stubs/components/litterrobot/switch.pyi +2 -5
  414. homeassistant-stubs/components/local_ip/config_flow.pyi +2 -3
  415. homeassistant-stubs/components/local_ip/sensor.pyi +1 -1
  416. homeassistant-stubs/components/local_todo/config_flow.pyi +3 -4
  417. homeassistant-stubs/components/logbook/helpers.pyi +1 -2
  418. homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
  419. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -0
  420. homeassistant-stubs/components/lookin/config_flow.pyi +5 -6
  421. homeassistant-stubs/components/luftdaten/config_flow.pyi +4 -5
  422. homeassistant-stubs/components/map/__init__.pyi +6 -1
  423. homeassistant-stubs/components/matter/config_flow.pyi +14 -14
  424. homeassistant-stubs/components/met_eireann/config_flow.pyi +3 -4
  425. homeassistant-stubs/components/met_eireann/weather.pyi +1 -5
  426. homeassistant-stubs/components/metoffice/config_flow.pyi +7 -6
  427. homeassistant-stubs/components/metoffice/weather.pyi +2 -5
  428. homeassistant-stubs/components/mikrotik/config_flow.pyi +11 -12
  429. homeassistant-stubs/components/min_max/sensor.pyi +3 -3
  430. homeassistant-stubs/components/minecraft_server/binary_sensor.pyi +2 -9
  431. homeassistant-stubs/components/minecraft_server/config_flow.pyi +3 -4
  432. homeassistant-stubs/components/minecraft_server/sensor.pyi +3 -16
  433. homeassistant-stubs/components/mjpeg/config_flow.pyi +3 -4
  434. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  435. homeassistant-stubs/components/modbus/base_platform.pyi +1 -3
  436. homeassistant-stubs/components/modbus/const.pyi +0 -2
  437. homeassistant-stubs/components/modbus/modbus.pyi +3 -5
  438. homeassistant-stubs/components/modbus/validators.pyi +7 -2
  439. homeassistant-stubs/components/modem_callerid/button.pyi +0 -1
  440. homeassistant-stubs/components/modem_callerid/config_flow.pyi +5 -6
  441. homeassistant-stubs/components/modem_callerid/const.pyi +0 -1
  442. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  443. homeassistant-stubs/components/moon/config_flow.pyi +2 -3
  444. homeassistant-stubs/components/moon/sensor.pyi +0 -2
  445. homeassistant-stubs/components/mopeka/config_flow.pyi +4 -5
  446. homeassistant-stubs/components/motionmount/config_flow.pyi +6 -7
  447. homeassistant-stubs/components/mqtt/__init__.pyi +2 -2
  448. homeassistant-stubs/components/mqtt/climate.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/config_flow.pyi +8 -9
  450. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  451. homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
  452. homeassistant-stubs/components/mqtt/event.pyi +2 -2
  453. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  454. homeassistant-stubs/components/mqtt/image.pyi +2 -2
  455. homeassistant-stubs/components/mqtt/light/schema_json.pyi +5 -2
  456. homeassistant-stubs/components/mqtt/mixins.pyi +7 -7
  457. homeassistant-stubs/components/mqtt/models.pyi +9 -3
  458. homeassistant-stubs/components/mqtt/sensor.pyi +4 -1
  459. homeassistant-stubs/components/mqtt/tag.pyi +3 -2
  460. homeassistant-stubs/components/mqtt/util.pyi +5 -1
  461. homeassistant-stubs/components/mysensors/config_flow.pyi +8 -10
  462. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  463. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -5
  464. homeassistant-stubs/components/myuplink/helpers.pyi +1 -0
  465. homeassistant-stubs/components/myuplink/number.pyi +1 -1
  466. homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
  467. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  468. homeassistant-stubs/components/nam/config_flow.pyi +8 -9
  469. homeassistant-stubs/components/nam/sensor.pyi +3 -7
  470. homeassistant-stubs/components/nanoleaf/config_flow.pyi +12 -13
  471. homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
  472. homeassistant-stubs/components/neato/config_flow.pyi +5 -6
  473. homeassistant-stubs/components/neato/vacuum.pyi +0 -1
  474. homeassistant-stubs/components/nest/config_flow.pyi +10 -11
  475. homeassistant-stubs/components/netatmo/config_flow.pyi +12 -13
  476. homeassistant-stubs/components/netatmo/sensor.pyi +3 -7
  477. homeassistant-stubs/components/network/network.pyi +1 -0
  478. homeassistant-stubs/components/nextdns/config_flow.pyi +4 -5
  479. homeassistant-stubs/components/nfandroidtv/config_flow.pyi +3 -4
  480. homeassistant-stubs/components/nightscout/config_flow.pyi +5 -5
  481. homeassistant-stubs/components/notify/legacy.pyi +1 -1
  482. homeassistant-stubs/components/notion/__init__.pyi +4 -29
  483. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -0
  484. homeassistant-stubs/components/notion/config_flow.pyi +5 -7
  485. homeassistant-stubs/components/notion/coordinator.pyi +44 -0
  486. homeassistant-stubs/components/notion/diagnostics.pyi +1 -2
  487. homeassistant-stubs/components/notion/sensor.pyi +1 -0
  488. homeassistant-stubs/components/nut/__init__.pyi +10 -9
  489. homeassistant-stubs/components/nut/config_flow.pyi +12 -12
  490. homeassistant-stubs/components/onboarding/__init__.pyi +16 -2
  491. homeassistant-stubs/components/onboarding/views.pyi +8 -6
  492. homeassistant-stubs/components/oncue/config_flow.pyi +3 -4
  493. homeassistant-stubs/components/onewire/config_flow.pyi +5 -6
  494. homeassistant-stubs/components/open_meteo/config_flow.pyi +2 -3
  495. homeassistant-stubs/components/open_meteo/weather.pyi +0 -2
  496. homeassistant-stubs/components/openexchangerates/config_flow.pyi +5 -5
  497. homeassistant-stubs/components/opensky/config_flow.pyi +3 -4
  498. homeassistant-stubs/components/opensky/sensor.pyi +1 -1
  499. homeassistant-stubs/components/openuv/config_flow.pyi +6 -8
  500. homeassistant-stubs/components/oralb/config_flow.pyi +4 -5
  501. homeassistant-stubs/components/otbr/config_flow.pyi +3 -4
  502. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +3 -7
  503. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -7
  504. homeassistant-stubs/components/overkiz/climate.pyi +1 -0
  505. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -2
  506. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +30 -7
  507. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +1 -0
  508. homeassistant-stubs/components/overkiz/config_flow.pyi +10 -12
  509. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  510. homeassistant-stubs/components/overkiz/number.pyi +3 -7
  511. homeassistant-stubs/components/overkiz/select.pyi +3 -7
  512. homeassistant-stubs/components/overkiz/switch.pyi +3 -7
  513. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -3
  514. homeassistant-stubs/components/peco/config_flow.pyi +4 -5
  515. homeassistant-stubs/components/peco/sensor.pyi +3 -7
  516. homeassistant-stubs/components/persistent_notification/__init__.pyi +2 -1
  517. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -7
  518. homeassistant-stubs/components/pi_hole/config_flow.pyi +6 -7
  519. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -3
  520. homeassistant-stubs/components/ping/config_flow.pyi +8 -9
  521. homeassistant-stubs/components/ping/coordinator.pyi +1 -1
  522. homeassistant-stubs/components/ping/entity.pyi +12 -0
  523. homeassistant-stubs/components/ping/sensor.pyi +29 -0
  524. homeassistant-stubs/components/plugwise/config_flow.pyi +3 -4
  525. homeassistant-stubs/components/poolsense/config_flow.pyi +3 -4
  526. homeassistant-stubs/components/powerwall/config_flow.pyi +12 -11
  527. homeassistant-stubs/components/private_ble_device/config_flow.pyi +2 -3
  528. homeassistant-stubs/components/private_ble_device/device_tracker.pyi +1 -2
  529. homeassistant-stubs/components/private_ble_device/sensor.pyi +3 -7
  530. homeassistant-stubs/components/prometheus/__init__.pyi +4 -4
  531. homeassistant-stubs/components/proximity/config_flow.pyi +4 -5
  532. homeassistant-stubs/components/proximity/coordinator.pyi +3 -3
  533. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  534. homeassistant-stubs/components/prusalink/config_flow.pyi +6 -5
  535. homeassistant-stubs/components/pure_energie/config_flow.pyi +4 -5
  536. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -7
  537. homeassistant-stubs/components/purpleair/config_flow.pyi +14 -17
  538. homeassistant-stubs/components/pushbullet/config_flow.pyi +3 -4
  539. homeassistant-stubs/components/pvoutput/config_flow.pyi +4 -5
  540. homeassistant-stubs/components/qnap_qsw/button.pyi +3 -7
  541. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +6 -6
  542. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -3
  543. homeassistant-stubs/components/radarr/config_flow.pyi +4 -5
  544. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +5 -6
  545. homeassistant-stubs/components/rainmachine/config_flow.pyi +8 -10
  546. homeassistant-stubs/components/raspberry_pi/config_flow.pyi +2 -3
  547. homeassistant-stubs/components/rdw/config_flow.pyi +2 -3
  548. homeassistant-stubs/components/recollect_waste/calendar.pyi +1 -1
  549. homeassistant-stubs/components/recollect_waste/config_flow.pyi +7 -8
  550. homeassistant-stubs/components/recorder/const.pyi +1 -0
  551. homeassistant-stubs/components/recorder/core.pyi +4 -3
  552. homeassistant-stubs/components/recorder/db_schema.pyi +7 -0
  553. homeassistant-stubs/components/recorder/history/modern.pyi +7 -6
  554. homeassistant-stubs/components/recorder/migration.pyi +47 -5
  555. homeassistant-stubs/components/recorder/models/legacy.pyi +10 -0
  556. homeassistant-stubs/components/recorder/models/state.pyi +4 -0
  557. homeassistant-stubs/components/recorder/queries.pyi +2 -1
  558. homeassistant-stubs/components/recorder/table_managers/states.pyi +3 -0
  559. homeassistant-stubs/components/renault/binary_sensor.pyi +3 -11
  560. homeassistant-stubs/components/renault/button.pyi +3 -7
  561. homeassistant-stubs/components/renault/config_flow.pyi +8 -9
  562. homeassistant-stubs/components/renault/select.pyi +3 -13
  563. homeassistant-stubs/components/renault/sensor.pyi +3 -12
  564. homeassistant-stubs/components/rest/__init__.pyi +1 -0
  565. homeassistant-stubs/components/rfxtrx/config_flow.pyi +12 -12
  566. homeassistant-stubs/components/rfxtrx/event.pyi +22 -0
  567. homeassistant-stubs/components/rhasspy/config_flow.pyi +3 -4
  568. homeassistant-stubs/components/ridwell/calendar.pyi +1 -1
  569. homeassistant-stubs/components/ridwell/config_flow.pyi +6 -7
  570. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +3 -4
  571. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +3 -7
  572. homeassistant-stubs/components/roku/binary_sensor.pyi +3 -7
  573. homeassistant-stubs/components/roku/config_flow.pyi +6 -7
  574. homeassistant-stubs/components/roku/select.pyi +6 -10
  575. homeassistant-stubs/components/roku/sensor.pyi +3 -7
  576. homeassistant-stubs/components/romy/config_flow.pyi +5 -6
  577. homeassistant-stubs/components/romy/entity.pyi +11 -0
  578. homeassistant-stubs/components/romy/vacuum.pyi +4 -11
  579. homeassistant-stubs/components/rpi_power/config_flow.pyi +2 -2
  580. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +9 -10
  581. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +5 -6
  582. homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi +4 -5
  583. homeassistant-stubs/components/samsungtv/config_flow.pyi +17 -17
  584. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -0
  585. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  586. homeassistant-stubs/components/search/__init__.pyi +41 -20
  587. homeassistant-stubs/components/sensibo/binary_sensor.pyi +6 -14
  588. homeassistant-stubs/components/sensibo/button.pyi +3 -7
  589. homeassistant-stubs/components/sensibo/config_flow.pyi +6 -7
  590. homeassistant-stubs/components/sensibo/number.pyi +3 -7
  591. homeassistant-stubs/components/sensibo/select.pyi +3 -7
  592. homeassistant-stubs/components/sensibo/sensor.pyi +6 -14
  593. homeassistant-stubs/components/sensibo/switch.pyi +3 -7
  594. homeassistant-stubs/components/sensibo/update.pyi +3 -7
  595. homeassistant-stubs/components/sensirion_ble/config_flow.pyi +4 -5
  596. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -7
  597. homeassistant-stubs/components/sfr_box/button.pyi +3 -7
  598. homeassistant-stubs/components/sfr_box/config_flow.pyi +6 -7
  599. homeassistant-stubs/components/sfr_box/sensor.pyi +3 -7
  600. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  601. homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
  602. homeassistant-stubs/components/shelly/button.pyi +3 -7
  603. homeassistant-stubs/components/shelly/config_flow.pyi +15 -14
  604. homeassistant-stubs/components/shelly/const.pyi +3 -2
  605. homeassistant-stubs/components/shelly/coordinator.pyi +3 -1
  606. homeassistant-stubs/components/shelly/entity.pyi +4 -8
  607. homeassistant-stubs/components/shelly/event.pyi +2 -2
  608. homeassistant-stubs/components/shelly/light.pyi +30 -14
  609. homeassistant-stubs/components/shelly/number.pyi +1 -1
  610. homeassistant-stubs/components/shelly/sensor.pyi +4 -4
  611. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  612. homeassistant-stubs/components/shelly/update.pyi +8 -15
  613. homeassistant-stubs/components/shelly/utils.pyi +9 -4
  614. homeassistant-stubs/components/shopping_list/config_flow.pyi +3 -4
  615. homeassistant-stubs/components/shopping_list/todo.pyi +0 -1
  616. homeassistant-stubs/components/simplepush/config_flow.pyi +3 -4
  617. homeassistant-stubs/components/simplisafe/config_flow.pyi +6 -8
  618. homeassistant-stubs/components/skybell/config_flow.pyi +5 -6
  619. homeassistant-stubs/components/skybell/sensor.pyi +3 -7
  620. homeassistant-stubs/components/slack/config_flow.pyi +3 -4
  621. homeassistant-stubs/components/sleepiq/button.pyi +3 -7
  622. homeassistant-stubs/components/sleepiq/config_flow.pyi +5 -6
  623. homeassistant-stubs/components/sleepiq/number.pyi +3 -7
  624. homeassistant-stubs/components/smhi/config_flow.pyi +6 -4
  625. homeassistant-stubs/components/smhi/weather.pyi +0 -2
  626. homeassistant-stubs/components/snooz/config_flow.pyi +8 -9
  627. homeassistant-stubs/components/sonarr/config_flow.pyi +6 -7
  628. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +4 -2
  629. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +7 -8
  630. homeassistant-stubs/components/speedtestdotnet/const.pyi +0 -1
  631. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -2
  632. homeassistant-stubs/components/sql/config_flow.pyi +6 -7
  633. homeassistant-stubs/components/ssdp/__init__.pyi +9 -7
  634. homeassistant-stubs/components/starlink/binary_sensor.pyi +3 -7
  635. homeassistant-stubs/components/starlink/button.pyi +3 -7
  636. homeassistant-stubs/components/starlink/config_flow.pyi +2 -3
  637. homeassistant-stubs/components/starlink/coordinator.pyi +6 -1
  638. homeassistant-stubs/components/starlink/device_tracker.pyi +3 -7
  639. homeassistant-stubs/components/starlink/sensor.pyi +3 -7
  640. homeassistant-stubs/components/starlink/switch.pyi +3 -7
  641. homeassistant-stubs/components/starlink/time.pyi +34 -0
  642. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  643. homeassistant-stubs/components/steamist/config_flow.pyi +9 -10
  644. homeassistant-stubs/components/steamist/sensor.pyi +3 -7
  645. homeassistant-stubs/components/stookalert/config_flow.pyi +2 -3
  646. homeassistant-stubs/components/stream/__init__.pyi +1 -0
  647. homeassistant-stubs/components/stream/core.pyi +1 -1
  648. homeassistant-stubs/components/streamlabswater/config_flow.pyi +3 -4
  649. homeassistant-stubs/components/stt/legacy.pyi +1 -1
  650. homeassistant-stubs/components/suez_water/config_flow.pyi +3 -4
  651. homeassistant-stubs/components/sun/__init__.pyi +4 -64
  652. homeassistant-stubs/components/sun/config_flow.pyi +3 -4
  653. homeassistant-stubs/components/sun/const.pyi +11 -0
  654. homeassistant-stubs/components/sun/entity.pyi +64 -0
  655. homeassistant-stubs/components/sun/sensor.pyi +1 -1
  656. homeassistant-stubs/components/surepetcare/config_flow.pyi +5 -6
  657. homeassistant-stubs/components/switch/light.pyi +2 -2
  658. homeassistant-stubs/components/switchbee/config_flow.pyi +3 -4
  659. homeassistant-stubs/components/switchbot_cloud/config_flow.pyi +3 -4
  660. homeassistant-stubs/components/switcher_kis/button.pyi +3 -7
  661. homeassistant-stubs/components/switcher_kis/config_flow.pyi +5 -6
  662. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  663. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -0
  664. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -2
  665. homeassistant-stubs/components/synology_dsm/button.pyi +3 -7
  666. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -2
  667. homeassistant-stubs/components/synology_dsm/config_flow.pyi +14 -15
  668. homeassistant-stubs/components/synology_dsm/entity.pyi +3 -7
  669. homeassistant-stubs/components/synology_dsm/sensor.pyi +2 -2
  670. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -2
  671. homeassistant-stubs/components/synology_dsm/update.pyi +2 -2
  672. homeassistant-stubs/components/system_log/__init__.pyi +3 -2
  673. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -1
  674. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +14 -12
  675. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -2
  676. homeassistant-stubs/components/systemmonitor/const.pyi +1 -1
  677. homeassistant-stubs/components/systemmonitor/coordinator.pyi +29 -46
  678. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -2
  679. homeassistant-stubs/components/systemmonitor/sensor.pyi +23 -20
  680. homeassistant-stubs/components/systemmonitor/util.pyi +1 -1
  681. homeassistant-stubs/components/tailscale/config_flow.pyi +4 -5
  682. homeassistant-stubs/components/tailwind/config_flow.pyi +9 -9
  683. homeassistant-stubs/components/tami4/config_flow.pyi +4 -5
  684. homeassistant-stubs/components/tautulli/config_flow.pyi +4 -5
  685. homeassistant-stubs/components/tautulli/sensor.pyi +6 -14
  686. homeassistant-stubs/components/technove/config_flow.pyi +4 -5
  687. homeassistant-stubs/components/tedee/config_flow.pyi +7 -5
  688. homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
  689. homeassistant-stubs/components/tibber/config_flow.pyi +3 -4
  690. homeassistant-stubs/components/tile/config_flow.pyi +7 -8
  691. homeassistant-stubs/components/tile/device_tracker.pyi +1 -2
  692. homeassistant-stubs/components/tilt_ble/config_flow.pyi +4 -5
  693. homeassistant-stubs/components/tolo/__init__.pyi +3 -3
  694. homeassistant-stubs/components/tolo/binary_sensor.pyi +0 -2
  695. homeassistant-stubs/components/tolo/button.pyi +0 -1
  696. homeassistant-stubs/components/tolo/climate.pyi +6 -5
  697. homeassistant-stubs/components/tolo/config_flow.pyi +5 -6
  698. homeassistant-stubs/components/tolo/const.pyi +11 -7
  699. homeassistant-stubs/components/tolo/number.pyi +6 -11
  700. homeassistant-stubs/components/tolo/select.pyi +19 -7
  701. homeassistant-stubs/components/tolo/sensor.pyi +6 -10
  702. homeassistant-stubs/components/tolo/switch.pyi +30 -0
  703. homeassistant-stubs/components/tplink/config_flow.pyi +14 -16
  704. homeassistant-stubs/components/tplink/switch.pyi +0 -1
  705. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +17 -20
  706. homeassistant-stubs/components/tplink_omada/config_flow.pyi +6 -7
  707. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -3
  708. homeassistant-stubs/components/tplink_omada/switch.pyi +54 -17
  709. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  710. homeassistant-stubs/components/tractive/__init__.pyi +1 -2
  711. homeassistant-stubs/components/tractive/config_flow.pyi +5 -6
  712. homeassistant-stubs/components/tractive/const.pyi +0 -1
  713. homeassistant-stubs/components/tractive/sensor.pyi +4 -8
  714. homeassistant-stubs/components/tractive/switch.pyi +3 -7
  715. homeassistant-stubs/components/tradfri/config_flow.pyi +6 -7
  716. homeassistant-stubs/components/tradfri/sensor.pyi +3 -7
  717. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -7
  718. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +7 -8
  719. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -7
  720. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +6 -7
  721. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +3 -8
  722. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +9 -10
  723. homeassistant-stubs/components/trafikverket_train/sensor.pyi +3 -7
  724. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +6 -7
  725. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -7
  726. homeassistant-stubs/components/transmission/__init__.pyi +3 -2
  727. homeassistant-stubs/components/transmission/config_flow.pyi +13 -13
  728. homeassistant-stubs/components/transmission/const.pyi +2 -0
  729. homeassistant-stubs/components/transmission/switch.pyi +3 -7
  730. homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
  731. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  732. homeassistant-stubs/components/tts/legacy.pyi +1 -1
  733. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  734. homeassistant-stubs/components/twentemilieu/config_flow.pyi +3 -4
  735. homeassistant-stubs/components/unifi/button.pyi +4 -8
  736. homeassistant-stubs/components/unifi/config_flow.pyi +16 -17
  737. homeassistant-stubs/components/unifi/device_tracker.pyi +4 -8
  738. homeassistant-stubs/components/unifi/entity.pyi +12 -15
  739. homeassistant-stubs/components/unifi/hub/config.pyi +31 -0
  740. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +26 -0
  741. homeassistant-stubs/components/unifi/hub/hub.pyi +8 -28
  742. homeassistant-stubs/components/unifi/image.pyi +3 -8
  743. homeassistant-stubs/components/unifi/sensor.pyi +4 -10
  744. homeassistant-stubs/components/unifi/switch.pyi +6 -11
  745. homeassistant-stubs/components/unifi/update.pyi +4 -8
  746. homeassistant-stubs/components/unifiprotect/camera.pyi +5 -2
  747. homeassistant-stubs/components/unifiprotect/config_flow.pyi +16 -17
  748. homeassistant-stubs/components/unifiprotect/migrate.pyi +18 -4
  749. homeassistant-stubs/components/unifiprotect/repairs.pyi +17 -6
  750. homeassistant-stubs/components/unifiprotect/select.pyi +1 -0
  751. homeassistant-stubs/components/unifiprotect/services.pyi +8 -2
  752. homeassistant-stubs/components/unifiprotect/utils.pyi +2 -1
  753. homeassistant-stubs/components/upcloud/config_flow.pyi +8 -9
  754. homeassistant-stubs/components/uptime/config_flow.pyi +2 -3
  755. homeassistant-stubs/components/uptimerobot/config_flow.pyi +5 -6
  756. homeassistant-stubs/components/uptimerobot/sensor.pyi +0 -7
  757. homeassistant-stubs/components/uptimerobot/switch.pyi +1 -1
  758. homeassistant-stubs/components/usb/__init__.pyi +2 -1
  759. homeassistant-stubs/components/vacuum/__init__.pyi +1 -4
  760. homeassistant-stubs/components/vacuum/const.pyi +7 -0
  761. homeassistant-stubs/components/vacuum/group.pyi +1 -1
  762. homeassistant-stubs/components/vallox/binary_sensor.pyi +3 -7
  763. homeassistant-stubs/components/vallox/config_flow.pyi +3 -4
  764. homeassistant-stubs/components/vallox/date.pyi +22 -0
  765. homeassistant-stubs/components/vallox/number.pyi +3 -7
  766. homeassistant-stubs/components/vallox/switch.pyi +3 -7
  767. homeassistant-stubs/components/velbus/config_flow.pyi +6 -7
  768. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +11 -11
  769. homeassistant-stubs/components/wallbox/config_flow.pyi +6 -6
  770. homeassistant-stubs/components/wallbox/number.pyi +3 -7
  771. homeassistant-stubs/components/waqi/__init__.pyi +0 -1
  772. homeassistant-stubs/components/waqi/config_flow.pyi +7 -11
  773. homeassistant-stubs/components/waqi/sensor.pyi +7 -22
  774. homeassistant-stubs/components/water_heater/const.pyi +6 -0
  775. homeassistant-stubs/components/water_heater/group.pyi +1 -1
  776. homeassistant-stubs/components/watttime/config_flow.pyi +10 -12
  777. homeassistant-stubs/components/weather/__init__.pyi +0 -13
  778. homeassistant-stubs/components/webhook/__init__.pyi +1 -2
  779. homeassistant-stubs/components/webostv/config_flow.pyi +8 -8
  780. homeassistant-stubs/components/websocket_api/commands.pyi +2 -3
  781. homeassistant-stubs/components/websocket_api/http.pyi +1 -1
  782. homeassistant-stubs/components/websocket_api/messages.pyi +4 -3
  783. homeassistant-stubs/components/wemo/__init__.pyi +3 -1
  784. homeassistant-stubs/components/wemo/config_flow.pyi +2 -3
  785. homeassistant-stubs/components/wemo/wemo_device.pyi +2 -1
  786. homeassistant-stubs/components/whois/config_flow.pyi +2 -3
  787. homeassistant-stubs/components/withings/__init__.pyi +13 -0
  788. homeassistant-stubs/components/withings/config_flow.pyi +4 -5
  789. homeassistant-stubs/components/wiz/config_flow.pyi +8 -8
  790. homeassistant-stubs/components/wled/config_flow.pyi +6 -10
  791. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +9 -10
  792. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -2
  793. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  794. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  795. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -6
  796. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +14 -14
  797. homeassistant-stubs/components/yalexs_ble/sensor.pyi +3 -7
  798. homeassistant-stubs/components/youtube/config_flow.pyi +6 -7
  799. homeassistant-stubs/components/youtube/sensor.pyi +3 -7
  800. homeassistant-stubs/components/zeroconf/__init__.pyi +1 -1
  801. homeassistant-stubs/components/zodiac/config_flow.pyi +2 -3
  802. homeassistant-stubs/components/zodiac/sensor.pyi +0 -2
  803. homeassistant-stubs/components/zone/__init__.pyi +2 -2
  804. homeassistant-stubs/components/zone/config_flow.pyi +2 -2
  805. homeassistant-stubs/components/zone/trigger.pyi +2 -2
  806. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  807. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +3 -7
  808. homeassistant-stubs/components/zwave_js/config_flow.pyi +39 -38
  809. homeassistant-stubs/components/zwave_js/humidifier.pyi +3 -7
  810. homeassistant-stubs/config.pyi +18 -3
  811. homeassistant-stubs/config_entries.pyi +52 -33
  812. homeassistant-stubs/const.pyi +11 -6
  813. homeassistant-stubs/core.pyi +62 -38
  814. homeassistant-stubs/data_entry_flow.pyi +38 -37
  815. homeassistant-stubs/exceptions.pyi +12 -5
  816. homeassistant-stubs/helpers/area_registry.pyi +7 -19
  817. homeassistant-stubs/helpers/category_registry.pyi +43 -0
  818. homeassistant-stubs/helpers/check_config.pyi +1 -1
  819. homeassistant-stubs/helpers/config_entry_flow.pyi +11 -12
  820. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +6 -7
  821. homeassistant-stubs/helpers/config_validation.pyi +8 -1
  822. homeassistant-stubs/helpers/data_entry_flow.pyi +9 -5
  823. homeassistant-stubs/helpers/debounce.pyi +2 -1
  824. homeassistant-stubs/helpers/device_registry.pyi +9 -5
  825. homeassistant-stubs/helpers/discovery.pyi +2 -1
  826. homeassistant-stubs/helpers/discovery_flow.pyi +2 -2
  827. homeassistant-stubs/helpers/dispatcher.pyi +2 -10
  828. homeassistant-stubs/helpers/entity.pyi +9 -7
  829. homeassistant-stubs/helpers/entity_component.pyi +2 -1
  830. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  831. homeassistant-stubs/helpers/entity_registry.pyi +14 -9
  832. homeassistant-stubs/helpers/event.pyi +30 -30
  833. homeassistant-stubs/helpers/floor_registry.pyi +12 -24
  834. homeassistant-stubs/helpers/frame.pyi +11 -3
  835. homeassistant-stubs/helpers/http.pyi +6 -3
  836. homeassistant-stubs/helpers/importlib.pyi +11 -0
  837. homeassistant-stubs/helpers/integration_platform.pyi +8 -6
  838. homeassistant-stubs/helpers/intent.pyi +6 -4
  839. homeassistant-stubs/helpers/issue_registry.pyi +2 -3
  840. homeassistant-stubs/helpers/label_registry.pyi +11 -23
  841. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +22 -0
  842. homeassistant-stubs/helpers/ratelimit.pyi +2 -3
  843. homeassistant-stubs/helpers/registry.pyi +15 -0
  844. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +15 -15
  845. homeassistant-stubs/helpers/script.pyi +22 -8
  846. homeassistant-stubs/helpers/selector.pyi +20 -0
  847. homeassistant-stubs/helpers/service.pyi +9 -4
  848. homeassistant-stubs/helpers/storage.pyi +28 -4
  849. homeassistant-stubs/helpers/system_info.pyi +1 -0
  850. homeassistant-stubs/helpers/template.pyi +18 -3
  851. homeassistant-stubs/helpers/translation.pyi +2 -1
  852. homeassistant-stubs/helpers/trigger.pyi +1 -0
  853. homeassistant-stubs/helpers/typing.pyi +2 -5
  854. homeassistant-stubs/helpers/update_coordinator.pyi +5 -5
  855. homeassistant-stubs/loader.pyi +24 -5
  856. homeassistant-stubs/setup.pyi +21 -4
  857. homeassistant-stubs/util/async_.pyi +2 -2
  858. homeassistant-stubs/util/percentage.pyi +1 -1
  859. homeassistant-stubs/util/signal_type.pyi +20 -0
  860. homeassistant-stubs/util/unit_conversion.pyi +10 -0
  861. {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/METADATA +4 -5
  862. {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/RECORD +864 -825
  863. homeassistant-stubs/components/axis/device.pyi +0 -64
  864. homeassistant-stubs/components/binary_sensor/group.pyi +0 -5
  865. homeassistant-stubs/components/fan/group.pyi +0 -5
  866. homeassistant-stubs/components/humidifier/group.pyi +0 -5
  867. homeassistant-stubs/components/light/group.pyi +0 -5
  868. homeassistant-stubs/components/remote/group.pyi +0 -5
  869. homeassistant-stubs/components/switch/group.pyi +0 -5
  870. {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/LICENSE +0 -0
  871. {homeassistant_stubs-2024.3.2.dist-info → homeassistant_stubs-2024.4.0.dist-info}/WHEEL +0 -0
@@ -4,7 +4,7 @@ from . import device_registry as dr, entity_registry as er
4
4
  from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
5
5
  from .entity_platform import EntityPlatform as EntityPlatform
6
6
  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
7
- from .typing import EventType as EventType, StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
7
+ from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
8
8
  from _typeshed import Incomplete
9
9
  from abc import ABCMeta
10
10
  from collections import deque
@@ -13,7 +13,7 @@ from enum import Enum, IntFlag
13
13
  from functools import cached_property as cached_property
14
14
  from homeassistant.config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
15
15
  from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
16
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HomeAssistant as HomeAssistant, callback as callback, get_release_channel as get_release_channel
16
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, get_release_channel as get_release_channel
17
17
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, InvalidStateError as InvalidStateError, NoEntitySpecifiedError as NoEntitySpecifiedError
18
18
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
19
19
  from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
@@ -109,6 +109,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
109
109
  _entity_component_unrecorded_attributes: frozenset[str]
110
110
  _unrecorded_attributes: frozenset[str]
111
111
  __combined_unrecorded_attributes: frozenset[str]
112
+ _job_types: dict[str, HassJobType] | None
112
113
  _state_info: StateInfo
113
114
  __capabilities_updated_at: deque[float]
114
115
  __capabilities_updated_at_reported: bool
@@ -136,6 +137,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
136
137
  _attr_unique_id: str | None
137
138
  _attr_unit_of_measurement: str | None
138
139
  def __init_subclass__(cls, **kwargs: Any) -> None: ...
140
+ def get_hassjob_type(self, function_name: str) -> HassJobType: ...
139
141
  @cached_property
140
142
  def should_poll(self) -> bool: ...
141
143
  @cached_property
@@ -144,7 +146,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
144
146
  def use_device_name(self) -> bool: ...
145
147
  @cached_property
146
148
  def has_entity_name(self) -> bool: ...
147
- def _device_class_name_helper(self, component_translations: dict[str, Any]) -> str | None: ...
149
+ def _device_class_name_helper(self, component_translations: dict[str, str]) -> str | None: ...
148
150
  @cached_property
149
151
  def _object_id_device_class_name(self) -> str | None: ...
150
152
  @cached_property
@@ -153,7 +155,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
153
155
  @cached_property
154
156
  def _name_translation_key(self) -> str | None: ...
155
157
  def _substitute_name_placeholders(self, name: str) -> str: ...
156
- def _name_internal(self, device_class_name: str | None, platform_translations: dict[str, Any]) -> str | UndefinedType | None: ...
158
+ def _name_internal(self, device_class_name: str | None, platform_translations: dict[str, str]) -> str | UndefinedType | None: ...
157
159
  @property
158
160
  def suggested_object_id(self) -> str | None: ...
159
161
  @cached_property
@@ -224,10 +226,10 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
224
226
  def async_registry_entry_updated(self) -> None: ...
225
227
  async def async_internal_added_to_hass(self) -> None: ...
226
228
  async def async_internal_will_remove_from_hass(self) -> None: ...
227
- def _async_registry_updated(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
228
- async def _async_process_registry_update_or_remove(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
229
+ def _async_registry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
230
+ async def _async_process_registry_update_or_remove(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
229
231
  def _async_unsubscribe_device_updates(self) -> None: ...
230
- def _async_device_registry_updated(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
232
+ def _async_device_registry_updated(self, event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
231
233
  def _async_subscribe_device_updates(self) -> None: ...
232
234
  def __repr__(self) -> str: ...
233
235
  async def async_request_call(self, coro: Coroutine[Any, Any, _T]) -> _T: ...
@@ -8,7 +8,7 @@ from collections.abc import Callable as Callable, Iterable
8
8
  from datetime import timedelta
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
11
- from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
11
+ from homeassistant.core import Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.loader import async_get_integration as async_get_integration, bind_hass as bind_hass
14
14
  from homeassistant.setup import async_prepare_setup_platform as async_prepare_setup_platform
@@ -39,6 +39,7 @@ class EntityComponent(Generic[_EntityT]):
39
39
  def register_shutdown(self) -> None: ...
40
40
  def setup(self, config: ConfigType) -> None: ...
41
41
  async def async_setup(self, config: ConfigType) -> None: ...
42
+ async def _async_component_platform_discovered(self, platform: str, info: dict[str, Any] | None) -> None: ...
42
43
  async def async_setup_entry(self, config_entry: ConfigEntry) -> bool: ...
43
44
  async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
44
45
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
@@ -15,7 +15,7 @@ from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_N
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
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
17
17
  from homeassistant.generated import languages as languages
18
- from homeassistant.setup import async_start_setup as async_start_setup
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
20
  from logging import Logger
21
21
  from typing import Any, Protocol
@@ -71,7 +71,7 @@ class EntityPlatform:
71
71
  def async_cancel_retry_setup(self) -> None: ...
72
72
  async def async_setup_entry(self, config_entry: config_entries.ConfigEntry) -> bool: ...
73
73
  async def _async_setup_platform(self, async_create_setup_awaitable: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
74
- async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, Any]: ...
74
+ async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, str]: ...
75
75
  async def async_load_translations(self) -> None: ...
76
76
  def _schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
77
77
  def _async_schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
@@ -1,10 +1,11 @@
1
1
  from . import storage as storage
2
2
  from .device_registry import EVENT_DEVICE_REGISTRY_UPDATED as EVENT_DEVICE_REGISTRY_UPDATED
3
- from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes
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
4
5
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
5
6
  from _typeshed import Incomplete
6
7
  from collections import UserDict
7
- from collections.abc import Callable as Callable, Iterable, Mapping, ValuesView
8
+ from collections.abc import Callable as Callable, Iterable, KeysView, Mapping, ValuesView
8
9
  from enum import StrEnum
9
10
  from homeassistant.backports.functools import cached_property as cached_property
10
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -19,7 +20,6 @@ from typing import Any, Literal, NotRequired, TypeVar, TypedDict
19
20
  T = TypeVar('T')
20
21
  DATA_REGISTRY: str
21
22
  EVENT_ENTITY_REGISTRY_UPDATED: str
22
- SAVE_DELAY: int
23
23
  _LOGGER: Incomplete
24
24
  STORAGE_VERSION_MAJOR: int
25
25
  STORAGE_VERSION_MINOR: int
@@ -65,6 +65,7 @@ class RegistryEntry:
65
65
  previous_unique_id: str | None
66
66
  aliases: set[str]
67
67
  area_id: str | None
68
+ categories: dict[str, str]
68
69
  capabilities: Mapping[str, Any] | None
69
70
  config_entry_id: str | None
70
71
  device_class: str | None
@@ -96,8 +97,9 @@ class RegistryEntry:
96
97
  def as_partial_dict(self) -> dict[str, Any]: ...
97
98
  def extended_dict(self) -> dict[str, Any]: ...
98
99
  def partial_json_repr(self) -> bytes | None: ...
100
+ def as_storage_fragment(self) -> json_fragment: ...
99
101
  def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
100
- def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
102
+ def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
101
103
  def __lt__(self, other): ...
102
104
  def __le__(self, other): ...
103
105
  def __gt__(self, other): ...
@@ -112,6 +114,7 @@ class DeletedRegistryEntry:
112
114
  id: str
113
115
  orphaned_timestamp: float | None
114
116
  def _domain_default(self) -> str: ...
117
+ def as_storage_fragment(self) -> json_fragment: ...
115
118
  def __init__(self, entity_id, unique_id, platform, config_entry_id, domain, id, orphaned_timestamp) -> None: ...
116
119
  def __lt__(self, other): ...
117
120
  def __le__(self, other): ...
@@ -133,35 +136,36 @@ class EntityRegistryItems(UserDict[str, RegistryEntry]):
133
136
  def _unindex_entry_value(self, key: str, value: str, index: dict[str, dict[str, Literal[True]]]) -> None: ...
134
137
  def _unindex_entry(self, key: str) -> None: ...
135
138
  def __delitem__(self, key: str) -> None: ...
139
+ def get_device_ids(self) -> KeysView[str]: ...
136
140
  def get_entity_id(self, key: tuple[str, str, str]) -> str | None: ...
137
141
  def get_entry(self, key: str) -> RegistryEntry | None: ...
138
142
  def get_entries_for_device_id(self, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
139
143
  def get_entries_for_config_entry_id(self, config_entry_id: str) -> list[RegistryEntry]: ...
140
144
  def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
141
145
 
142
- class EntityRegistry:
146
+ class EntityRegistry(BaseRegistry):
143
147
  deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
144
148
  entities: EntityRegistryItems
145
149
  _entities_data: dict[str, RegistryEntry]
146
150
  hass: Incomplete
147
151
  _store: Incomplete
148
152
  def __init__(self, hass: HomeAssistant) -> None: ...
149
- def async_get_device_class_lookup(self, domain_device_classes: set[tuple[str, str | None]]) -> dict[str, dict[tuple[str, str | None], str]]: ...
150
153
  def async_is_registered(self, entity_id: str) -> bool: ...
151
154
  def async_get(self, entity_id_or_uuid: str) -> RegistryEntry | None: ...
152
155
  def async_get_entity_id(self, domain: str, platform: str, unique_id: str) -> str | None: ...
156
+ def async_device_ids(self) -> list[str]: ...
153
157
  def _entity_id_available(self, entity_id: str, known_object_ids: Iterable[str] | None) -> bool: ...
154
158
  def async_generate_entity_id(self, domain: str, suggested_object_id: str, known_object_ids: Iterable[str] | None = None) -> str: ...
155
159
  def async_get_or_create(self, domain: str, platform: str, unique_id: str, *, known_object_ids: Iterable[str] | None = None, suggested_object_id: str | None = None, disabled_by: RegistryEntryDisabler | None = None, hidden_by: RegistryEntryHider | None = None, get_initial_options: Callable[[], EntityOptionsType | None] | None = None, capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry: ConfigEntry | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., entity_category: EntityCategory | UndefinedType | None = ..., has_entity_name: bool | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | None | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
156
160
  def async_remove(self, entity_id: str) -> None: ...
157
161
  def async_device_modified(self, event: Event) -> None: ...
158
- def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
159
- def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
162
+ def _async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., categories: dict[str, str] | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., options: EntityOptionsType | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., platform: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
163
+ def async_update_entity(self, entity_id: str, *, aliases: set[str] | UndefinedType = ..., area_id: str | None | UndefinedType = ..., categories: dict[str, str] | UndefinedType = ..., capabilities: Mapping[str, Any] | None | UndefinedType = ..., config_entry_id: str | None | UndefinedType = ..., device_class: str | None | UndefinedType = ..., device_id: str | None | UndefinedType = ..., disabled_by: RegistryEntryDisabler | None | UndefinedType = ..., entity_category: EntityCategory | None | UndefinedType = ..., hidden_by: RegistryEntryHider | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., has_entity_name: bool | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | None | UndefinedType = ..., new_entity_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., original_device_class: str | None | UndefinedType = ..., original_icon: str | None | UndefinedType = ..., original_name: str | None | UndefinedType = ..., supported_features: int | UndefinedType = ..., translation_key: str | None | UndefinedType = ..., unit_of_measurement: str | None | UndefinedType = ...) -> RegistryEntry: ...
160
164
  def async_update_entity_platform(self, entity_id: str, new_platform: str, *, new_config_entry_id: str | UndefinedType = ..., new_unique_id: str | UndefinedType = ..., new_device_id: str | None | UndefinedType = ...) -> RegistryEntry: ...
161
165
  def async_update_entity_options(self, entity_id: str, domain: str, options: Mapping[str, Any] | None) -> RegistryEntry: ...
162
166
  async def async_load(self) -> None: ...
163
- def async_schedule_save(self) -> None: ...
164
167
  def _data_to_save(self) -> dict[str, Any]: ...
168
+ def async_clear_category_id(self, scope: str, category_id: str) -> None: ...
165
169
  def async_clear_label_id(self, label_id: str) -> None: ...
166
170
  def async_clear_config_entry(self, config_entry_id: str) -> None: ...
167
171
  def async_purge_expired_orphaned_entities(self) -> None: ...
@@ -172,6 +176,7 @@ async def async_load(hass: HomeAssistant) -> None: ...
172
176
  def async_entries_for_device(registry: EntityRegistry, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
173
177
  def async_entries_for_area(registry: EntityRegistry, area_id: str) -> list[RegistryEntry]: ...
174
178
  def async_entries_for_label(registry: EntityRegistry, label_id: str) -> list[RegistryEntry]: ...
179
+ def async_entries_for_category(registry: EntityRegistry, scope: str, category_id: str) -> list[RegistryEntry]: ...
175
180
  def async_entries_for_config_entry(registry: EntityRegistry, config_entry_id: str) -> list[RegistryEntry]: ...
176
181
  def async_config_entry_disabled_by_changed(registry: EntityRegistry, config_entry: ConfigEntry) -> None: ...
177
182
  def _async_setup_cleanup(hass: HomeAssistant, registry: EntityRegistry) -> None: ...
@@ -5,13 +5,13 @@ from .entity_registry import EVENT_ENTITY_REGISTRY_UPDATED as EVENT_ENTITY_REGIS
5
5
  from .ratelimit import KeyedRateLimit as KeyedRateLimit
6
6
  from .sun import get_astral_event_next as get_astral_event_next
7
7
  from .template import RenderInfo as RenderInfo, Template as Template, result_as_boolean as result_as_boolean
8
- from .typing import EventType as EventType, TemplateVarsType as TemplateVarsType
8
+ from .typing import TemplateVarsType as TemplateVarsType
9
9
  from _typeshed import Incomplete
10
10
  from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
11
11
  from dataclasses import dataclass
12
12
  from datetime import datetime, timedelta
13
13
  from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
14
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
14
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
15
15
  from homeassistant.exceptions import TemplateError as TemplateError
16
16
  from homeassistant.loader import bind_hass as bind_hass
17
17
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
@@ -41,8 +41,8 @@ class _KeyedEventTracker(Generic[_TypedDictT]):
41
41
  listeners_key: str
42
42
  callbacks_key: str
43
43
  event_type: str
44
- dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]], EventType[_TypedDictT]], None]
45
- filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]], EventType[_TypedDictT]], bool]
44
+ dispatcher_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], Event[_TypedDictT]], None]
45
+ filter_callable: Callable[[HomeAssistant, dict[str, list[HassJob[[Event[_TypedDictT]], Any]]], _TypedDictT], bool]
46
46
  run_immediately: bool
47
47
  def __init__(self, listeners_key, callbacks_key, event_type, dispatcher_callable, filter_callable, run_immediately) -> None: ...
48
48
 
@@ -57,7 +57,7 @@ class TrackStates:
57
57
  class TrackTemplate:
58
58
  template: Template
59
59
  variables: TemplateVarsType
60
- rate_limit: timedelta | None = ...
60
+ rate_limit: float | None = ...
61
61
  def __init__(self, template, variables, rate_limit) -> None: ...
62
62
 
63
63
  @dataclass(slots=True)
@@ -77,40 +77,40 @@ def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str
77
77
 
78
78
  track_state_change: Incomplete
79
79
 
80
- def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
81
- def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> None: ...
82
- def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
80
+ def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
81
+ def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event: Event[EventStateChangedData]) -> None: ...
82
+ def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
83
83
 
84
84
  _KEYED_TRACK_STATE_CHANGE: Incomplete
85
85
 
86
- def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
86
+ def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
87
87
  def _remove_empty_listener() -> None: ...
88
- def _remove_listener(hass: HomeAssistant, listeners_key: str, keys: Iterable[str], job: HassJob[[EventType[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[EventType[_TypedDictT]], Any]]]) -> None: ...
89
- def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[EventType[_TypedDictT]], None]) -> CALLBACK_TYPE: ...
90
- def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventEntityRegistryUpdatedData]], Any]]], event: EventType[EventEntityRegistryUpdatedData]) -> None: ...
91
- def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventEntityRegistryUpdatedData]], Any]]], event: EventType[EventEntityRegistryUpdatedData]) -> bool: ...
88
+ 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: ...
89
+ def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[Event[_TypedDictT]], None], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
90
+ def _async_dispatch_old_entity_id_or_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event: Event[EventEntityRegistryUpdatedData]) -> None: ...
91
+ def _async_entity_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventEntityRegistryUpdatedData]], Any]]], event_data: EventEntityRegistryUpdatedData) -> bool: ...
92
92
 
93
93
  _KEYED_TRACK_ENTITY_REGISTRY_UPDATED: Incomplete
94
94
 
95
- def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[EventType[EventEntityRegistryUpdatedData]], Any]) -> CALLBACK_TYPE: ...
96
- def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventDeviceRegistryUpdatedData]], Any]]], event: EventType[EventDeviceRegistryUpdatedData]) -> bool: ...
97
- def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventDeviceRegistryUpdatedData]], Any]]], event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
95
+ def async_track_entity_registry_updated_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventEntityRegistryUpdatedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
96
+ def _async_device_registry_updated_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]], event_data: EventDeviceRegistryUpdatedData) -> bool: ...
97
+ def _async_dispatch_device_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventDeviceRegistryUpdatedData]], Any]]], event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
98
98
 
99
99
  _KEYED_TRACK_DEVICE_REGISTRY_UPDATED: Incomplete
100
100
 
101
- def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[EventType[EventDeviceRegistryUpdatedData]], Any]) -> CALLBACK_TYPE: ...
102
- def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> None: ...
103
- def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
104
- def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
101
+ def async_track_device_registry_updated_event(hass: HomeAssistant, device_ids: str | Iterable[str], action: Callable[[Event[EventDeviceRegistryUpdatedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
102
+ def _async_dispatch_domain_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event: Event[EventStateChangedData]) -> None: ...
103
+ def _async_domain_added_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
104
+ def async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
105
105
 
106
106
  _KEYED_TRACK_STATE_ADDED_DOMAIN: Incomplete
107
107
 
108
- def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
109
- def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[EventType[EventStateChangedData]], Any]]], event: EventType[EventStateChangedData]) -> bool: ...
108
+ def _async_track_state_added_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
109
+ def _async_domain_removed_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
110
110
 
111
111
  _KEYED_TRACK_STATE_REMOVED_DOMAIN: Incomplete
112
112
 
113
- def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[EventType[EventStateChangedData]], Any]) -> CALLBACK_TYPE: ...
113
+ def async_track_state_removed_domain(hass: HomeAssistant, domains: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
114
114
  def _async_string_to_lower_list(instr: str | Iterable[str]) -> list[str]: ...
115
115
 
116
116
  class _TrackStateChangeFiltered:
@@ -119,7 +119,7 @@ class _TrackStateChangeFiltered:
119
119
  _action_as_hassjob: Incomplete
120
120
  _listeners: Incomplete
121
121
  _last_track_states: Incomplete
122
- def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[EventType[EventStateChangedData]], Any]) -> None: ...
122
+ def __init__(self, hass: HomeAssistant, track_states: TrackStates, action: Callable[[Event[EventStateChangedData]], Any]) -> None: ...
123
123
  def async_setup(self) -> None: ...
124
124
  @property
125
125
  def listeners(self) -> dict[str, bool | set[str]]: ...
@@ -127,11 +127,11 @@ class _TrackStateChangeFiltered:
127
127
  def async_remove(self) -> None: ...
128
128
  def _cancel_listener(self, listener_name: str) -> None: ...
129
129
  def _setup_entities_listener(self, domains: set[str], entities: set[str]) -> None: ...
130
- def _state_added(self, event: EventType[EventStateChangedData]) -> None: ...
130
+ def _state_added(self, event: Event[EventStateChangedData]) -> None: ...
131
131
  def _setup_domains_listener(self, domains: set[str]) -> None: ...
132
132
  def _setup_all_listener(self) -> None: ...
133
133
 
134
- def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[EventType[EventStateChangedData]], Any]) -> _TrackStateChangeFiltered: ...
134
+ def async_track_state_change_filtered(hass: HomeAssistant, track_states: TrackStates, action: Callable[[Event[EventStateChangedData]], Any]) -> _TrackStateChangeFiltered: ...
135
135
  def async_track_template(hass: HomeAssistant, template: Template, action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], variables: TemplateVarsType | None = None) -> CALLBACK_TYPE: ...
136
136
 
137
137
  track_template: Incomplete
@@ -155,11 +155,11 @@ class TrackTemplateResultInfo:
155
155
  def _update_time_listeners(self) -> None: ...
156
156
  def async_remove(self) -> None: ...
157
157
  def async_refresh(self) -> None: ...
158
- def _render_template_if_ready(self, track_template_: TrackTemplate, now: datetime, event: EventType[EventStateChangedData] | None) -> bool | TrackTemplateResult: ...
158
+ def _render_template_if_ready(self, track_template_: TrackTemplate, now: float, event: Event[EventStateChangedData] | None) -> bool | TrackTemplateResult: ...
159
159
  @staticmethod
160
160
  def _super_template_as_boolean(result: bool | str | TemplateError) -> bool: ...
161
161
  def _apply_update(self, updates: list[TrackTemplateResult], update: bool | TrackTemplateResult, template: Template) -> bool: ...
162
- def _refresh(self, event: EventType[EventStateChangedData] | None, track_templates: Iterable[TrackTemplate] | None = None, replayed: bool | None = False) -> None: ...
162
+ def _refresh(self, event: Event[EventStateChangedData] | None, track_templates: Iterable[TrackTemplate] | None = None, replayed: bool | None = False) -> None: ...
163
163
 
164
164
  TrackTemplateResultListener: Incomplete
165
165
 
@@ -269,6 +269,6 @@ def process_state_match(parameter: None | str | Iterable[str], invert: bool = Fa
269
269
  def _entities_domains_from_render_infos(render_infos: Iterable[RenderInfo]) -> tuple[set[str], set[str]]: ...
270
270
  def _render_infos_needs_all_listener(render_infos: Iterable[RenderInfo]) -> bool: ...
271
271
  def _render_infos_to_track_states(render_infos: Iterable[RenderInfo]) -> TrackStates: ...
272
- def _event_triggers_rerender(event: EventType[EventStateChangedData], info: RenderInfo) -> bool: ...
273
- def _rate_limit_for_event(event: EventType[EventStateChangedData], info: RenderInfo, track_template_: TrackTemplate) -> timedelta | None: ...
272
+ def _event_triggers_rerender(event: Event[EventStateChangedData], info: RenderInfo) -> bool: ...
273
+ def _rate_limit_for_event(event: Event[EventStateChangedData], info: RenderInfo, track_template_: TrackTemplate) -> float | None: ...
274
274
  def _suppress_domain_all_in_render_info(render_info: RenderInfo) -> RenderInfo: ...
@@ -1,10 +1,11 @@
1
+ from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
2
+ from .registry import BaseRegistry as BaseRegistry
1
3
  from .storage import Store as Store
2
- from .typing import EventType as EventType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
4
+ from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
3
5
  from _typeshed import Incomplete
4
- from collections import UserDict
5
- from collections.abc import Iterable, ValuesView
6
+ from collections.abc import Iterable
6
7
  from dataclasses import dataclass
7
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.util import slugify as slugify
9
10
  from typing import Literal, TypedDict
10
11
 
@@ -12,33 +13,22 @@ DATA_REGISTRY: str
12
13
  EVENT_FLOOR_REGISTRY_UPDATED: str
13
14
  STORAGE_KEY: str
14
15
  STORAGE_VERSION_MAJOR: int
15
- SAVE_DELAY: int
16
16
 
17
17
  class EventFloorRegistryUpdatedData(TypedDict):
18
18
  action: Literal['create', 'remove', 'update']
19
19
  floor_id: str
20
- EventFloorRegistryUpdated = EventType[EventFloorRegistryUpdatedData]
20
+ EventFloorRegistryUpdated = Event[EventFloorRegistryUpdatedData]
21
21
 
22
22
  @dataclass(slots=True, kw_only=True, frozen=True)
23
- class FloorEntry:
23
+ class FloorEntry(NormalizedNameBaseRegistryEntry):
24
24
  aliases: set[str]
25
25
  floor_id: str
26
26
  icon: str | None = ...
27
- level: int = ...
28
- name: str
29
- normalized_name: str
30
- def __init__(self, *, aliases, floor_id, icon, level, name, normalized_name) -> None: ...
27
+ level: int | None = ...
28
+ def __init__(self, *, name, normalized_name, aliases, floor_id, icon, level) -> None: ...
31
29
 
32
- class FloorRegistryItems(UserDict[str, FloorEntry]):
33
- _normalized_names: Incomplete
34
- def __init__(self) -> None: ...
35
- def values(self) -> ValuesView[FloorEntry]: ...
36
- def __setitem__(self, key: str, entry: FloorEntry) -> None: ...
37
- def __delitem__(self, key: str) -> None: ...
38
- def get_floor_by_name(self, name: str) -> FloorEntry | None: ...
39
-
40
- class FloorRegistry:
41
- floors: FloorRegistryItems
30
+ class FloorRegistry(BaseRegistry):
31
+ floors: NormalizedNameBaseRegistryItems[FloorEntry]
42
32
  _floor_data: dict[str, FloorEntry]
43
33
  hass: Incomplete
44
34
  _store: Incomplete
@@ -47,13 +37,11 @@ class FloorRegistry:
47
37
  def async_get_floor_by_name(self, name: str) -> FloorEntry | None: ...
48
38
  def async_list_floors(self) -> Iterable[FloorEntry]: ...
49
39
  def _generate_id(self, name: str) -> str: ...
50
- def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, level: int = 0) -> FloorEntry: ...
40
+ def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, level: int | None = None) -> FloorEntry: ...
51
41
  def async_delete(self, floor_id: str) -> None: ...
52
42
  def async_update(self, floor_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., level: int | UndefinedType = ..., name: str | UndefinedType = ...) -> FloorEntry: ...
53
43
  async def async_load(self) -> None: ...
54
- def async_schedule_save(self) -> None: ...
55
44
  def _data_to_save(self) -> dict[str, list[dict[str, str | int | list[str] | None]]]: ...
56
45
 
57
46
  def async_get(hass: HomeAssistant) -> FloorRegistry: ...
58
47
  async def async_load(hass: HomeAssistant) -> None: ...
59
- def _normalize_floor_name(floor_name: str) -> str: ...
@@ -2,10 +2,11 @@ import logging
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable
4
4
  from dataclasses import dataclass
5
+ from functools import cached_property as cached_property
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass
6
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
8
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
8
- from traceback import FrameSummary
9
+ from types import FrameType
9
10
  from typing import TypeVar
10
11
 
11
12
  _LOGGER: Incomplete
@@ -15,13 +16,20 @@ _CallableT = TypeVar('_CallableT', bound=Callable)
15
16
  @dataclass(kw_only=True)
16
17
  class IntegrationFrame:
17
18
  custom_integration: bool
18
- frame: FrameSummary
19
19
  integration: str
20
20
  module: str | None
21
21
  relative_filename: str
22
- def __init__(self, *, custom_integration, frame, integration, module, relative_filename) -> None: ...
22
+ _frame: FrameType
23
+ @cached_property
24
+ def line_number(self) -> int: ...
25
+ @cached_property
26
+ def filename(self) -> str: ...
27
+ @cached_property
28
+ def line(self) -> str: ...
29
+ def __init__(self, *, custom_integration, integration, module, relative_filename, _frame) -> None: ...
23
30
 
24
31
  def get_integration_logger(fallback_name: str) -> logging.Logger: ...
32
+ def get_current_frame(depth: int = 0) -> FrameType: ...
25
33
  def get_integration_frame(exclude_integrations: set | None = None) -> IntegrationFrame: ...
26
34
 
27
35
  class MissingIntegrationFrame(HomeAssistantError): ...
@@ -2,9 +2,8 @@ from .json import find_paths_unserializable_data as find_paths_unserializable_da
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import web
4
4
  from aiohttp.typedefs import LooseHeaders as LooseHeaders
5
- from aiohttp.web import Request as Request
6
- from aiohttp.web_urldispatcher import AbstractRoute as AbstractRoute
7
- from collections.abc import Awaitable, Callable as Callable
5
+ from aiohttp.web import AppKey, Request as Request
6
+ from collections.abc import Awaitable, Callable
8
7
  from contextvars import ContextVar
9
8
  from homeassistant import exceptions as exceptions
10
9
  from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON
@@ -14,7 +13,11 @@ from http import HTTPStatus
14
13
  from typing import Any, Final
15
14
 
16
15
  _LOGGER: Incomplete
16
+ AllowCorsType: Incomplete
17
17
  KEY_AUTHENTICATED: Final[str]
18
+ KEY_ALLOW_ALL_CORS: Incomplete
19
+ KEY_ALLOW_CONFIGRED_CORS: Incomplete
20
+ KEY_HASS: AppKey[HomeAssistant]
18
21
  current_request: ContextVar[Request | None]
19
22
 
20
23
  def request_handler_factory(hass: HomeAssistant, view: HomeAssistantView, handler: Callable) -> Callable[[web.Request], Awaitable[web.StreamResponse]]: ...
@@ -0,0 +1,11 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from types import ModuleType
4
+
5
+ _LOGGER: Incomplete
6
+ DATA_IMPORT_CACHE: str
7
+ DATA_IMPORT_FUTURES: str
8
+ DATA_IMPORT_FAILURES: str
9
+
10
+ def _get_module(cache: dict[str, ModuleType], name: str) -> ModuleType: ...
11
+ async def async_import_module(hass: HomeAssistant, name: str) -> ModuleType: ...
@@ -1,10 +1,10 @@
1
- from .typing import EventType as EventType
1
+ import asyncio
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Awaitable, Callable as Callable
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.const import EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED
6
- from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
- from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, async_get_loaded_integration as async_get_loaded_integration, bind_hass as bind_hass
6
+ from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
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
9
  from homeassistant.util.logging import catch_log_exception as catch_log_exception
10
10
  from types import ModuleType
@@ -20,7 +20,9 @@ class IntegrationPlatform:
20
20
  seen_components: set[str]
21
21
  def __init__(self, platform_name, process_job, seen_components) -> None: ...
22
22
 
23
- def _get_platform(integration: Integration | Exception, component_name: str, platform_name: str) -> ModuleType | None: ...
24
- def _async_process_integration_platforms_for_component(hass: HomeAssistant, integration_platforms: list[IntegrationPlatform], event: EventType[EventComponentLoaded]) -> None: ...
23
+ def _async_integration_platform_component_loaded(hass: HomeAssistant, integration_platforms: list[IntegrationPlatform], event: Event[EventComponentLoaded]) -> None: ...
24
+ async def _async_process_integration_platforms_for_component(hass: HomeAssistant, integration: Integration, platforms_that_exist: list[str], integration_platforms_by_name: dict[str, IntegrationPlatform]) -> None: ...
25
+ def _process_integration_platforms(hass: HomeAssistant, integration: Integration, platforms: dict[str, ModuleType], integration_platforms_by_name: dict[str, IntegrationPlatform]) -> list[asyncio.Future[Awaitable[None] | None]]: ...
25
26
  def _format_err(name: str, platform_name: str, *args: Any) -> str: ...
26
- async def async_process_integration_platforms(hass: HomeAssistant, platform_name: str, process_platform: Callable[[HomeAssistant, str, Any], Awaitable[None] | None]) -> None: ...
27
+ async def async_process_integration_platforms(hass: HomeAssistant, platform_name: str, process_platform: Callable[[HomeAssistant, str, Any], Awaitable[None] | None], wait_for_platforms: bool = False) -> None: ...
28
+ async def _async_process_integration_platforms(hass: HomeAssistant, platform_name: str, top_level_components: set[str], process_job: HassJob) -> None: ...
@@ -1,7 +1,7 @@
1
1
  import abc
2
2
  import asyncio
3
3
  import voluptuous as vol
4
- from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry
4
+ from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry
5
5
  from _typeshed import Incomplete
6
6
  from abc import abstractmethod
7
7
  from collections.abc import Collection, Iterable
@@ -42,9 +42,10 @@ class IntentUnexpectedError(IntentError): ...
42
42
  class NoStatesMatchedError(IntentError):
43
43
  name: Incomplete
44
44
  area: Incomplete
45
+ floor: Incomplete
45
46
  domains: Incomplete
46
47
  device_classes: Incomplete
47
- def __init__(self, name: str | None, area: str | None, domains: set[str] | None, device_classes: set[str] | None) -> None: ...
48
+ def __init__(self, name: str | None = None, area: str | None = None, floor: str | None = None, domains: set[str] | None = None, device_classes: set[str] | None = None) -> None: ...
48
49
 
49
50
  class DuplicateNamesMatchedError(IntentError):
50
51
  name: Incomplete
@@ -54,8 +55,9 @@ class DuplicateNamesMatchedError(IntentError):
54
55
  def _is_device_class(state: State, entity: entity_registry.RegistryEntry | None, device_classes: Collection[str]) -> bool: ...
55
56
  def _has_name(state: State, entity: entity_registry.RegistryEntry | None, name: str) -> bool: ...
56
57
  def _find_area(id_or_name: str, areas: area_registry.AreaRegistry) -> area_registry.AreaEntry | None: ...
57
- def _filter_by_area(states_and_entities: list[tuple[State, entity_registry.RegistryEntry | None]], area: area_registry.AreaEntry, devices: device_registry.DeviceRegistry) -> Iterable[tuple[State, entity_registry.RegistryEntry | None]]: ...
58
- def async_match_states(hass: HomeAssistant, name: str | None = None, area_name: str | None = None, area: area_registry.AreaEntry | None = None, domains: Collection[str] | None = None, device_classes: Collection[str] | None = None, states: Iterable[State] | None = None, entities: entity_registry.EntityRegistry | None = None, areas: area_registry.AreaRegistry | None = None, devices: device_registry.DeviceRegistry | None = None, assistant: str | None = None) -> Iterable[State]: ...
58
+ def _find_floor(id_or_name: str, floors: floor_registry.FloorRegistry) -> floor_registry.FloorEntry | None: ...
59
+ def _filter_by_areas(states_and_entities: list[tuple[State, entity_registry.RegistryEntry | None]], areas: Iterable[area_registry.AreaEntry], devices: device_registry.DeviceRegistry) -> Iterable[tuple[State, entity_registry.RegistryEntry | None]]: ...
60
+ def async_match_states(hass: HomeAssistant, name: str | None = None, area_name: str | None = None, area: area_registry.AreaEntry | None = None, floor_name: str | None = None, floor: floor_registry.FloorEntry | None = None, domains: Collection[str] | None = None, device_classes: Collection[str] | None = None, states: Iterable[State] | None = None, entities: entity_registry.EntityRegistry | None = None, areas: area_registry.AreaRegistry | None = None, floors: floor_registry.FloorRegistry | None = None, devices: device_registry.DeviceRegistry | None = None, assistant: str | None = None) -> Iterable[State]: ...
59
61
  def async_test_feature(state: State, feature: int, feature_name: str) -> None: ...
60
62
 
61
63
  class IntentHandler:
@@ -1,4 +1,5 @@
1
1
  import dataclasses
2
+ from .registry import BaseRegistry as BaseRegistry
2
3
  from .storage import Store as Store
3
4
  from _typeshed import Incomplete
4
5
  from datetime import datetime
@@ -12,7 +13,6 @@ EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED: str
12
13
  STORAGE_KEY: str
13
14
  STORAGE_VERSION_MAJOR: int
14
15
  STORAGE_VERSION_MINOR: int
15
- SAVE_DELAY: int
16
16
 
17
17
  class IssueSeverity(StrEnum):
18
18
  CRITICAL: str
@@ -41,7 +41,7 @@ class IssueEntry:
41
41
  class IssueRegistryStore(Store[dict[str, list[dict[str, Any]]]]):
42
42
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
43
43
 
44
- class IssueRegistry:
44
+ class IssueRegistry(BaseRegistry):
45
45
  hass: Incomplete
46
46
  issues: Incomplete
47
47
  _read_only: Incomplete
@@ -52,7 +52,6 @@ class IssueRegistry:
52
52
  def async_delete(self, domain: str, issue_id: str) -> None: ...
53
53
  def async_ignore(self, domain: str, issue_id: str, ignore: bool) -> IssueEntry: ...
54
54
  async def async_load(self) -> None: ...
55
- def async_schedule_save(self) -> None: ...
56
55
  def _data_to_save(self) -> dict[str, list[dict[str, str | None]]]: ...
57
56
 
58
57
  def async_get(hass: HomeAssistant) -> IssueRegistry: ...