homeassistant-stubs 2024.2.4__py3-none-any.whl → 2024.3.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 (302) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -5
  2. homeassistant-stubs/components/aftership/const.pyi +0 -1
  3. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  4. homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  6. homeassistant-stubs/components/alexa/config.pyi +2 -0
  7. homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
  8. homeassistant-stubs/components/androidtv/entity.pyi +30 -0
  9. homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
  10. homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
  11. homeassistant-stubs/components/api/__init__.pyi +0 -1
  12. homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
  13. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  14. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  15. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  16. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  17. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  18. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  20. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  21. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  22. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  23. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  24. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  25. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  26. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  27. homeassistant-stubs/components/backup/manager.pyi +5 -3
  28. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  29. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  30. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  31. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  32. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  33. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  34. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  35. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  36. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  37. homeassistant-stubs/components/bthome/config_flow.pyi +4 -4
  38. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  39. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  40. homeassistant-stubs/components/camera/prefs.pyi +2 -0
  41. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  42. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  43. homeassistant-stubs/components/cloud/const.pyi +2 -0
  44. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  45. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  46. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  47. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  48. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  49. homeassistant-stubs/components/config/auth.pyi +2 -2
  50. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  51. homeassistant-stubs/components/config/automation.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  53. homeassistant-stubs/components/config/core.pyi +2 -2
  54. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  55. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  56. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  57. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  58. homeassistant-stubs/components/config/scene.pyi +2 -2
  59. homeassistant-stubs/components/config/script.pyi +2 -2
  60. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  61. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  62. homeassistant-stubs/components/deconz/light.pyi +1 -1
  63. homeassistant-stubs/components/demo/fan.pyi +1 -0
  64. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  65. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  66. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  67. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  68. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  69. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  70. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  71. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  72. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  74. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  75. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  76. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  77. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  78. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  79. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  80. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  81. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  82. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  83. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  84. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  85. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  86. homeassistant-stubs/components/esphome/update.pyi +0 -1
  87. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  88. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  89. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  90. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  91. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  92. homeassistant-stubs/components/flux_led/__init__.pyi +2 -2
  93. homeassistant-stubs/components/fritz/common.pyi +2 -1
  94. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  95. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  96. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  97. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  98. homeassistant-stubs/components/group/__init__.pyi +1 -1
  99. homeassistant-stubs/components/group/light.pyi +3 -3
  100. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  101. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  102. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  103. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  104. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  105. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  106. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  107. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  108. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  109. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  110. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  111. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  112. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  113. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  114. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  115. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  116. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  117. homeassistant-stubs/components/http/__init__.pyi +3 -3
  118. homeassistant-stubs/components/http/auth.pyi +1 -1
  119. homeassistant-stubs/components/http/ban.pyi +0 -1
  120. homeassistant-stubs/components/http/const.pyi +1 -1
  121. homeassistant-stubs/components/http/request_context.pyi +1 -2
  122. homeassistant-stubs/components/http/view.pyi +1 -29
  123. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  124. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  125. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  126. homeassistant-stubs/components/image/__init__.pyi +13 -3
  127. homeassistant-stubs/components/image/media_source.pyi +18 -0
  128. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  129. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  130. homeassistant-stubs/components/intent/__init__.pyi +7 -2
  131. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  132. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  133. homeassistant-stubs/components/knx/schema.pyi +3 -18
  134. homeassistant-stubs/components/knx/validation.pyi +19 -0
  135. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  136. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  137. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  138. homeassistant-stubs/components/light/__init__.pyi +3 -0
  139. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  140. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  141. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  142. homeassistant-stubs/components/logbook/models.pyi +2 -2
  143. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  144. homeassistant-stubs/components/matter/light.pyi +6 -5
  145. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  146. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  147. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  148. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  149. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  150. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  151. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  152. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  153. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  154. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  155. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  156. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  157. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  158. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  159. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  160. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  161. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  162. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  163. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  164. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  165. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  166. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  167. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  168. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  169. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  170. homeassistant-stubs/components/notion/const.pyi +2 -0
  171. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  172. homeassistant-stubs/components/notion/model.pyi +1 -1
  173. homeassistant-stubs/components/notion/util.pyi +7 -0
  174. homeassistant-stubs/components/overkiz/climate.pyi +1 -1
  175. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +8 -0
  176. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +1 -1
  177. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control.pyi +5 -1
  178. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +33 -0
  179. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +61 -0
  180. homeassistant-stubs/components/overkiz/number.pyi +7 -1
  181. homeassistant-stubs/components/proximity/config_flow.pyi +1 -1
  182. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  183. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  184. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  185. homeassistant-stubs/components/recorder/core.pyi +1 -0
  186. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  187. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  188. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  189. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  190. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  191. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  192. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  193. homeassistant-stubs/components/shelly/button.pyi +1 -1
  194. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  195. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  196. homeassistant-stubs/components/shelly/number.pyi +1 -1
  197. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  198. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  199. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  200. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  201. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  202. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  203. homeassistant-stubs/components/steamist/__init__.pyi +1 -1
  204. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  205. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  206. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  207. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  208. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  209. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  210. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  211. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  212. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  213. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  214. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  215. homeassistant-stubs/components/technove/switch.pyi +33 -0
  216. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  217. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  218. homeassistant-stubs/components/tibber/sensor.pyi +7 -4
  219. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  220. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  221. homeassistant-stubs/components/tplink/light.pyi +1 -0
  222. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  223. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  224. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  225. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  226. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  227. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  228. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  229. homeassistant-stubs/components/unifi/button.pyi +1 -1
  230. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  231. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  232. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  233. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  234. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  235. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  236. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  237. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  238. homeassistant-stubs/components/unifi/image.pyi +4 -4
  239. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  240. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  241. homeassistant-stubs/components/unifi/update.pyi +1 -1
  242. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -2
  243. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  244. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  245. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  246. homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -5
  247. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  248. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  249. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  250. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  251. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  252. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  253. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  254. homeassistant-stubs/components/websocket_api/connection.pyi +1 -1
  255. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  256. homeassistant-stubs/components/wiz/light.pyi +3 -2
  257. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  258. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  259. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  260. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  261. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  262. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  263. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  264. homeassistant-stubs/config.pyi +4 -2
  265. homeassistant-stubs/config_entries.pyi +40 -26
  266. homeassistant-stubs/const.pyi +1 -0
  267. homeassistant-stubs/core.pyi +11 -7
  268. homeassistant-stubs/data_entry_flow.pyi +1 -0
  269. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  270. homeassistant-stubs/helpers/collection.pyi +19 -0
  271. homeassistant-stubs/helpers/config_validation.pyi +5 -0
  272. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  273. homeassistant-stubs/helpers/debounce.pyi +3 -1
  274. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  275. homeassistant-stubs/helpers/entity.pyi +4 -2
  276. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  277. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  278. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  279. homeassistant-stubs/helpers/event.pyi +28 -2
  280. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  281. homeassistant-stubs/helpers/frame.pyi +3 -1
  282. homeassistant-stubs/helpers/http.pyi +32 -0
  283. homeassistant-stubs/helpers/icon.pyi +1 -1
  284. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  285. homeassistant-stubs/helpers/intent.pyi +20 -6
  286. homeassistant-stubs/helpers/json.pyi +1 -0
  287. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  288. homeassistant-stubs/helpers/redact.pyi +13 -0
  289. homeassistant-stubs/helpers/service.pyi +1 -0
  290. homeassistant-stubs/helpers/storage.pyi +7 -3
  291. homeassistant-stubs/helpers/template.pyi +7 -0
  292. homeassistant-stubs/helpers/translation.pyi +18 -4
  293. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  294. homeassistant-stubs/loader.pyi +35 -13
  295. homeassistant-stubs/setup.pyi +9 -3
  296. homeassistant-stubs/util/async_.pyi +3 -3
  297. homeassistant-stubs/util/file.pyi +2 -2
  298. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  299. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/METADATA +2 -2
  300. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/RECORD +302 -264
  301. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/LICENSE +0 -0
  302. {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0.dist-info}/WHEEL +0 -0
@@ -8,7 +8,7 @@ from .components.ssdp import SsdpServiceInfo as SsdpServiceInfo
8
8
  from .components.usb import UsbServiceInfo as UsbServiceInfo
9
9
  from .components.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
10
  from .const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
11
- from .core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
11
+ from .core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
12
12
  from .data_entry_flow import FLOW_NOT_COMPLETE_STEPS as FLOW_NOT_COMPLETE_STEPS, FlowResult as FlowResult
13
13
  from .exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
14
14
  from .helpers import device_registry as device_registry, entity_registry as entity_registry, storage as storage
@@ -16,22 +16,27 @@ from .helpers.debounce import Debouncer as Debouncer
16
16
  from .helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
17
17
  from .helpers.event import RANDOM_MICROSECOND_MAX as RANDOM_MICROSECOND_MAX, RANDOM_MICROSECOND_MIN as RANDOM_MICROSECOND_MIN, async_call_later as async_call_later
18
18
  from .helpers.frame import report as report
19
+ from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
19
20
  from .helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
20
21
  from .helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
21
22
  from .loader import async_suggest_report_issue as async_suggest_report_issue
22
23
  from .setup import DATA_SETUP_DONE as DATA_SETUP_DONE, async_process_deps_reqs as async_process_deps_reqs, async_setup_component as async_setup_component
24
+ from .util.async_ import create_eager_task as create_eager_task
23
25
  from .util.decorator import Registry as Registry
24
26
  from _typeshed import Incomplete
25
27
  from collections import UserDict
26
28
  from collections.abc import Callable, Coroutine, Generator, Iterable, Mapping, ValuesView
27
29
  from contextvars import ContextVar
28
30
  from enum import Enum, StrEnum
31
+ from functools import cached_property as cached_property
32
+ from types import MappingProxyType
29
33
  from typing import Any, Self, TypeVar
30
34
 
31
35
  _LOGGER: Incomplete
32
36
  SOURCE_BLUETOOTH: str
33
37
  SOURCE_DHCP: str
34
38
  SOURCE_DISCOVERY: str
39
+ SOURCE_HARDWARE: str
35
40
  SOURCE_HASSIO: str
36
41
  SOURCE_HOMEKIT: str
37
42
  SOURCE_IMPORT: str
@@ -95,27 +100,28 @@ class UnknownEntry(ConfigError): ...
95
100
  class OperationNotAllowed(ConfigError): ...
96
101
 
97
102
  UpdateListenerType: Incomplete
103
+ FROZEN_CONFIG_ENTRY_ATTRS: Incomplete
104
+ UPDATE_ENTRY_CONFIG_ENTRY_ATTRS: Incomplete
98
105
 
99
106
  class ConfigEntry:
100
- __slots__: Incomplete
101
- entry_id: Incomplete
102
- version: Incomplete
103
- minor_version: Incomplete
104
- domain: Incomplete
105
- title: Incomplete
106
- data: Incomplete
107
- options: Incomplete
108
- pref_disable_new_entities: Incomplete
109
- pref_disable_polling: Incomplete
107
+ entry_id: str
108
+ domain: str
109
+ title: str
110
+ data: MappingProxyType[str, Any]
111
+ options: MappingProxyType[str, Any]
112
+ unique_id: str | None
113
+ state: ConfigEntryState
114
+ reason: str | None
115
+ pref_disable_new_entities: bool
116
+ pref_disable_polling: bool
117
+ version: int
118
+ minor_version: int
110
119
  source: Incomplete
111
- state: Incomplete
112
- unique_id: Incomplete
113
120
  disabled_by: Incomplete
114
121
  supports_unload: Incomplete
115
122
  supports_remove_device: Incomplete
116
123
  _supports_options: Incomplete
117
124
  update_listeners: Incomplete
118
- reason: Incomplete
119
125
  _async_cancel_retry_setup: Incomplete
120
126
  _on_unload: Incomplete
121
127
  reload_lock: Incomplete
@@ -124,15 +130,17 @@ class ConfigEntry:
124
130
  _background_tasks: Incomplete
125
131
  _integration_for_domain: Incomplete
126
132
  _tries: int
127
- _setup_again_job: Incomplete
128
133
  def __init__(self, *, version: int, minor_version: int, domain: str, title: str, data: Mapping[str, Any], source: str, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, options: Mapping[str, Any] | None = None, unique_id: str | None = None, entry_id: str | None = None, state: ConfigEntryState = ..., disabled_by: ConfigEntryDisabler | None = None) -> None: ...
129
134
  def __repr__(self) -> str: ...
135
+ def __setattr__(self, key: str, value: Any) -> None: ...
130
136
  @property
131
137
  def supports_options(self) -> bool: ...
138
+ def clear_cache(self) -> None: ...
139
+ @cached_property
140
+ def as_json_fragment(self) -> json_fragment: ...
132
141
  async def async_setup(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> None: ...
133
- async def _async_setup_again(self, hass: HomeAssistant, *_: Any) -> None: ...
134
- def _async_get_setup_again_job(self, hass: HomeAssistant) -> HassJob: ...
135
- async def async_shutdown(self) -> None: ...
142
+ def _async_setup_again(self, hass: HomeAssistant, *_: Any) -> None: ...
143
+ def async_shutdown(self) -> None: ...
136
144
  def async_cancel_retry_setup(self) -> None: ...
137
145
  async def async_unload(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> bool: ...
138
146
  async def async_remove(self, hass: HomeAssistant) -> None: ...
@@ -145,23 +153,25 @@ class ConfigEntry:
145
153
  def async_start_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
146
154
  async def _async_init_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
147
155
  def async_get_active_flows(self, hass: HomeAssistant, sources: set[str]) -> Generator[FlowResult, None, None]: ...
148
- def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None) -> asyncio.Task[_R]: ...
149
- def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
156
+ def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
157
+ def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
150
158
 
151
159
  current_entry: ContextVar[ConfigEntry | None]
152
160
 
161
+ class FlowCancelledError(Exception): ...
162
+
153
163
  class ConfigEntriesFlowManager(data_entry_flow.FlowManager):
154
164
  config_entries: Incomplete
155
165
  _hass_config: Incomplete
156
166
  _pending_import_flows: Incomplete
157
- _initialize_tasks: Incomplete
167
+ _initialize_futures: Incomplete
158
168
  _discovery_debouncer: Incomplete
159
169
  def __init__(self, hass: HomeAssistant, config_entries: ConfigEntries, hass_config: ConfigType) -> None: ...
160
170
  async def async_wait_import_flow_initialized(self, handler: str) -> None: ...
161
171
  def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
162
172
  async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> FlowResult: ...
163
173
  async def _async_init(self, flow_id: str, handler: str, context: dict, data: Any) -> tuple[data_entry_flow.FlowHandler, FlowResult]: ...
164
- async def async_shutdown(self) -> None: ...
174
+ def async_shutdown(self) -> None: ...
165
175
  async def async_finish_flow(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
166
176
  async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
167
177
  async def async_post_init(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> None: ...
@@ -174,8 +184,10 @@ class ConfigEntryItems(UserDict[str, ConfigEntry]):
174
184
  def __init__(self, hass: HomeAssistant) -> None: ...
175
185
  def values(self) -> ValuesView[ConfigEntry]: ...
176
186
  def __setitem__(self, entry_id: str, entry: ConfigEntry) -> None: ...
187
+ def _index_entry(self, entry: ConfigEntry) -> None: ...
177
188
  def _unindex_entry(self, entry_id: str) -> None: ...
178
189
  def __delitem__(self, entry_id: str) -> None: ...
190
+ def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None: ...
179
191
  def get_entries_for_domain(self, domain: str) -> list[ConfigEntry]: ...
180
192
  def get_entry_by_domain_and_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
181
193
 
@@ -189,17 +201,18 @@ class ConfigEntries:
189
201
  def __init__(self, hass: HomeAssistant, hass_config: ConfigType) -> None: ...
190
202
  def async_domains(self, include_ignore: bool = False, include_disabled: bool = False) -> list[str]: ...
191
203
  def async_get_entry(self, entry_id: str) -> ConfigEntry | None: ...
192
- def async_entries(self, domain: str | None = None) -> list[ConfigEntry]: ...
204
+ def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
193
205
  def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
194
206
  async def async_add(self, entry: ConfigEntry) -> None: ...
195
207
  async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
196
- async def _async_shutdown(self, event: Event) -> None: ...
208
+ def _async_shutdown(self, event: Event) -> None: ...
197
209
  async def async_initialize(self) -> None: ...
198
210
  async def async_setup(self, entry_id: str) -> bool: ...
199
211
  async def async_unload(self, entry_id: str) -> bool: ...
212
+ def async_schedule_reload(self, entry_id: str) -> None: ...
200
213
  async def async_reload(self, entry_id: str) -> bool: ...
201
214
  async def async_set_disabled_by(self, entry_id: str, disabled_by: ConfigEntryDisabler | None) -> bool: ...
202
- def async_update_entry(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ...) -> bool: ...
215
+ def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
203
216
  def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
204
217
  async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
205
218
  async def async_forward_entry_setup(self, entry: ConfigEntry, domain: Platform | str) -> bool: ...
@@ -272,11 +285,12 @@ class EntityRegistryDisabledHandler:
272
285
  _remove_call_later: Incomplete
273
286
  def __init__(self, hass: HomeAssistant) -> None: ...
274
287
  def async_setup(self) -> None: ...
275
- async def _handle_entry_updated(self, event: Event) -> None: ...
288
+ def _handle_entry_updated(self, event: Event) -> None: ...
276
289
  async def _handle_reload(self, _now: Any) -> None: ...
277
290
 
278
291
  def _handle_entry_updated_filter(event: Event) -> bool: ...
279
292
  async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
280
293
  async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
294
+ async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
281
295
  async def _load_integration(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> None: ...
282
296
  async def _async_get_flow_handler(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> type[ConfigFlow]: ...
@@ -793,6 +793,7 @@ CAST_APP_ID_HOMEASSISTANT_MEDIA: Final[str]
793
793
  CAST_APP_ID_HOMEASSISTANT_LOVELACE: Final[str]
794
794
  HASSIO_USER_NAME: str
795
795
  SIGNAL_BOOTSTRAP_INTEGRATIONS: str
796
+ KEY_DATA_LOGGING: str
796
797
  FORMAT_DATE: Final[str]
797
798
  FORMAT_TIME: Final[str]
798
799
  FORMAT_DATETIME: Final[Incomplete]
@@ -14,7 +14,8 @@ from .helpers.entity import StateInfo as StateInfo
14
14
  from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
15
15
  from .helpers.storage import Store as Store
16
16
  from .util import location as location
17
- from .util.async_ import cancelling as cancelling, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
17
+ from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
18
+ from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
18
19
  from .util.json import JsonObjectType as JsonObjectType
19
20
  from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
20
21
  from .util.timeout import TimeoutManager as TimeoutManager
@@ -136,6 +137,7 @@ class HomeAssistant:
136
137
  timeout: Incomplete
137
138
  _stop_future: Incomplete
138
139
  _shutdown_jobs: Incomplete
140
+ import_executor: Incomplete
139
141
  def __init__(self, config_dir: str) -> None: ...
140
142
  @cached_property
141
143
  def is_running(self) -> bool: ...
@@ -157,9 +159,10 @@ class HomeAssistant:
157
159
  @overload
158
160
  def async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any) -> asyncio.Future[_R] | None: ...
159
161
  def create_task(self, target: Coroutine[Any, Any, Any], name: str | None = None) -> None: ...
160
- def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None) -> asyncio.Task[_R]: ...
161
- def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str) -> asyncio.Task[_R]: ...
162
+ def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
163
+ def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
162
164
  def async_add_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
165
+ def async_add_import_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
163
166
  @overload
164
167
  def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any) -> asyncio.Future[_R] | None: ...
165
168
  @overload
@@ -208,7 +211,7 @@ class Event:
208
211
  origin: Incomplete
209
212
  time_fired: Incomplete
210
213
  context: Incomplete
211
- def __init__(self, event_type: str, data: dict[str, Any] | None = None, origin: EventOrigin = ..., time_fired: datetime.datetime | None = None, context: Context | None = None) -> None: ...
214
+ def __init__(self, event_type: str, data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., time_fired: datetime.datetime | None = None, context: Context | None = None) -> None: ...
212
215
  @cached_property
213
216
  def time_fired_timestamp(self) -> float: ...
214
217
  @cached_property
@@ -227,7 +230,8 @@ class _OneTimeListener:
227
230
  hass: HomeAssistant
228
231
  listener: Callable[[Event], Coroutine[Any, Any, None] | None]
229
232
  remove: CALLBACK_TYPE | None = ...
230
- def async_call(self, event: Event) -> None: ...
233
+ def __call__(self, event: Event) -> None: ...
234
+ def __repr__(self) -> str: ...
231
235
  def __init__(self, hass, listener, remove) -> None: ...
232
236
 
233
237
  class EventBus:
@@ -239,8 +243,8 @@ class EventBus:
239
243
  def async_listeners(self) -> dict[str, int]: ...
240
244
  @property
241
245
  def listeners(self) -> dict[str, int]: ...
242
- def fire(self, event_type: str, event_data: dict[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
243
- def async_fire(self, event_type: str, event_data: dict[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: datetime.datetime | None = None) -> None: ...
246
+ def fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
247
+ def async_fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: datetime.datetime | None = None) -> None: ...
244
248
  def listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
245
249
  def async_listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None], event_filter: Callable[[Event], bool] | None = None, run_immediately: bool = False) -> CALLBACK_TYPE: ...
246
250
  def _async_listen_filterable_job(self, event_type: str, filterable_job: _FilterableJobType) -> CALLBACK_TYPE: ...
@@ -74,6 +74,7 @@ class FlowResult(TypedDict, total=False):
74
74
  result: Any
75
75
  step_id: str
76
76
  title: str
77
+ translation_domain: str
77
78
  type: FlowResultType
78
79
  url: str
79
80
  version: int
@@ -22,12 +22,14 @@ class EventAreaRegistryUpdatedData(TypedDict):
22
22
  @dataclasses.dataclass(frozen=True, kw_only=True, slots=True)
23
23
  class AreaEntry:
24
24
  aliases: set[str]
25
+ floor_id: str | None
25
26
  icon: str | None
26
27
  id: str
28
+ labels: set[str] = ...
27
29
  name: str
28
30
  normalized_name: str
29
31
  picture: str | None
30
- def __init__(self, *, aliases, icon, id, name, normalized_name, picture) -> None: ...
32
+ def __init__(self, *, aliases, floor_id, icon, id, labels, name, normalized_name, picture) -> None: ...
31
33
 
32
34
  class AreaRegistryItems(UserDict[str, AreaEntry]):
33
35
  _normalized_names: Incomplete
@@ -50,15 +52,18 @@ class AreaRegistry:
50
52
  def async_get_area_by_name(self, name: str) -> AreaEntry | None: ...
51
53
  def async_list_areas(self) -> Iterable[AreaEntry]: ...
52
54
  def async_get_or_create(self, name: str) -> AreaEntry: ...
53
- def async_create(self, name: str, *, aliases: set[str] | None = None, icon: str | None = None, picture: str | None = None) -> AreaEntry: ...
55
+ def async_create(self, name: str, *, aliases: set[str] | None = None, floor_id: str | None = None, icon: str | None = None, labels: set[str] | None = None, picture: str | None = None) -> AreaEntry: ...
54
56
  def async_delete(self, area_id: str) -> None: ...
55
- def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
56
- def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., icon: str | None | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
57
+ def async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
58
+ def _async_update(self, area_id: str, *, aliases: set[str] | UndefinedType = ..., floor_id: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., name: str | UndefinedType = ..., picture: str | None | UndefinedType = ...) -> AreaEntry: ...
57
59
  async def async_load(self) -> None: ...
58
60
  def async_schedule_save(self) -> None: ...
59
61
  def _data_to_save(self) -> dict[str, list[dict[str, Any]]]: ...
60
62
  def _generate_area_id(self, name: str) -> str: ...
63
+ def _async_setup_cleanup(self) -> None: ...
61
64
 
62
65
  def async_get(hass: HomeAssistant) -> AreaRegistry: ...
63
66
  async def async_load(hass: HomeAssistant) -> None: ...
67
+ def async_entries_for_floor(registry: AreaRegistry, floor_id: str) -> list[AreaEntry]: ...
68
+ def async_entries_for_label(registry: AreaRegistry, label_id: str) -> list[AreaEntry]: ...
64
69
  def normalize_area_name(area_name: str) -> str: ...
@@ -119,6 +119,25 @@ class IDLessCollection(YamlCollection):
119
119
  counter: int
120
120
  async def async_load(self, data: list[dict]) -> None: ...
121
121
 
122
+ _GROUP_BY_KEY: Incomplete
123
+
124
+ @dataclass(slots=True, frozen=True)
125
+ class _CollectionLifeCycle(Generic[_EntityT]):
126
+ domain: str
127
+ platform: str
128
+ entity_component: EntityComponent[_EntityT]
129
+ collection: StorageCollection | YamlCollection
130
+ entity_class: type[CollectionEntity]
131
+ ent_reg: entity_registry.EntityRegistry
132
+ entities: dict[str, CollectionEntity]
133
+ def async_setup(self) -> None: ...
134
+ def _entity_removed(self, item_id: str) -> None: ...
135
+ def _add_entity(self, change_set: CollectionChangeSet) -> CollectionEntity: ...
136
+ async def _remove_entity(self, change_set: CollectionChangeSet) -> None: ...
137
+ async def _update_entity(self, change_set: CollectionChangeSet) -> None: ...
138
+ async def _collection_changed(self, change_sets: Iterable[CollectionChangeSet]) -> None: ...
139
+ def __init__(self, domain, platform, entity_component, collection, entity_class, ent_reg, entities) -> None: ...
140
+
122
141
  def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
123
142
 
124
143
  class StorageCollectionWebsocket(Generic[_StorageCollectionT]):
@@ -1,6 +1,7 @@
1
1
  import re
2
2
  import voluptuous as vol
3
3
  from . import template as template_helper
4
+ from .frame import get_integration_logger as get_integration_logger
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Callable as Callable, Hashable
6
7
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
@@ -66,6 +67,10 @@ def entities_domain(domain: str | list[str]) -> Callable[[str | list], list[str]
66
67
  def enum(enumClass: type[Enum]) -> vol.All: ...
67
68
  def icon(value: Any) -> str: ...
68
69
 
70
+ _COLOR_HEX: Incomplete
71
+
72
+ def color_hex(value: Any) -> str: ...
73
+
69
74
  _TIME_PERIOD_DICT_KEYS: Incomplete
70
75
  time_period_dict: Incomplete
71
76
 
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from aiohttp import web as web
3
- from homeassistant import config_entries as config_entries, data_entry_flow as data_entry_flow
3
+ from homeassistant import data_entry_flow as data_entry_flow
4
4
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
5
5
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
6
6
  from typing import Any
@@ -12,6 +12,7 @@ class _BaseFlowManagerView(HomeAssistantView):
12
12
 
13
13
  class FlowManagerIndexView(_BaseFlowManagerView):
14
14
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
15
+ def get_context(self, data: dict[str, Any]) -> dict[str, Any]: ...
15
16
 
16
17
  class FlowManagerResourceView(_BaseFlowManagerView):
17
18
  async def get(self, request: web.Request, flow_id: str) -> web.Response: ...
@@ -22,9 +22,11 @@ class Debouncer(Generic[_R_co]):
22
22
  def function(self) -> Callable[[], _R_co] | None: ...
23
23
  @function.setter
24
24
  def function(self, function: Callable[[], _R_co]) -> None: ...
25
+ def async_schedule_call(self) -> None: ...
26
+ def _async_schedule_or_call_now(self) -> bool: ...
25
27
  async def async_call(self) -> None: ...
26
28
  async def _handle_timer_finish(self) -> None: ...
27
- async def async_shutdown(self) -> None: ...
29
+ def async_shutdown(self) -> None: ...
28
30
  def async_cancel(self) -> None: ...
29
31
  def _on_debounce(self) -> None: ...
30
32
  def _schedule_timer(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import entity_registry as entity_registry, storage as storage
1
+ from . import entity_registry as entity_registry, storage as storage, translation as translation
2
2
  from .debounce import Debouncer as Debouncer
3
3
  from .deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
4
4
  from .frame import report as report
@@ -6,13 +6,14 @@ from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find
6
6
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
7
7
  from _typeshed import Incomplete
8
8
  from collections import UserDict
9
- from collections.abc import ValuesView
9
+ from collections.abc import Mapping, ValuesView
10
10
  from enum import StrEnum
11
11
  from homeassistant.backports.functools import cached_property as cached_property
12
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
14
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
14
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback, get_release_channel as get_release_channel
15
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
+ from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
16
17
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
17
18
  from typing import Any, Literal, TypeVar, TypedDict
18
19
  from yarl import URL
@@ -57,6 +58,8 @@ class DeviceInfo(TypedDict, total=False):
57
58
  suggested_area: str | None
58
59
  sw_version: str | None
59
60
  hw_version: str | None
61
+ translation_key: str | None
62
+ translation_placeholders: Mapping[str, str] | None
60
63
  via_device: tuple[str, str]
61
64
 
62
65
  DEVICE_INFO_TYPES: Incomplete
@@ -94,6 +97,7 @@ class DeviceEntry:
94
97
  hw_version: str | None
95
98
  id: str
96
99
  identifiers: set[tuple[str, str]]
100
+ labels: set[str]
97
101
  manufacturer: str | None
98
102
  model: str | None
99
103
  name_by_user: str | None
@@ -108,7 +112,7 @@ class DeviceEntry:
108
112
  @property
109
113
  def dict_repr(self) -> dict[str, Any]: ...
110
114
  def json_repr(self) -> bytes | None: ...
111
- def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
115
+ def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
112
116
  def __lt__(self, other): ...
113
117
  def __le__(self, other): ...
114
118
  def __gt__(self, other): ...
@@ -152,8 +156,9 @@ class DeviceRegistry:
152
156
  def async_get(self, device_id: str) -> DeviceEntry | None: ...
153
157
  def async_get_device(self, identifiers: set[tuple[str, str]] | None = None, connections: set[tuple[str, str]] | None = None) -> DeviceEntry | None: ...
154
158
  def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
155
- def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
156
- def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
159
+ def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
160
+ def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
161
+ def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
157
162
  def async_remove_device(self, device_id: str) -> None: ...
158
163
  async def async_load(self) -> None: ...
159
164
  def async_schedule_save(self) -> None: ...
@@ -161,10 +166,12 @@ class DeviceRegistry:
161
166
  def async_clear_config_entry(self, config_entry_id: str) -> None: ...
162
167
  def async_purge_expired_orphaned_devices(self) -> None: ...
163
168
  def async_clear_area_id(self, area_id: str) -> None: ...
169
+ def async_clear_label_id(self, label_id: str) -> None: ...
164
170
 
165
171
  def async_get(hass: HomeAssistant) -> DeviceRegistry: ...
166
172
  async def async_load(hass: HomeAssistant) -> None: ...
167
173
  def async_entries_for_area(registry: DeviceRegistry, area_id: str) -> list[DeviceEntry]: ...
174
+ def async_entries_for_label(registry: DeviceRegistry, label_id: str) -> list[DeviceEntry]: ...
168
175
  def async_entries_for_config_entry(registry: DeviceRegistry, config_entry_id: str) -> list[DeviceEntry]: ...
169
176
  def async_config_entry_disabled_by_changed(registry: DeviceRegistry, config_entry: ConfigEntry) -> None: ...
170
177
  def async_cleanup(hass: HomeAssistant, dev_reg: DeviceRegistry, ent_reg: entity_registry.EntityRegistry) -> None: ...
@@ -99,6 +99,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
99
99
  _update_staged: bool
100
100
  parallel_updates: asyncio.Semaphore | None
101
101
  registry_entry: er.RegistryEntry | None
102
+ _removed_from_registry: bool
102
103
  device_entry: dr.DeviceEntry | None
103
104
  _on_remove: list[CALLBACK_TYPE] | None
104
105
  _unsub_device_updates: CALLBACK_TYPE | None
@@ -111,7 +112,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
111
112
  _state_info: StateInfo
112
113
  __capabilities_updated_at: deque[float]
113
114
  __capabilities_updated_at_reported: bool
114
- __remove_event: asyncio.Event | None
115
+ __remove_future: asyncio.Future[None] | None
115
116
  _attr_assumed_state: bool
116
117
  _attr_attribution: str | None
117
118
  _attr_available: bool
@@ -223,7 +224,8 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
223
224
  def async_registry_entry_updated(self) -> None: ...
224
225
  async def async_internal_added_to_hass(self) -> None: ...
225
226
  async def async_internal_will_remove_from_hass(self) -> None: ...
226
- async def _async_registry_updated(self, event: EventType[er.EventEntityRegistryUpdatedData]) -> 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: ...
227
229
  def _async_unsubscribe_device_updates(self) -> None: ...
228
230
  def _async_device_registry_updated(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
229
231
  def _async_subscribe_device_updates(self) -> None: ...
@@ -49,4 +49,4 @@ class EntityComponent(Generic[_EntityT]):
49
49
  async def async_remove_entity(self, entity_id: str) -> None: ...
50
50
  async def async_prepare_reload(self, *, skip_reset: bool = False) -> ConfigType | None: ...
51
51
  def _async_init_entity_platform(self, platform_type: str, platform: ModuleType | None, scan_interval: timedelta | None = None, entity_namespace: str | None = None) -> EntityPlatform: ...
52
- async def _async_shutdown(self, event: Event) -> None: ...
52
+ def _async_shutdown(self, event: Event) -> None: ...
@@ -7,7 +7,7 @@ from .event import async_call_later as async_call_later, async_track_time_interv
7
7
  from .issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
8
8
  from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED
9
9
  from _typeshed import Incomplete
10
- from collections.abc import Awaitable, Callable as Callable, Iterable
10
+ from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
11
11
  from contextvars import ContextVar
12
12
  from datetime import datetime, timedelta
13
13
  from homeassistant import config_entries as config_entries
@@ -16,6 +16,7 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as Core
16
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
17
17
  from homeassistant.generated import languages as languages
18
18
  from homeassistant.setup import async_start_setup as async_start_setup
19
+ from homeassistant.util.async_ import create_eager_task as create_eager_task
19
20
  from logging import Logger
20
21
  from typing import Any, Protocol
21
22
 
@@ -66,17 +67,20 @@ class EntityPlatform:
66
67
  def __repr__(self) -> str: ...
67
68
  def _get_parallel_updates_semaphore(self, entity_has_sync_update: bool) -> asyncio.Semaphore | None: ...
68
69
  async def async_setup(self, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
69
- async def async_shutdown(self) -> None: ...
70
+ def async_shutdown(self) -> None: ...
70
71
  def async_cancel_retry_setup(self) -> None: ...
71
72
  async def async_setup_entry(self, config_entry: config_entries.ConfigEntry) -> bool: ...
72
- async def _async_setup_platform(self, async_create_setup_task: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
73
+ async def _async_setup_platform(self, async_create_setup_awaitable: Callable[[], Awaitable[None]], tries: int = 0) -> bool: ...
73
74
  async def _async_get_translations(self, language: str, category: str, integration: str) -> dict[str, Any]: ...
74
75
  async def async_load_translations(self) -> None: ...
75
76
  def _schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
76
77
  def _async_schedule_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
77
78
  def _async_schedule_add_entities_for_entry(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
78
79
  def add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
80
+ async def _async_add_and_update_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
81
+ async def _async_add_entities(self, coros: list[Coroutine[Any, Any, None]], entities: list[Entity], timeout: float) -> None: ...
79
82
  async def async_add_entities(self, new_entities: Iterable[Entity], update_before_add: bool = False) -> None: ...
83
+ def _async_handle_interval_callback(self, now: datetime) -> None: ...
80
84
  def _entity_id_already_exists(self, entity_id: str) -> tuple[bool, bool]: ...
81
85
  async def _async_add_entity(self, entity: Entity, update_before_add: bool, entity_registry: EntityRegistry) -> None: ...
82
86
  async def async_reset(self) -> None: ...
@@ -76,6 +76,7 @@ class RegistryEntry:
76
76
  icon: str | None
77
77
  id: str
78
78
  has_entity_name: bool
79
+ labels: set[str]
79
80
  name: str | None
80
81
  options: ReadOnlyEntityOptionsType
81
82
  original_device_class: str | None
@@ -96,7 +97,7 @@ class RegistryEntry:
96
97
  def extended_dict(self) -> dict[str, Any]: ...
97
98
  def partial_json_repr(self) -> bytes | None: ...
98
99
  def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
99
- 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, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> 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: ...
100
101
  def __lt__(self, other): ...
101
102
  def __le__(self, other): ...
102
103
  def __gt__(self, other): ...
@@ -125,15 +126,18 @@ class EntityRegistryItems(UserDict[str, RegistryEntry]):
125
126
  _index: Incomplete
126
127
  _config_entry_id_index: Incomplete
127
128
  _device_id_index: Incomplete
129
+ _area_id_index: Incomplete
128
130
  def __init__(self) -> None: ...
129
131
  def values(self) -> ValuesView[RegistryEntry]: ...
130
132
  def __setitem__(self, key: str, entry: RegistryEntry) -> None: ...
133
+ def _unindex_entry_value(self, key: str, value: str, index: dict[str, dict[str, Literal[True]]]) -> None: ...
131
134
  def _unindex_entry(self, key: str) -> None: ...
132
135
  def __delitem__(self, key: str) -> None: ...
133
136
  def get_entity_id(self, key: tuple[str, str, str]) -> str | None: ...
134
137
  def get_entry(self, key: str) -> RegistryEntry | None: ...
135
- def get_entries_for_device_id(self, device_id: str) -> list[RegistryEntry]: ...
138
+ def get_entries_for_device_id(self, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
136
139
  def get_entries_for_config_entry_id(self, config_entry_id: str) -> list[RegistryEntry]: ...
140
+ def get_entries_for_area_id(self, area_id: str) -> list[RegistryEntry]: ...
137
141
 
138
142
  class EntityRegistry:
139
143
  deleted_entities: dict[tuple[str, str, str], DeletedRegistryEntry]
@@ -151,13 +155,14 @@ class EntityRegistry:
151
155
  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: ...
152
156
  def async_remove(self, entity_id: str) -> None: ...
153
157
  def async_device_modified(self, event: Event) -> None: ...
154
- 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 = ..., 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: ...
155
- 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 = ..., 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: ...
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: ...
156
160
  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: ...
157
161
  def async_update_entity_options(self, entity_id: str, domain: str, options: Mapping[str, Any] | None) -> RegistryEntry: ...
158
162
  async def async_load(self) -> None: ...
159
163
  def async_schedule_save(self) -> None: ...
160
164
  def _data_to_save(self) -> dict[str, Any]: ...
165
+ def async_clear_label_id(self, label_id: str) -> None: ...
161
166
  def async_clear_config_entry(self, config_entry_id: str) -> None: ...
162
167
  def async_purge_expired_orphaned_entities(self) -> None: ...
163
168
  def async_clear_area_id(self, area_id: str) -> None: ...
@@ -166,6 +171,7 @@ def async_get(hass: HomeAssistant) -> EntityRegistry: ...
166
171
  async def async_load(hass: HomeAssistant) -> None: ...
167
172
  def async_entries_for_device(registry: EntityRegistry, device_id: str, include_disabled_entities: bool = False) -> list[RegistryEntry]: ...
168
173
  def async_entries_for_area(registry: EntityRegistry, area_id: str) -> list[RegistryEntry]: ...
174
+ def async_entries_for_label(registry: EntityRegistry, label_id: str) -> list[RegistryEntry]: ...
169
175
  def async_entries_for_config_entry(registry: EntityRegistry, config_entry_id: str) -> list[RegistryEntry]: ...
170
176
  def async_config_entry_disabled_by_changed(registry: EntityRegistry, config_entry: ConfigEntry) -> None: ...
171
177
  def _async_setup_cleanup(hass: HomeAssistant, registry: EntityRegistry) -> None: ...