homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -4
  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/apple_tv/__init__.pyi +68 -0
  12. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  13. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  14. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  15. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  16. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  17. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  18. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  20. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  21. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  24. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  25. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  26. homeassistant-stubs/components/backup/manager.pyi +5 -3
  27. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  28. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  29. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  30. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  31. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  32. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  33. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  34. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  35. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  36. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  37. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  38. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  39. homeassistant-stubs/components/cloud/const.pyi +2 -0
  40. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  41. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  42. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  43. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  44. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  45. homeassistant-stubs/components/config/auth.pyi +2 -2
  46. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  47. homeassistant-stubs/components/config/automation.pyi +2 -2
  48. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  49. homeassistant-stubs/components/config/core.pyi +2 -2
  50. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  51. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  52. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  53. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  54. homeassistant-stubs/components/config/scene.pyi +2 -2
  55. homeassistant-stubs/components/config/script.pyi +2 -2
  56. homeassistant-stubs/components/cover/intent.pyi +2 -2
  57. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  58. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  59. homeassistant-stubs/components/demo/fan.pyi +1 -0
  60. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  61. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  62. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  63. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  64. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  65. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  66. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  67. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  68. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  69. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  70. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  71. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  72. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  73. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  74. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  75. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  76. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  77. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  78. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  79. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  80. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  81. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  82. homeassistant-stubs/components/esphome/update.pyi +0 -1
  83. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  84. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  85. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  86. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  87. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  88. homeassistant-stubs/components/fritz/common.pyi +2 -1
  89. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  90. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  91. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  92. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  93. homeassistant-stubs/components/group/__init__.pyi +1 -1
  94. homeassistant-stubs/components/group/light.pyi +3 -3
  95. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  96. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  97. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  98. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  99. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  100. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  101. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  102. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  103. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  104. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  105. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  106. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  107. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  108. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  109. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  110. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  111. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  112. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  113. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  114. homeassistant-stubs/components/image/__init__.pyi +13 -3
  115. homeassistant-stubs/components/image/media_source.pyi +18 -0
  116. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  117. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  118. homeassistant-stubs/components/intent/__init__.pyi +1 -0
  119. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  120. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  121. homeassistant-stubs/components/knx/schema.pyi +3 -18
  122. homeassistant-stubs/components/knx/validation.pyi +19 -0
  123. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  124. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  125. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  126. homeassistant-stubs/components/light/__init__.pyi +3 -0
  127. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  128. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  129. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  130. homeassistant-stubs/components/logbook/models.pyi +2 -2
  131. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  132. homeassistant-stubs/components/matter/light.pyi +6 -5
  133. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  134. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  135. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  136. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  137. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  138. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  139. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  140. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  141. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  142. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  143. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  144. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  145. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  146. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  147. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  148. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  149. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  150. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  151. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  152. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  153. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  154. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  155. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  156. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  157. homeassistant-stubs/components/notion/const.pyi +2 -0
  158. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  159. homeassistant-stubs/components/notion/model.pyi +1 -1
  160. homeassistant-stubs/components/notion/util.pyi +7 -0
  161. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  162. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  163. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  164. homeassistant-stubs/components/recorder/core.pyi +1 -0
  165. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  166. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  167. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  168. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  169. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  170. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  171. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  172. homeassistant-stubs/components/shelly/button.pyi +1 -1
  173. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  174. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  175. homeassistant-stubs/components/shelly/number.pyi +1 -1
  176. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  177. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  178. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  179. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  180. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  181. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  182. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  183. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  184. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  185. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  186. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  187. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  188. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  189. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  190. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  191. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  192. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  193. homeassistant-stubs/components/technove/switch.pyi +33 -0
  194. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  195. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  196. homeassistant-stubs/components/tibber/sensor.pyi +3 -4
  197. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  198. homeassistant-stubs/components/tplink/light.pyi +1 -0
  199. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  200. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  201. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  202. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  203. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  204. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  205. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  206. homeassistant-stubs/components/unifi/button.pyi +1 -1
  207. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  208. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  209. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  210. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  211. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  212. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  213. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  214. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  215. homeassistant-stubs/components/unifi/image.pyi +4 -4
  216. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  217. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  218. homeassistant-stubs/components/unifi/update.pyi +1 -1
  219. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  220. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  221. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  222. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  223. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  224. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  225. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  226. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  227. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  228. homeassistant-stubs/components/valve/intent.pyi +6 -0
  229. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  230. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  231. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  232. homeassistant-stubs/components/wiz/light.pyi +3 -2
  233. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  234. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  235. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  236. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  237. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  238. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  239. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  240. homeassistant-stubs/config.pyi +4 -2
  241. homeassistant-stubs/config_entries.pyi +38 -22
  242. homeassistant-stubs/core.pyi +8 -7
  243. homeassistant-stubs/data_entry_flow.pyi +1 -0
  244. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  245. homeassistant-stubs/helpers/collection.pyi +19 -0
  246. homeassistant-stubs/helpers/config_validation.pyi +4 -0
  247. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  248. homeassistant-stubs/helpers/debounce.pyi +3 -1
  249. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  250. homeassistant-stubs/helpers/entity.pyi +4 -2
  251. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  252. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  253. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  254. homeassistant-stubs/helpers/event.pyi +28 -2
  255. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  256. homeassistant-stubs/helpers/icon.pyi +1 -1
  257. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  258. homeassistant-stubs/helpers/intent.pyi +8 -2
  259. homeassistant-stubs/helpers/json.pyi +1 -0
  260. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  261. homeassistant-stubs/helpers/redact.pyi +13 -0
  262. homeassistant-stubs/helpers/service.pyi +1 -0
  263. homeassistant-stubs/helpers/storage.pyi +7 -3
  264. homeassistant-stubs/helpers/template.pyi +7 -0
  265. homeassistant-stubs/helpers/translation.pyi +18 -4
  266. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  267. homeassistant-stubs/loader.pyi +24 -11
  268. homeassistant-stubs/setup.pyi +9 -3
  269. homeassistant-stubs/util/async_.pyi +3 -3
  270. homeassistant-stubs/util/file.pyi +2 -2
  271. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  272. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/METADATA +2 -2
  273. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/RECORD +275 -239
  274. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/LICENSE +0 -0
  275. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/WHEEL +0 -0
@@ -7,7 +7,7 @@ from homeassistant import config_entries as config_entries, data_entry_flow as d
7
7
  from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info
8
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
9
9
  from homeassistant.core import callback as callback
10
- from homeassistant.data_entry_flow import AbortFlow as AbortFlow, FlowResult as FlowResult
10
+ from homeassistant.data_entry_flow import FlowResult as FlowResult
11
11
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
12
12
  from typing import Any
13
13
 
@@ -30,7 +30,9 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
30
30
  _hvac_modes: Incomplete
31
31
  _hvac_presets: Incomplete
32
32
  _unit_value: Incomplete
33
+ _last_hvac_mode_id_before_off: Incomplete
33
34
  _current_mode: Incomplete
35
+ _supports_resume: Incomplete
34
36
  _setpoint_values: Incomplete
35
37
  _operating_state: Incomplete
36
38
  _current_temp: Incomplete
@@ -78,6 +80,8 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
78
80
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
79
81
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
80
82
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
83
+ async def async_turn_off(self) -> None: ...
84
+ async def async_turn_on(self) -> None: ...
81
85
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
82
86
 
83
87
  class DynamicCurrentTempClimate(ZWaveClimate):
@@ -73,7 +73,6 @@ class ZWaveListSensor(ZwaveSensor):
73
73
 
74
74
  class ZWaveConfigParameterSensor(ZWaveListSensor):
75
75
  _attr_entity_category: Incomplete
76
- _primary_value: Incomplete
77
76
  _attr_name: Incomplete
78
77
  def __init__(self, config_entry: ConfigEntry, driver: Driver, info: ZwaveDiscoveryInfo, entity_description: SensorEntityDescription, unit_of_measurement: str | None = None) -> None: ...
79
78
  @property
@@ -69,6 +69,7 @@ def _no_duplicate_auth_mfa_module(configs: Sequence[dict[str, Any]]) -> Sequence
69
69
  def _filter_bad_internal_external_urls(conf: dict) -> dict: ...
70
70
 
71
71
  PACKAGES_CONFIG_SCHEMA: Incomplete
72
+ PACKAGE_DEFINITION_SCHEMA: Incomplete
72
73
  CUSTOMIZE_DICT_SCHEMA: Incomplete
73
74
  CUSTOMIZE_CONFIG_SCHEMA: Incomplete
74
75
 
@@ -97,10 +98,11 @@ def humanize_error(hass: HomeAssistant, validation_error: vol.Invalid, domain: s
97
98
  def format_homeassistant_error(hass: HomeAssistant, exc: HomeAssistantError, domain: str, config: dict, link: str | None = None) -> str: ...
98
99
  def format_schema_error(hass: HomeAssistant, exc: vol.Invalid, domain: str, config: dict, link: str | None = None) -> str: ...
99
100
  async def async_process_ha_core_config(hass: HomeAssistant, config: dict) -> None: ...
100
- def _log_pkg_error(hass: HomeAssistant, package: str, component: str, config: dict, message: str) -> None: ...
101
+ def _log_pkg_error(hass: HomeAssistant, package: str, component: str | None, config: dict, message: str) -> None: ...
101
102
  def _identify_config_schema(module: ComponentProtocol) -> str | None: ...
103
+ def _validate_package_definition(name: str, conf: Any) -> None: ...
102
104
  def _recursive_merge(conf: dict[str, Any], package: dict[str, Any]) -> str | None: ...
103
- async def merge_packages_config(hass: HomeAssistant, config: dict, packages: dict[str, Any], _log_pkg_error: Callable[[HomeAssistant, str, str, dict, str], None] = ...) -> dict: ...
105
+ async def merge_packages_config(hass: HomeAssistant, config: dict, packages: dict[str, Any], _log_pkg_error: Callable[[HomeAssistant, str, str | None, dict, str], None] = ...) -> dict: ...
104
106
  def _get_log_message_and_stack_print_pref(hass: HomeAssistant, domain: str, platform_exception: ConfigExceptionInfo) -> tuple[str | None, bool, dict[str, str]]: ...
105
107
  async def async_process_component_and_handle_errors(hass: HomeAssistant, config: ConfigType, integration: Integration, raise_on_failure: bool = False) -> ConfigType | None: ...
106
108
  def async_drop_config_annotations(integration_config_info: IntegrationConfigInfo, integration: Integration) -> ConfigType | None: ...
@@ -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
@@ -127,12 +133,16 @@ class ConfigEntry:
127
133
  _setup_again_job: Incomplete
128
134
  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
135
  def __repr__(self) -> str: ...
136
+ def __setattr__(self, key: str, value: Any) -> None: ...
130
137
  @property
131
138
  def supports_options(self) -> bool: ...
139
+ def clear_cache(self) -> None: ...
140
+ @cached_property
141
+ def as_json_fragment(self) -> json_fragment: ...
132
142
  async def async_setup(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> None: ...
133
143
  async def _async_setup_again(self, hass: HomeAssistant, *_: Any) -> None: ...
134
144
  def _async_get_setup_again_job(self, hass: HomeAssistant) -> HassJob: ...
135
- async def async_shutdown(self) -> None: ...
145
+ def async_shutdown(self) -> None: ...
136
146
  def async_cancel_retry_setup(self) -> None: ...
137
147
  async def async_unload(self, hass: HomeAssistant, *, integration: loader.Integration | None = None) -> bool: ...
138
148
  async def async_remove(self, hass: HomeAssistant) -> None: ...
@@ -145,23 +155,25 @@ class ConfigEntry:
145
155
  def async_start_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
146
156
  async def _async_init_reauth(self, hass: HomeAssistant, context: dict[str, Any] | None = None, data: dict[str, Any] | None = None) -> None: ...
147
157
  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]: ...
158
+ def async_create_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
159
+ def async_create_background_task(self, hass: HomeAssistant, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
150
160
 
151
161
  current_entry: ContextVar[ConfigEntry | None]
152
162
 
163
+ class FlowCancelledError(Exception): ...
164
+
153
165
  class ConfigEntriesFlowManager(data_entry_flow.FlowManager):
154
166
  config_entries: Incomplete
155
167
  _hass_config: Incomplete
156
168
  _pending_import_flows: Incomplete
157
- _initialize_tasks: Incomplete
169
+ _initialize_futures: Incomplete
158
170
  _discovery_debouncer: Incomplete
159
171
  def __init__(self, hass: HomeAssistant, config_entries: ConfigEntries, hass_config: ConfigType) -> None: ...
160
172
  async def async_wait_import_flow_initialized(self, handler: str) -> None: ...
161
173
  def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
162
174
  async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> FlowResult: ...
163
175
  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: ...
176
+ def async_shutdown(self) -> None: ...
165
177
  async def async_finish_flow(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> data_entry_flow.FlowResult: ...
166
178
  async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
167
179
  async def async_post_init(self, flow: data_entry_flow.FlowHandler, result: data_entry_flow.FlowResult) -> None: ...
@@ -174,8 +186,10 @@ class ConfigEntryItems(UserDict[str, ConfigEntry]):
174
186
  def __init__(self, hass: HomeAssistant) -> None: ...
175
187
  def values(self) -> ValuesView[ConfigEntry]: ...
176
188
  def __setitem__(self, entry_id: str, entry: ConfigEntry) -> None: ...
189
+ def _index_entry(self, entry: ConfigEntry) -> None: ...
177
190
  def _unindex_entry(self, entry_id: str) -> None: ...
178
191
  def __delitem__(self, entry_id: str) -> None: ...
192
+ def update_unique_id(self, entry: ConfigEntry, new_unique_id: str | None) -> None: ...
179
193
  def get_entries_for_domain(self, domain: str) -> list[ConfigEntry]: ...
180
194
  def get_entry_by_domain_and_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
181
195
 
@@ -189,17 +203,18 @@ class ConfigEntries:
189
203
  def __init__(self, hass: HomeAssistant, hass_config: ConfigType) -> None: ...
190
204
  def async_domains(self, include_ignore: bool = False, include_disabled: bool = False) -> list[str]: ...
191
205
  def async_get_entry(self, entry_id: str) -> ConfigEntry | None: ...
192
- def async_entries(self, domain: str | None = None) -> list[ConfigEntry]: ...
206
+ def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
193
207
  def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
194
208
  async def async_add(self, entry: ConfigEntry) -> None: ...
195
209
  async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
196
- async def _async_shutdown(self, event: Event) -> None: ...
210
+ def _async_shutdown(self, event: Event) -> None: ...
197
211
  async def async_initialize(self) -> None: ...
198
212
  async def async_setup(self, entry_id: str) -> bool: ...
199
213
  async def async_unload(self, entry_id: str) -> bool: ...
214
+ def async_schedule_reload(self, entry_id: str) -> None: ...
200
215
  async def async_reload(self, entry_id: str) -> bool: ...
201
216
  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: ...
217
+ 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
218
  def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
204
219
  async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
205
220
  async def async_forward_entry_setup(self, entry: ConfigEntry, domain: Platform | str) -> bool: ...
@@ -272,11 +287,12 @@ class EntityRegistryDisabledHandler:
272
287
  _remove_call_later: Incomplete
273
288
  def __init__(self, hass: HomeAssistant) -> None: ...
274
289
  def async_setup(self) -> None: ...
275
- async def _handle_entry_updated(self, event: Event) -> None: ...
290
+ def _handle_entry_updated(self, event: Event) -> None: ...
276
291
  async def _handle_reload(self, _now: Any) -> None: ...
277
292
 
278
293
  def _handle_entry_updated_filter(event: Event) -> bool: ...
279
294
  async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
280
295
  async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
296
+ async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
281
297
  async def _load_integration(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> None: ...
282
298
  async def _async_get_flow_handler(hass: HomeAssistant, domain: str, hass_config: ConfigType) -> type[ConfigFlow]: ...
@@ -14,7 +14,7 @@ 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
18
  from .util.json import JsonObjectType as JsonObjectType
19
19
  from .util.read_only_dict import ReadOnlyDict as ReadOnlyDict
20
20
  from .util.timeout import TimeoutManager as TimeoutManager
@@ -157,8 +157,8 @@ class HomeAssistant:
157
157
  @overload
158
158
  def async_add_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R] | _R], *args: Any) -> asyncio.Future[_R] | None: ...
159
159
  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]: ...
160
+ def async_create_task(self, target: Coroutine[Any, Any, _R], name: str | None = None, eager_start: bool = False) -> asyncio.Task[_R]: ...
161
+ def async_create_background_task(self, target: Coroutine[Any, Any, _R], name: str, eager_start: bool = False) -> asyncio.Task[_R]: ...
162
162
  def async_add_executor_job(self, target: Callable[..., _T], *args: Any) -> asyncio.Future[_T]: ...
163
163
  @overload
164
164
  def async_run_hass_job(self, hassjob: HassJob[..., Coroutine[Any, Any, _R]], *args: Any) -> asyncio.Future[_R] | None: ...
@@ -208,7 +208,7 @@ class Event:
208
208
  origin: Incomplete
209
209
  time_fired: Incomplete
210
210
  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: ...
211
+ 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
212
  @cached_property
213
213
  def time_fired_timestamp(self) -> float: ...
214
214
  @cached_property
@@ -227,7 +227,8 @@ class _OneTimeListener:
227
227
  hass: HomeAssistant
228
228
  listener: Callable[[Event], Coroutine[Any, Any, None] | None]
229
229
  remove: CALLBACK_TYPE | None = ...
230
- def async_call(self, event: Event) -> None: ...
230
+ def __call__(self, event: Event) -> None: ...
231
+ def __repr__(self) -> str: ...
231
232
  def __init__(self, hass, listener, remove) -> None: ...
232
233
 
233
234
  class EventBus:
@@ -239,8 +240,8 @@ class EventBus:
239
240
  def async_listeners(self) -> dict[str, int]: ...
240
241
  @property
241
242
  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: ...
243
+ def fire(self, event_type: str, event_data: Mapping[str, Any] | None = None, origin: EventOrigin = ..., context: Context | None = None) -> None: ...
244
+ 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
245
  def listen(self, event_type: str, listener: Callable[[Event], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
245
246
  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
247
  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]):
@@ -66,6 +66,10 @@ def entities_domain(domain: str | list[str]) -> Callable[[str | list], list[str]
66
66
  def enum(enumClass: type[Enum]) -> vol.All: ...
67
67
  def icon(value: Any) -> str: ...
68
68
 
69
+ _COLOR_HEX: Incomplete
70
+
71
+ def color_hex(value: Any) -> str: ...
72
+
69
73
  _TIME_PERIOD_DICT_KEYS: Incomplete
70
74
  time_period_dict: Incomplete
71
75
 
@@ -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: ...