homeassistant-stubs 2024.3.3__py3-none-any.whl → 2024.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. homeassistant-stubs/auth/__init__.pyi +5 -4
  2. homeassistant-stubs/auth/auth_store.pyi +3 -1
  3. homeassistant-stubs/auth/mfa_modules/__init__.pyi +1 -0
  4. homeassistant-stubs/auth/models.pyi +2 -0
  5. homeassistant-stubs/auth/providers/__init__.pyi +8 -7
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -3
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -3
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  9. homeassistant-stubs/auth/providers/legacy_api_password.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -3
  11. homeassistant-stubs/bootstrap.pyi +8 -4
  12. homeassistant-stubs/components/__init__.pyi +1 -0
  13. homeassistant-stubs/components/abode/alarm_control_panel.pyi +4 -5
  14. homeassistant-stubs/components/abode/binary_sensor.pyi +2 -2
  15. homeassistant-stubs/components/abode/camera.pyi +2 -2
  16. homeassistant-stubs/components/abode/config_flow.pyi +9 -10
  17. homeassistant-stubs/components/abode/cover.pyi +2 -2
  18. homeassistant-stubs/components/abode/light.pyi +2 -2
  19. homeassistant-stubs/components/abode/lock.pyi +2 -2
  20. homeassistant-stubs/components/abode/sensor.pyi +8 -12
  21. homeassistant-stubs/components/abode/switch.pyi +2 -2
  22. homeassistant-stubs/components/accuweather/config_flow.pyi +3 -5
  23. homeassistant-stubs/components/accuweather/sensor.pyi +3 -7
  24. homeassistant-stubs/components/accuweather/weather.pyi +0 -2
  25. homeassistant-stubs/components/acmeda/config_flow.pyi +4 -5
  26. homeassistant-stubs/components/adax/config_flow.pyi +5 -6
  27. homeassistant-stubs/components/adguard/config_flow.pyi +6 -7
  28. homeassistant-stubs/components/aftership/config_flow.pyi +3 -6
  29. homeassistant-stubs/components/aftership/sensor.pyi +3 -8
  30. homeassistant-stubs/components/airly/config_flow.pyi +3 -4
  31. homeassistant-stubs/components/airnow/config_flow.pyi +4 -6
  32. homeassistant-stubs/components/airnow/sensor.pyi +3 -7
  33. homeassistant-stubs/components/airq/config_flow.pyi +3 -4
  34. homeassistant-stubs/components/airq/sensor.pyi +3 -7
  35. homeassistant-stubs/components/airthings/config_flow.pyi +3 -4
  36. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -5
  37. homeassistant-stubs/components/airtouch5/config_flow.pyi +1 -2
  38. homeassistant-stubs/components/airvisual/config_flow.pyi +10 -12
  39. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +6 -8
  40. homeassistant-stubs/components/airzone/config_flow.pyi +6 -6
  41. homeassistant-stubs/components/airzone/select.pyi +3 -7
  42. homeassistant-stubs/components/airzone_cloud/climate.pyi +10 -1
  43. homeassistant-stubs/components/airzone_cloud/config_flow.pyi +4 -5
  44. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +6 -7
  45. homeassistant-stubs/components/aladdin_connect/sensor.pyi +3 -7
  46. homeassistant-stubs/components/alert/__init__.pyi +3 -3
  47. homeassistant-stubs/components/alexa/smart_home.pyi +1 -2
  48. homeassistant-stubs/components/amberelectric/config_flow.pyi +4 -5
  49. homeassistant-stubs/components/ambiclimate/config_flow.pyi +6 -7
  50. homeassistant-stubs/components/ambient_station/config_flow.pyi +4 -5
  51. homeassistant-stubs/components/amcrest/camera.pyi +1 -1
  52. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -4
  53. homeassistant-stubs/components/android_ip_webcam/config_flow.pyi +3 -4
  54. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +3 -7
  55. homeassistant-stubs/components/android_ip_webcam/switch.pyi +3 -7
  56. homeassistant-stubs/components/androidtv/config_flow.pyi +10 -11
  57. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +9 -10
  58. homeassistant-stubs/components/anova/config_flow.pyi +2 -3
  59. homeassistant-stubs/components/anthemav/config_flow.pyi +2 -3
  60. homeassistant-stubs/components/apache_kafka/__init__.pyi +3 -3
  61. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +3 -1
  62. homeassistant-stubs/components/apcupsd/config_flow.pyi +4 -5
  63. homeassistant-stubs/components/apcupsd/const.pyi +1 -0
  64. homeassistant-stubs/components/apcupsd/coordinator.pyi +11 -10
  65. homeassistant-stubs/components/apcupsd/diagnostics.pyi +11 -0
  66. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -1
  67. homeassistant-stubs/components/api/__init__.pyi +1 -1
  68. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -0
  69. homeassistant-stubs/components/apple_tv/config_flow.pyi +18 -18
  70. homeassistant-stubs/components/aranet/config_flow.pyi +6 -6
  71. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +7 -8
  72. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +3 -2
  73. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +3 -7
  74. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +10 -5
  75. homeassistant-stubs/components/asuswrt/config_flow.pyi +5 -6
  76. homeassistant-stubs/components/auth/__init__.pyi +1 -0
  77. homeassistant-stubs/components/auth/login_flow.pyi +4 -3
  78. homeassistant-stubs/components/automation/__init__.pyi +19 -2
  79. homeassistant-stubs/components/awair/config_flow.pyi +9 -10
  80. homeassistant-stubs/components/awair/sensor.pyi +3 -7
  81. homeassistant-stubs/components/axis/__init__.pyi +1 -1
  82. homeassistant-stubs/components/axis/binary_sensor.pyi +26 -14
  83. homeassistant-stubs/components/axis/camera.pyi +2 -2
  84. homeassistant-stubs/components/axis/config_flow.pyi +20 -18
  85. homeassistant-stubs/components/axis/const.pyi +0 -1
  86. homeassistant-stubs/components/axis/diagnostics.pyi +1 -1
  87. homeassistant-stubs/components/axis/entity.pyi +16 -8
  88. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/api.pyi +10 -0
  90. homeassistant-stubs/components/axis/hub/config.pyi +21 -0
  91. homeassistant-stubs/components/axis/hub/entity_loader.pyi +15 -0
  92. homeassistant-stubs/components/axis/hub/hub.pyi +41 -0
  93. homeassistant-stubs/components/axis/light.pyi +17 -8
  94. homeassistant-stubs/components/axis/switch.pyi +13 -5
  95. homeassistant-stubs/components/backup/http.pyi +1 -1
  96. homeassistant-stubs/components/baf/binary_sensor.pyi +3 -7
  97. homeassistant-stubs/components/baf/config_flow.pyi +5 -6
  98. homeassistant-stubs/components/baf/number.pyi +3 -7
  99. homeassistant-stubs/components/baf/sensor.pyi +3 -7
  100. homeassistant-stubs/components/baf/switch.pyi +3 -7
  101. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +5 -6
  102. homeassistant-stubs/components/bang_olufsen/const.pyi +22 -22
  103. homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -4
  104. homeassistant-stubs/components/bang_olufsen/media_player.pyi +4 -5
  105. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -1
  106. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/blue_current/__init__.pyi +10 -12
  108. homeassistant-stubs/components/blue_current/config_flow.pyi +5 -6
  109. homeassistant-stubs/components/bluetooth/config_flow.pyi +5 -6
  110. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -2
  111. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +3 -7
  112. homeassistant-stubs/components/bmw_connected_drive/button.pyi +3 -7
  113. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +14 -14
  114. homeassistant-stubs/components/bmw_connected_drive/number.pyi +3 -7
  115. homeassistant-stubs/components/bmw_connected_drive/select.pyi +3 -7
  116. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +3 -7
  117. homeassistant-stubs/components/bond/button.pyi +4 -8
  118. homeassistant-stubs/components/bond/config_flow.pyi +7 -8
  119. homeassistant-stubs/components/bond/light.pyi +1 -1
  120. homeassistant-stubs/components/braviatv/button.pyi +3 -7
  121. homeassistant-stubs/components/braviatv/config_flow.pyi +11 -13
  122. homeassistant-stubs/components/brother/config_flow.pyi +7 -7
  123. homeassistant-stubs/components/brother/sensor.pyi +3 -7
  124. homeassistant-stubs/components/bthome/__init__.pyi +3 -2
  125. homeassistant-stubs/components/bthome/config_flow.pyi +7 -8
  126. homeassistant-stubs/components/bthome/logbook.pyi +2 -3
  127. homeassistant-stubs/components/canary/config_flow.pyi +4 -5
  128. homeassistant-stubs/components/cert_expiry/config_flow.pyi +4 -5
  129. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -2
  130. homeassistant-stubs/components/climate/__init__.pyi +10 -7
  131. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  132. homeassistant-stubs/components/cloud/config_flow.pyi +2 -3
  133. homeassistant-stubs/components/cloud/http_api.pyi +3 -1
  134. homeassistant-stubs/components/cloud/prefs.pyi +1 -0
  135. homeassistant-stubs/components/cloud/repairs.pyi +1 -1
  136. homeassistant-stubs/components/cloud/tts.pyi +3 -3
  137. homeassistant-stubs/components/co2signal/config_flow.pyi +7 -9
  138. homeassistant-stubs/components/command_line/cover.pyi +3 -3
  139. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  140. homeassistant-stubs/components/command_line/switch.pyi +4 -4
  141. homeassistant-stubs/components/command_line/utils.pyi +3 -2
  142. homeassistant-stubs/components/config/__init__.pyi +3 -47
  143. homeassistant-stubs/components/config/automation.pyi +2 -1
  144. homeassistant-stubs/components/config/category_registry.pyi +12 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +8 -6
  146. homeassistant-stubs/components/config/const.pyi +3 -0
  147. homeassistant-stubs/components/config/core.pyi +1 -1
  148. homeassistant-stubs/components/config/label_registry.pyi +3 -0
  149. homeassistant-stubs/components/config/scene.pyi +2 -1
  150. homeassistant-stubs/components/config/script.pyi +2 -1
  151. homeassistant-stubs/components/config/view.pyi +48 -0
  152. homeassistant-stubs/components/configurator/__init__.pyi +1 -1
  153. homeassistant-stubs/components/cpuspeed/config_flow.pyi +2 -3
  154. homeassistant-stubs/components/crownstone/config_flow.pyi +10 -11
  155. homeassistant-stubs/components/deconz/__init__.pyi +6 -7
  156. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  157. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -4
  158. homeassistant-stubs/components/deconz/button.pyi +2 -2
  159. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  160. homeassistant-stubs/components/deconz/config_flow.pyi +14 -16
  161. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  162. homeassistant-stubs/components/deconz/deconz_device.pyi +5 -5
  163. homeassistant-stubs/components/deconz/deconz_event.pyi +4 -4
  164. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -1
  165. homeassistant-stubs/components/deconz/diagnostics.pyi +1 -1
  166. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  167. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  168. homeassistant-stubs/components/deconz/hub/api.pyi +9 -0
  169. homeassistant-stubs/components/deconz/hub/config.pyi +18 -0
  170. homeassistant-stubs/components/deconz/{gateway.pyi → hub/hub.pyi} +10 -19
  171. homeassistant-stubs/components/deconz/light.pyi +3 -3
  172. homeassistant-stubs/components/deconz/lock.pyi +1 -1
  173. homeassistant-stubs/components/deconz/number.pyi +2 -4
  174. homeassistant-stubs/components/deconz/scene.pyi +1 -1
  175. homeassistant-stubs/components/deconz/select.pyi +1 -1
  176. homeassistant-stubs/components/deconz/sensor.pyi +4 -6
  177. homeassistant-stubs/components/deconz/services.pyi +5 -5
  178. homeassistant-stubs/components/deconz/siren.pyi +1 -1
  179. homeassistant-stubs/components/deconz/switch.pyi +1 -1
  180. homeassistant-stubs/components/demo/climate.pyi +3 -8
  181. homeassistant-stubs/components/demo/config_flow.pyi +10 -11
  182. homeassistant-stubs/components/demo/humidifier.pyi +1 -1
  183. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  184. homeassistant-stubs/components/device_tracker/const.pyi +2 -1
  185. homeassistant-stubs/components/device_tracker/legacy.pyi +6 -2
  186. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +9 -11
  187. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -7
  188. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -7
  189. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +9 -9
  190. homeassistant-stubs/components/devolo_home_network/image.pyi +3 -7
  191. homeassistant-stubs/components/devolo_home_network/sensor.pyi +3 -7
  192. homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -7
  193. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -7
  194. homeassistant-stubs/components/dhcp/__init__.pyi +4 -8
  195. homeassistant-stubs/components/discovergy/config_flow.pyi +5 -7
  196. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +13 -14
  197. homeassistant-stubs/components/dlna_dmr/media_player.pyi +4 -2
  198. homeassistant-stubs/components/dlna_dms/config_flow.pyi +7 -7
  199. homeassistant-stubs/components/dnsip/config_flow.pyi +6 -9
  200. homeassistant-stubs/components/doorbird/button.pyi +3 -7
  201. homeassistant-stubs/components/doorbird/config_flow.pyi +12 -12
  202. homeassistant-stubs/components/doorbird/view.pyi +1 -2
  203. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  204. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +9 -10
  205. homeassistant-stubs/components/downloader/__init__.pyi +7 -12
  206. homeassistant-stubs/components/downloader/config_flow.pyi +12 -0
  207. homeassistant-stubs/components/downloader/const.pyi +13 -0
  208. homeassistant-stubs/components/dsmr/config_flow.pyi +14 -15
  209. homeassistant-stubs/components/dunehd/config_flow.pyi +6 -6
  210. homeassistant-stubs/components/duotecno/config_flow.pyi +3 -4
  211. homeassistant-stubs/components/easyenergy/config_flow.pyi +2 -3
  212. homeassistant-stubs/components/easyenergy/sensor.pyi +3 -7
  213. homeassistant-stubs/components/ecovacs/config_flow.pyi +5 -5
  214. homeassistant-stubs/components/ecovacs/event.pyi +19 -0
  215. homeassistant-stubs/components/ecowitt/config_flow.pyi +3 -4
  216. homeassistant-stubs/components/efergy/config_flow.pyi +4 -5
  217. homeassistant-stubs/components/electrasmart/config_flow.pyi +8 -9
  218. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +4 -5
  219. homeassistant-stubs/components/electric_kiwi/sensor.pyi +6 -14
  220. homeassistant-stubs/components/elgato/config_flow.pyi +6 -7
  221. homeassistant-stubs/components/elkm1/config_flow.pyi +13 -13
  222. homeassistant-stubs/components/elkm1/sensor.pyi +2 -2
  223. homeassistant-stubs/components/emulated_hue/__init__.pyi +2 -1
  224. homeassistant-stubs/components/emulated_hue/config.pyi +3 -3
  225. homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -3
  226. homeassistant-stubs/components/energy/sensor.pyi +5 -1
  227. homeassistant-stubs/components/energyzero/config_flow.pyi +2 -3
  228. homeassistant-stubs/components/energyzero/sensor.pyi +3 -7
  229. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +6 -14
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -6
  231. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -0
  232. homeassistant-stubs/components/enphase_envoy/number.pyi +6 -14
  233. homeassistant-stubs/components/enphase_envoy/select.pyi +6 -14
  234. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -53
  235. homeassistant-stubs/components/enphase_envoy/switch.pyi +9 -21
  236. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -1
  237. homeassistant-stubs/components/esphome/button.pyi +1 -1
  238. homeassistant-stubs/components/esphome/climate.pyi +1 -1
  239. homeassistant-stubs/components/esphome/config_flow.pyi +15 -16
  240. homeassistant-stubs/components/esphome/cover.pyi +1 -1
  241. homeassistant-stubs/components/esphome/date.pyi +14 -0
  242. homeassistant-stubs/components/esphome/entity.pyi +5 -3
  243. homeassistant-stubs/components/esphome/entry_data.pyi +15 -14
  244. homeassistant-stubs/components/esphome/fan.pyi +1 -1
  245. homeassistant-stubs/components/esphome/light.pyi +1 -1
  246. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  247. homeassistant-stubs/components/esphome/manager.pyi +3 -3
  248. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  249. homeassistant-stubs/components/esphome/number.pyi +1 -1
  250. homeassistant-stubs/components/esphome/select.pyi +1 -1
  251. homeassistant-stubs/components/esphome/switch.pyi +1 -1
  252. homeassistant-stubs/components/esphome/text.pyi +1 -1
  253. homeassistant-stubs/components/esphome/time.pyi +14 -0
  254. homeassistant-stubs/components/esphome/update.pyi +1 -1
  255. homeassistant-stubs/components/evil_genius_labs/config_flow.pyi +3 -4
  256. homeassistant-stubs/components/faa_delays/config_flow.pyi +3 -4
  257. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  258. homeassistant-stubs/components/fastdotcom/config_flow.pyi +3 -4
  259. homeassistant-stubs/components/fastdotcom/coordinator.pyi +1 -1
  260. homeassistant-stubs/components/fastdotcom/diagnostics.pyi +7 -0
  261. homeassistant-stubs/components/fastdotcom/sensor.pyi +3 -3
  262. homeassistant-stubs/components/fastdotcom/services.pyi +1 -1
  263. homeassistant-stubs/components/file_upload/__init__.pyi +1 -1
  264. homeassistant-stubs/components/filesize/__init__.pyi +0 -2
  265. homeassistant-stubs/components/filesize/config_flow.pyi +2 -3
  266. homeassistant-stubs/components/filesize/coordinator.pyi +6 -1
  267. homeassistant-stubs/components/filter/sensor.pyi +3 -3
  268. homeassistant-stubs/components/fitbit/config_flow.pyi +6 -7
  269. homeassistant-stubs/components/flexit_bacnet/config_flow.pyi +3 -4
  270. homeassistant-stubs/components/flux_led/config_flow.pyi +14 -14
  271. homeassistant-stubs/components/flux_led/discovery.pyi +1 -0
  272. homeassistant-stubs/components/flux_led/number.pyi +0 -5
  273. homeassistant-stubs/components/flux_led/select.pyi +0 -3
  274. homeassistant-stubs/components/flux_led/sensor.pyi +0 -1
  275. homeassistant-stubs/components/flux_led/switch.pyi +0 -4
  276. homeassistant-stubs/components/forecast_solar/config_flow.pyi +3 -4
  277. homeassistant-stubs/components/fritz/button.pyi +3 -7
  278. homeassistant-stubs/components/fritz/common.pyi +1 -0
  279. homeassistant-stubs/components/fritz/config_flow.pyi +11 -12
  280. homeassistant-stubs/components/fritzbox/config_flow.pyi +7 -8
  281. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +9 -10
  282. homeassistant-stubs/components/fronius/config_flow.pyi +5 -6
  283. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  284. homeassistant-stubs/components/fully_kiosk/button.pyi +3 -7
  285. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +7 -8
  286. homeassistant-stubs/components/fully_kiosk/switch.pyi +3 -7
  287. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +5 -5
  288. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  289. homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
  290. homeassistant-stubs/components/geocaching/config_flow.pyi +4 -4
  291. homeassistant-stubs/components/geocaching/sensor.pyi +3 -7
  292. homeassistant-stubs/components/gios/config_flow.pyi +3 -4
  293. homeassistant-stubs/components/glances/config_flow.pyi +6 -7
  294. homeassistant-stubs/components/glances/sensor.pyi +3 -7
  295. homeassistant-stubs/components/goalzero/config_flow.pyi +5 -6
  296. homeassistant-stubs/components/google/config_flow.pyi +11 -12
  297. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +8 -10
  298. homeassistant-stubs/components/google_sheets/config_flow.pyi +4 -5
  299. homeassistant-stubs/components/gpsd/config_flow.pyi +4 -5
  300. homeassistant-stubs/components/group/__init__.pyi +7 -102
  301. homeassistant-stubs/components/group/binary_sensor.pyi +1 -1
  302. homeassistant-stubs/components/group/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/group/const.pyi +12 -0
  304. homeassistant-stubs/components/group/cover.pyi +1 -1
  305. homeassistant-stubs/components/group/entity.pyi +81 -0
  306. homeassistant-stubs/components/group/event.pyi +3 -3
  307. homeassistant-stubs/components/group/fan.pyi +1 -1
  308. homeassistant-stubs/components/group/light.pyi +1 -1
  309. homeassistant-stubs/components/group/lock.pyi +1 -1
  310. homeassistant-stubs/components/group/media_player.pyi +3 -3
  311. homeassistant-stubs/components/group/registry.pyi +23 -0
  312. homeassistant-stubs/components/group/sensor.pyi +1 -1
  313. homeassistant-stubs/components/group/switch.pyi +1 -1
  314. homeassistant-stubs/components/guardian/config_flow.pyi +7 -8
  315. homeassistant-stubs/components/hardkernel/config_flow.pyi +2 -3
  316. homeassistant-stubs/components/here_travel_time/__init__.pyi +1 -0
  317. homeassistant-stubs/components/here_travel_time/config_flow.pyi +17 -18
  318. homeassistant-stubs/components/here_travel_time/sensor.pyi +0 -1
  319. homeassistant-stubs/components/history/__init__.pyi +1 -1
  320. homeassistant-stubs/components/history/websocket_api.pyi +2 -2
  321. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -3
  322. homeassistant-stubs/components/history_stats/data.pyi +2 -3
  323. homeassistant-stubs/components/holiday/config_flow.pyi +7 -5
  324. homeassistant-stubs/components/homeassistant/trigger.pyi +2 -1
  325. homeassistant-stubs/components/homeassistant/triggers/event.pyi +5 -1
  326. homeassistant-stubs/components/homeassistant/triggers/homeassistant.pyi +1 -0
  327. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
  328. homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
  329. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
  330. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -5
  331. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -29
  332. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
  333. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +6 -5
  334. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +18 -0
  335. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  336. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -0
  337. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +9 -10
  338. homeassistant-stubs/components/homekit/__init__.pyi +9 -6
  339. homeassistant-stubs/components/homekit/accessories.pyi +5 -6
  340. homeassistant-stubs/components/homekit/config_flow.pyi +16 -18
  341. homeassistant-stubs/components/homekit/const.pyi +3 -0
  342. homeassistant-stubs/components/homekit/type_cameras.pyi +3 -4
  343. homeassistant-stubs/components/homekit/type_covers.pyi +2 -3
  344. homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -3
  345. homeassistant-stubs/components/homekit/util.pyi +2 -3
  346. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  347. homeassistant-stubs/components/homekit_controller/config_flow.pyi +13 -13
  348. homeassistant-stubs/components/homekit_controller/select.pyi +3 -7
  349. homeassistant-stubs/components/homewizard/config_flow.pyi +7 -7
  350. homeassistant-stubs/components/homewizard/coordinator.pyi +0 -1
  351. homeassistant-stubs/components/homeworks/__init__.pyi +63 -0
  352. homeassistant-stubs/components/homeworks/binary_sensor.pyi +25 -0
  353. homeassistant-stubs/components/homeworks/button.pyi +18 -0
  354. homeassistant-stubs/components/homeworks/config_flow.pyi +61 -0
  355. homeassistant-stubs/components/homeworks/const.pyi +14 -0
  356. homeassistant-stubs/components/homeworks/light.pyi +34 -0
  357. homeassistant-stubs/components/http/__init__.pyi +4 -3
  358. homeassistant-stubs/components/http/ban.pyi +4 -3
  359. homeassistant-stubs/components/http/const.pyi +1 -2
  360. homeassistant-stubs/components/http/cors.pyi +1 -0
  361. homeassistant-stubs/components/http/static.pyi +0 -1
  362. homeassistant-stubs/components/huawei_lte/config_flow.pyi +12 -13
  363. homeassistant-stubs/components/huawei_lte/select.pyi +3 -7
  364. homeassistant-stubs/components/humidifier/__init__.pyi +8 -8
  365. homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -8
  366. homeassistant-stubs/components/hyperion/config_flow.pyi +12 -13
  367. homeassistant-stubs/components/hyperion/const.pyi +2 -0
  368. homeassistant-stubs/components/hyperion/sensor.pyi +39 -0
  369. homeassistant-stubs/components/ibeacon/config_flow.pyi +7 -8
  370. homeassistant-stubs/components/ibeacon/device_tracker.pyi +1 -2
  371. homeassistant-stubs/components/ibeacon/sensor.pyi +3 -7
  372. homeassistant-stubs/components/idasen_desk/button.pyi +4 -8
  373. homeassistant-stubs/components/idasen_desk/config_flow.pyi +4 -5
  374. homeassistant-stubs/components/idasen_desk/cover.pyi +3 -3
  375. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -7
  376. homeassistant-stubs/components/image/__init__.pyi +2 -2
  377. homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
  378. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  379. homeassistant-stubs/components/imap/config_flow.pyi +10 -10
  380. homeassistant-stubs/components/integration/sensor.pyi +36 -5
  381. homeassistant-stubs/components/ios/__init__.pyi +1 -1
  382. homeassistant-stubs/components/ipp/config_flow.pyi +5 -6
  383. homeassistant-stubs/components/ipp/sensor.pyi +3 -7
  384. homeassistant-stubs/components/iqvia/config_flow.pyi +3 -4
  385. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +7 -8
  386. homeassistant-stubs/components/isy994/config_flow.pyi +18 -17
  387. homeassistant-stubs/components/jellyfin/config_flow.pyi +5 -6
  388. homeassistant-stubs/components/jellyfin/sensor.pyi +3 -7
  389. homeassistant-stubs/components/jvc_projector/config_flow.pyi +4 -5
  390. homeassistant-stubs/components/jvc_projector/sensor.pyi +20 -0
  391. homeassistant-stubs/components/kaleidescape/config_flow.pyi +4 -5
  392. homeassistant-stubs/components/kaleidescape/sensor.pyi +3 -7
  393. homeassistant-stubs/components/knx/config_flow.pyi +18 -19
  394. homeassistant-stubs/components/knx/expose.pyi +3 -3
  395. homeassistant-stubs/components/kraken/config_flow.pyi +7 -8
  396. homeassistant-stubs/components/kraken/sensor.pyi +3 -7
  397. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +5 -6
  398. homeassistant-stubs/components/lacrosse_view/sensor.pyi +3 -7
  399. homeassistant-stubs/components/lamarzocco/config_flow.pyi +16 -8
  400. homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
  401. homeassistant-stubs/components/lamarzocco/coordinator.pyi +7 -2
  402. homeassistant-stubs/components/lametric/config_flow.pyi +11 -11
  403. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
  404. homeassistant-stubs/components/laundrify/config_flow.pyi +5 -6
  405. homeassistant-stubs/components/lcn/config_flow.pyi +4 -5
  406. homeassistant-stubs/components/ld2410_ble/config_flow.pyi +4 -5
  407. homeassistant-stubs/components/led_ble/config_flow.pyi +4 -5
  408. homeassistant-stubs/components/lidarr/config_flow.pyi +4 -5
  409. homeassistant-stubs/components/lifx/config_flow.pyi +10 -11
  410. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +5 -6
  411. homeassistant-stubs/components/litejet/config_flow.pyi +7 -8
  412. homeassistant-stubs/components/litterrobot/config_flow.pyi +5 -6
  413. homeassistant-stubs/components/litterrobot/switch.pyi +2 -5
  414. homeassistant-stubs/components/local_ip/config_flow.pyi +2 -3
  415. homeassistant-stubs/components/local_ip/sensor.pyi +1 -1
  416. homeassistant-stubs/components/local_todo/config_flow.pyi +3 -4
  417. homeassistant-stubs/components/logbook/helpers.pyi +1 -2
  418. homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
  419. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -0
  420. homeassistant-stubs/components/lookin/config_flow.pyi +5 -6
  421. homeassistant-stubs/components/luftdaten/config_flow.pyi +4 -5
  422. homeassistant-stubs/components/map/__init__.pyi +6 -1
  423. homeassistant-stubs/components/matter/config_flow.pyi +14 -14
  424. homeassistant-stubs/components/met_eireann/config_flow.pyi +3 -4
  425. homeassistant-stubs/components/met_eireann/weather.pyi +1 -5
  426. homeassistant-stubs/components/metoffice/config_flow.pyi +7 -6
  427. homeassistant-stubs/components/metoffice/weather.pyi +2 -5
  428. homeassistant-stubs/components/mikrotik/config_flow.pyi +11 -12
  429. homeassistant-stubs/components/min_max/sensor.pyi +3 -3
  430. homeassistant-stubs/components/minecraft_server/binary_sensor.pyi +2 -9
  431. homeassistant-stubs/components/minecraft_server/config_flow.pyi +3 -4
  432. homeassistant-stubs/components/minecraft_server/sensor.pyi +3 -16
  433. homeassistant-stubs/components/mjpeg/config_flow.pyi +3 -4
  434. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  435. homeassistant-stubs/components/modbus/base_platform.pyi +1 -3
  436. homeassistant-stubs/components/modbus/const.pyi +0 -2
  437. homeassistant-stubs/components/modbus/modbus.pyi +3 -5
  438. homeassistant-stubs/components/modbus/validators.pyi +7 -2
  439. homeassistant-stubs/components/modem_callerid/button.pyi +0 -1
  440. homeassistant-stubs/components/modem_callerid/config_flow.pyi +5 -6
  441. homeassistant-stubs/components/modem_callerid/const.pyi +0 -1
  442. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  443. homeassistant-stubs/components/moon/config_flow.pyi +2 -3
  444. homeassistant-stubs/components/moon/sensor.pyi +0 -2
  445. homeassistant-stubs/components/mopeka/config_flow.pyi +4 -5
  446. homeassistant-stubs/components/motionmount/config_flow.pyi +6 -7
  447. homeassistant-stubs/components/mqtt/__init__.pyi +2 -2
  448. homeassistant-stubs/components/mqtt/climate.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/config_flow.pyi +8 -9
  450. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  451. homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
  452. homeassistant-stubs/components/mqtt/event.pyi +2 -2
  453. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  454. homeassistant-stubs/components/mqtt/image.pyi +2 -2
  455. homeassistant-stubs/components/mqtt/light/schema_json.pyi +5 -2
  456. homeassistant-stubs/components/mqtt/mixins.pyi +7 -7
  457. homeassistant-stubs/components/mqtt/models.pyi +9 -3
  458. homeassistant-stubs/components/mqtt/sensor.pyi +4 -1
  459. homeassistant-stubs/components/mqtt/tag.pyi +3 -2
  460. homeassistant-stubs/components/mqtt/util.pyi +5 -1
  461. homeassistant-stubs/components/mysensors/config_flow.pyi +8 -10
  462. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  463. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -5
  464. homeassistant-stubs/components/myuplink/helpers.pyi +1 -0
  465. homeassistant-stubs/components/myuplink/number.pyi +1 -1
  466. homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
  467. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  468. homeassistant-stubs/components/nam/config_flow.pyi +8 -9
  469. homeassistant-stubs/components/nam/sensor.pyi +3 -7
  470. homeassistant-stubs/components/nanoleaf/config_flow.pyi +12 -13
  471. homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
  472. homeassistant-stubs/components/neato/config_flow.pyi +5 -6
  473. homeassistant-stubs/components/neato/vacuum.pyi +0 -1
  474. homeassistant-stubs/components/nest/config_flow.pyi +10 -11
  475. homeassistant-stubs/components/netatmo/config_flow.pyi +12 -13
  476. homeassistant-stubs/components/netatmo/sensor.pyi +3 -7
  477. homeassistant-stubs/components/network/network.pyi +1 -0
  478. homeassistant-stubs/components/nextdns/config_flow.pyi +4 -5
  479. homeassistant-stubs/components/nfandroidtv/config_flow.pyi +3 -4
  480. homeassistant-stubs/components/nightscout/config_flow.pyi +5 -5
  481. homeassistant-stubs/components/notify/legacy.pyi +1 -1
  482. homeassistant-stubs/components/notion/__init__.pyi +4 -29
  483. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -0
  484. homeassistant-stubs/components/notion/config_flow.pyi +5 -7
  485. homeassistant-stubs/components/notion/coordinator.pyi +44 -0
  486. homeassistant-stubs/components/notion/diagnostics.pyi +1 -2
  487. homeassistant-stubs/components/notion/sensor.pyi +1 -0
  488. homeassistant-stubs/components/nut/__init__.pyi +10 -9
  489. homeassistant-stubs/components/nut/config_flow.pyi +12 -12
  490. homeassistant-stubs/components/onboarding/__init__.pyi +16 -2
  491. homeassistant-stubs/components/onboarding/views.pyi +8 -6
  492. homeassistant-stubs/components/oncue/config_flow.pyi +3 -4
  493. homeassistant-stubs/components/onewire/config_flow.pyi +5 -6
  494. homeassistant-stubs/components/open_meteo/config_flow.pyi +2 -3
  495. homeassistant-stubs/components/open_meteo/weather.pyi +0 -2
  496. homeassistant-stubs/components/openexchangerates/config_flow.pyi +5 -5
  497. homeassistant-stubs/components/opensky/config_flow.pyi +3 -4
  498. homeassistant-stubs/components/opensky/sensor.pyi +1 -1
  499. homeassistant-stubs/components/openuv/config_flow.pyi +6 -8
  500. homeassistant-stubs/components/oralb/config_flow.pyi +4 -5
  501. homeassistant-stubs/components/otbr/config_flow.pyi +3 -4
  502. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +3 -7
  503. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -7
  504. homeassistant-stubs/components/overkiz/climate.pyi +1 -0
  505. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -2
  506. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +30 -7
  507. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +1 -0
  508. homeassistant-stubs/components/overkiz/config_flow.pyi +10 -12
  509. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  510. homeassistant-stubs/components/overkiz/number.pyi +3 -7
  511. homeassistant-stubs/components/overkiz/select.pyi +3 -7
  512. homeassistant-stubs/components/overkiz/switch.pyi +3 -7
  513. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -3
  514. homeassistant-stubs/components/peco/config_flow.pyi +4 -5
  515. homeassistant-stubs/components/peco/sensor.pyi +3 -7
  516. homeassistant-stubs/components/persistent_notification/__init__.pyi +2 -1
  517. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -7
  518. homeassistant-stubs/components/pi_hole/config_flow.pyi +6 -7
  519. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -3
  520. homeassistant-stubs/components/ping/config_flow.pyi +8 -9
  521. homeassistant-stubs/components/ping/coordinator.pyi +1 -1
  522. homeassistant-stubs/components/ping/entity.pyi +12 -0
  523. homeassistant-stubs/components/ping/sensor.pyi +29 -0
  524. homeassistant-stubs/components/plugwise/config_flow.pyi +3 -4
  525. homeassistant-stubs/components/poolsense/config_flow.pyi +3 -4
  526. homeassistant-stubs/components/powerwall/config_flow.pyi +12 -11
  527. homeassistant-stubs/components/private_ble_device/config_flow.pyi +2 -3
  528. homeassistant-stubs/components/private_ble_device/device_tracker.pyi +1 -2
  529. homeassistant-stubs/components/private_ble_device/sensor.pyi +3 -7
  530. homeassistant-stubs/components/prometheus/__init__.pyi +4 -4
  531. homeassistant-stubs/components/proximity/config_flow.pyi +4 -5
  532. homeassistant-stubs/components/proximity/coordinator.pyi +3 -3
  533. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  534. homeassistant-stubs/components/prusalink/config_flow.pyi +6 -5
  535. homeassistant-stubs/components/pure_energie/config_flow.pyi +4 -5
  536. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -7
  537. homeassistant-stubs/components/purpleair/config_flow.pyi +14 -17
  538. homeassistant-stubs/components/pushbullet/config_flow.pyi +3 -4
  539. homeassistant-stubs/components/pvoutput/config_flow.pyi +4 -5
  540. homeassistant-stubs/components/qnap_qsw/button.pyi +3 -7
  541. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +6 -6
  542. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -3
  543. homeassistant-stubs/components/radarr/config_flow.pyi +4 -5
  544. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +5 -6
  545. homeassistant-stubs/components/rainmachine/config_flow.pyi +8 -10
  546. homeassistant-stubs/components/raspberry_pi/config_flow.pyi +2 -3
  547. homeassistant-stubs/components/rdw/config_flow.pyi +2 -3
  548. homeassistant-stubs/components/recollect_waste/calendar.pyi +1 -1
  549. homeassistant-stubs/components/recollect_waste/config_flow.pyi +7 -8
  550. homeassistant-stubs/components/recorder/const.pyi +1 -0
  551. homeassistant-stubs/components/recorder/core.pyi +4 -3
  552. homeassistant-stubs/components/recorder/db_schema.pyi +7 -0
  553. homeassistant-stubs/components/recorder/history/modern.pyi +7 -6
  554. homeassistant-stubs/components/recorder/migration.pyi +47 -5
  555. homeassistant-stubs/components/recorder/models/legacy.pyi +10 -0
  556. homeassistant-stubs/components/recorder/models/state.pyi +4 -0
  557. homeassistant-stubs/components/recorder/queries.pyi +2 -1
  558. homeassistant-stubs/components/recorder/table_managers/states.pyi +3 -0
  559. homeassistant-stubs/components/renault/binary_sensor.pyi +3 -11
  560. homeassistant-stubs/components/renault/button.pyi +3 -7
  561. homeassistant-stubs/components/renault/config_flow.pyi +8 -9
  562. homeassistant-stubs/components/renault/select.pyi +3 -13
  563. homeassistant-stubs/components/renault/sensor.pyi +3 -12
  564. homeassistant-stubs/components/rest/__init__.pyi +1 -0
  565. homeassistant-stubs/components/rfxtrx/config_flow.pyi +12 -12
  566. homeassistant-stubs/components/rfxtrx/event.pyi +22 -0
  567. homeassistant-stubs/components/rhasspy/config_flow.pyi +3 -4
  568. homeassistant-stubs/components/ridwell/calendar.pyi +1 -1
  569. homeassistant-stubs/components/ridwell/config_flow.pyi +6 -7
  570. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +3 -4
  571. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +3 -7
  572. homeassistant-stubs/components/roku/binary_sensor.pyi +3 -7
  573. homeassistant-stubs/components/roku/config_flow.pyi +6 -7
  574. homeassistant-stubs/components/roku/select.pyi +6 -10
  575. homeassistant-stubs/components/roku/sensor.pyi +3 -7
  576. homeassistant-stubs/components/romy/config_flow.pyi +5 -6
  577. homeassistant-stubs/components/romy/entity.pyi +11 -0
  578. homeassistant-stubs/components/romy/vacuum.pyi +4 -11
  579. homeassistant-stubs/components/rpi_power/config_flow.pyi +2 -2
  580. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +9 -10
  581. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +5 -6
  582. homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi +4 -5
  583. homeassistant-stubs/components/samsungtv/config_flow.pyi +17 -17
  584. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -0
  585. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  586. homeassistant-stubs/components/search/__init__.pyi +41 -20
  587. homeassistant-stubs/components/sensibo/binary_sensor.pyi +6 -14
  588. homeassistant-stubs/components/sensibo/button.pyi +3 -7
  589. homeassistant-stubs/components/sensibo/config_flow.pyi +6 -7
  590. homeassistant-stubs/components/sensibo/number.pyi +3 -7
  591. homeassistant-stubs/components/sensibo/select.pyi +3 -7
  592. homeassistant-stubs/components/sensibo/sensor.pyi +6 -14
  593. homeassistant-stubs/components/sensibo/switch.pyi +3 -7
  594. homeassistant-stubs/components/sensibo/update.pyi +3 -7
  595. homeassistant-stubs/components/sensirion_ble/config_flow.pyi +4 -5
  596. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -7
  597. homeassistant-stubs/components/sfr_box/button.pyi +3 -7
  598. homeassistant-stubs/components/sfr_box/config_flow.pyi +6 -7
  599. homeassistant-stubs/components/sfr_box/sensor.pyi +3 -7
  600. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  601. homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
  602. homeassistant-stubs/components/shelly/button.pyi +3 -7
  603. homeassistant-stubs/components/shelly/config_flow.pyi +15 -14
  604. homeassistant-stubs/components/shelly/const.pyi +3 -2
  605. homeassistant-stubs/components/shelly/coordinator.pyi +3 -1
  606. homeassistant-stubs/components/shelly/entity.pyi +4 -8
  607. homeassistant-stubs/components/shelly/event.pyi +2 -2
  608. homeassistant-stubs/components/shelly/light.pyi +30 -14
  609. homeassistant-stubs/components/shelly/number.pyi +1 -1
  610. homeassistant-stubs/components/shelly/sensor.pyi +4 -4
  611. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  612. homeassistant-stubs/components/shelly/update.pyi +8 -15
  613. homeassistant-stubs/components/shelly/utils.pyi +9 -4
  614. homeassistant-stubs/components/shopping_list/config_flow.pyi +3 -4
  615. homeassistant-stubs/components/shopping_list/todo.pyi +0 -1
  616. homeassistant-stubs/components/simplepush/config_flow.pyi +3 -4
  617. homeassistant-stubs/components/simplisafe/config_flow.pyi +6 -8
  618. homeassistant-stubs/components/skybell/config_flow.pyi +5 -6
  619. homeassistant-stubs/components/skybell/sensor.pyi +3 -7
  620. homeassistant-stubs/components/slack/config_flow.pyi +3 -4
  621. homeassistant-stubs/components/sleepiq/button.pyi +3 -7
  622. homeassistant-stubs/components/sleepiq/config_flow.pyi +5 -6
  623. homeassistant-stubs/components/sleepiq/number.pyi +3 -7
  624. homeassistant-stubs/components/smhi/config_flow.pyi +6 -4
  625. homeassistant-stubs/components/smhi/weather.pyi +0 -2
  626. homeassistant-stubs/components/snooz/config_flow.pyi +8 -9
  627. homeassistant-stubs/components/sonarr/config_flow.pyi +6 -7
  628. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +4 -2
  629. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +7 -8
  630. homeassistant-stubs/components/speedtestdotnet/const.pyi +0 -1
  631. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -2
  632. homeassistant-stubs/components/sql/config_flow.pyi +6 -7
  633. homeassistant-stubs/components/ssdp/__init__.pyi +9 -7
  634. homeassistant-stubs/components/starlink/binary_sensor.pyi +3 -7
  635. homeassistant-stubs/components/starlink/button.pyi +3 -7
  636. homeassistant-stubs/components/starlink/config_flow.pyi +2 -3
  637. homeassistant-stubs/components/starlink/coordinator.pyi +6 -1
  638. homeassistant-stubs/components/starlink/device_tracker.pyi +3 -7
  639. homeassistant-stubs/components/starlink/sensor.pyi +3 -7
  640. homeassistant-stubs/components/starlink/switch.pyi +3 -7
  641. homeassistant-stubs/components/starlink/time.pyi +34 -0
  642. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  643. homeassistant-stubs/components/steamist/config_flow.pyi +9 -10
  644. homeassistant-stubs/components/steamist/sensor.pyi +3 -7
  645. homeassistant-stubs/components/stookalert/config_flow.pyi +2 -3
  646. homeassistant-stubs/components/stream/__init__.pyi +1 -0
  647. homeassistant-stubs/components/stream/core.pyi +1 -1
  648. homeassistant-stubs/components/streamlabswater/config_flow.pyi +3 -4
  649. homeassistant-stubs/components/stt/legacy.pyi +1 -1
  650. homeassistant-stubs/components/suez_water/config_flow.pyi +3 -4
  651. homeassistant-stubs/components/sun/__init__.pyi +4 -64
  652. homeassistant-stubs/components/sun/config_flow.pyi +3 -4
  653. homeassistant-stubs/components/sun/const.pyi +11 -0
  654. homeassistant-stubs/components/sun/entity.pyi +64 -0
  655. homeassistant-stubs/components/sun/sensor.pyi +1 -1
  656. homeassistant-stubs/components/surepetcare/config_flow.pyi +5 -6
  657. homeassistant-stubs/components/switch/light.pyi +2 -2
  658. homeassistant-stubs/components/switchbee/config_flow.pyi +3 -4
  659. homeassistant-stubs/components/switchbot_cloud/config_flow.pyi +3 -4
  660. homeassistant-stubs/components/switcher_kis/button.pyi +3 -7
  661. homeassistant-stubs/components/switcher_kis/config_flow.pyi +5 -6
  662. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  663. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -0
  664. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -2
  665. homeassistant-stubs/components/synology_dsm/button.pyi +3 -7
  666. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -2
  667. homeassistant-stubs/components/synology_dsm/config_flow.pyi +14 -15
  668. homeassistant-stubs/components/synology_dsm/entity.pyi +3 -7
  669. homeassistant-stubs/components/synology_dsm/sensor.pyi +2 -2
  670. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -2
  671. homeassistant-stubs/components/synology_dsm/update.pyi +2 -2
  672. homeassistant-stubs/components/system_log/__init__.pyi +3 -2
  673. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -1
  674. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +14 -12
  675. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -2
  676. homeassistant-stubs/components/systemmonitor/const.pyi +1 -1
  677. homeassistant-stubs/components/systemmonitor/coordinator.pyi +29 -46
  678. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -2
  679. homeassistant-stubs/components/systemmonitor/sensor.pyi +23 -20
  680. homeassistant-stubs/components/systemmonitor/util.pyi +1 -1
  681. homeassistant-stubs/components/tailscale/config_flow.pyi +4 -5
  682. homeassistant-stubs/components/tailwind/config_flow.pyi +9 -9
  683. homeassistant-stubs/components/tami4/config_flow.pyi +4 -5
  684. homeassistant-stubs/components/tautulli/config_flow.pyi +4 -5
  685. homeassistant-stubs/components/tautulli/sensor.pyi +6 -14
  686. homeassistant-stubs/components/technove/config_flow.pyi +4 -5
  687. homeassistant-stubs/components/tedee/config_flow.pyi +7 -5
  688. homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
  689. homeassistant-stubs/components/tibber/config_flow.pyi +3 -4
  690. homeassistant-stubs/components/tile/config_flow.pyi +7 -8
  691. homeassistant-stubs/components/tile/device_tracker.pyi +1 -2
  692. homeassistant-stubs/components/tilt_ble/config_flow.pyi +4 -5
  693. homeassistant-stubs/components/tolo/__init__.pyi +3 -3
  694. homeassistant-stubs/components/tolo/binary_sensor.pyi +0 -2
  695. homeassistant-stubs/components/tolo/button.pyi +0 -1
  696. homeassistant-stubs/components/tolo/climate.pyi +6 -5
  697. homeassistant-stubs/components/tolo/config_flow.pyi +5 -6
  698. homeassistant-stubs/components/tolo/const.pyi +11 -7
  699. homeassistant-stubs/components/tolo/number.pyi +6 -11
  700. homeassistant-stubs/components/tolo/select.pyi +19 -7
  701. homeassistant-stubs/components/tolo/sensor.pyi +6 -10
  702. homeassistant-stubs/components/tolo/switch.pyi +30 -0
  703. homeassistant-stubs/components/tplink/config_flow.pyi +14 -16
  704. homeassistant-stubs/components/tplink/switch.pyi +0 -1
  705. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +17 -20
  706. homeassistant-stubs/components/tplink_omada/config_flow.pyi +6 -7
  707. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -3
  708. homeassistant-stubs/components/tplink_omada/switch.pyi +54 -17
  709. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  710. homeassistant-stubs/components/tractive/__init__.pyi +1 -2
  711. homeassistant-stubs/components/tractive/config_flow.pyi +5 -6
  712. homeassistant-stubs/components/tractive/const.pyi +0 -1
  713. homeassistant-stubs/components/tractive/sensor.pyi +4 -8
  714. homeassistant-stubs/components/tractive/switch.pyi +3 -7
  715. homeassistant-stubs/components/tradfri/config_flow.pyi +6 -7
  716. homeassistant-stubs/components/tradfri/sensor.pyi +3 -7
  717. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -7
  718. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +7 -8
  719. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -7
  720. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +6 -7
  721. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +3 -8
  722. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +9 -10
  723. homeassistant-stubs/components/trafikverket_train/sensor.pyi +3 -7
  724. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +6 -7
  725. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -7
  726. homeassistant-stubs/components/transmission/__init__.pyi +3 -2
  727. homeassistant-stubs/components/transmission/config_flow.pyi +13 -13
  728. homeassistant-stubs/components/transmission/const.pyi +2 -0
  729. homeassistant-stubs/components/transmission/switch.pyi +3 -7
  730. homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
  731. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  732. homeassistant-stubs/components/tts/legacy.pyi +1 -1
  733. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  734. homeassistant-stubs/components/twentemilieu/config_flow.pyi +3 -4
  735. homeassistant-stubs/components/unifi/button.pyi +4 -8
  736. homeassistant-stubs/components/unifi/config_flow.pyi +16 -17
  737. homeassistant-stubs/components/unifi/device_tracker.pyi +4 -8
  738. homeassistant-stubs/components/unifi/entity.pyi +12 -15
  739. homeassistant-stubs/components/unifi/hub/config.pyi +31 -0
  740. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +26 -0
  741. homeassistant-stubs/components/unifi/hub/hub.pyi +8 -28
  742. homeassistant-stubs/components/unifi/image.pyi +3 -8
  743. homeassistant-stubs/components/unifi/sensor.pyi +4 -10
  744. homeassistant-stubs/components/unifi/switch.pyi +6 -11
  745. homeassistant-stubs/components/unifi/update.pyi +4 -8
  746. homeassistant-stubs/components/unifiprotect/camera.pyi +5 -2
  747. homeassistant-stubs/components/unifiprotect/config_flow.pyi +16 -17
  748. homeassistant-stubs/components/unifiprotect/migrate.pyi +18 -4
  749. homeassistant-stubs/components/unifiprotect/repairs.pyi +17 -6
  750. homeassistant-stubs/components/unifiprotect/select.pyi +1 -0
  751. homeassistant-stubs/components/unifiprotect/services.pyi +8 -2
  752. homeassistant-stubs/components/unifiprotect/utils.pyi +2 -1
  753. homeassistant-stubs/components/upcloud/config_flow.pyi +8 -9
  754. homeassistant-stubs/components/uptime/config_flow.pyi +2 -3
  755. homeassistant-stubs/components/uptimerobot/config_flow.pyi +5 -6
  756. homeassistant-stubs/components/uptimerobot/sensor.pyi +0 -7
  757. homeassistant-stubs/components/uptimerobot/switch.pyi +1 -1
  758. homeassistant-stubs/components/usb/__init__.pyi +2 -1
  759. homeassistant-stubs/components/vacuum/__init__.pyi +1 -4
  760. homeassistant-stubs/components/vacuum/const.pyi +7 -0
  761. homeassistant-stubs/components/vacuum/group.pyi +1 -1
  762. homeassistant-stubs/components/vallox/binary_sensor.pyi +3 -7
  763. homeassistant-stubs/components/vallox/config_flow.pyi +3 -4
  764. homeassistant-stubs/components/vallox/date.pyi +22 -0
  765. homeassistant-stubs/components/vallox/number.pyi +3 -7
  766. homeassistant-stubs/components/vallox/switch.pyi +3 -7
  767. homeassistant-stubs/components/velbus/config_flow.pyi +6 -7
  768. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +11 -11
  769. homeassistant-stubs/components/wallbox/config_flow.pyi +6 -6
  770. homeassistant-stubs/components/wallbox/number.pyi +3 -7
  771. homeassistant-stubs/components/waqi/__init__.pyi +0 -1
  772. homeassistant-stubs/components/waqi/config_flow.pyi +7 -11
  773. homeassistant-stubs/components/waqi/sensor.pyi +7 -22
  774. homeassistant-stubs/components/water_heater/const.pyi +6 -0
  775. homeassistant-stubs/components/water_heater/group.pyi +1 -1
  776. homeassistant-stubs/components/watttime/config_flow.pyi +10 -12
  777. homeassistant-stubs/components/weather/__init__.pyi +0 -13
  778. homeassistant-stubs/components/webhook/__init__.pyi +1 -2
  779. homeassistant-stubs/components/webostv/config_flow.pyi +8 -8
  780. homeassistant-stubs/components/websocket_api/commands.pyi +2 -3
  781. homeassistant-stubs/components/websocket_api/http.pyi +1 -1
  782. homeassistant-stubs/components/websocket_api/messages.pyi +4 -3
  783. homeassistant-stubs/components/wemo/__init__.pyi +3 -1
  784. homeassistant-stubs/components/wemo/config_flow.pyi +2 -3
  785. homeassistant-stubs/components/wemo/wemo_device.pyi +2 -1
  786. homeassistant-stubs/components/whois/config_flow.pyi +2 -3
  787. homeassistant-stubs/components/withings/__init__.pyi +13 -0
  788. homeassistant-stubs/components/withings/config_flow.pyi +4 -5
  789. homeassistant-stubs/components/wiz/config_flow.pyi +8 -8
  790. homeassistant-stubs/components/wled/config_flow.pyi +6 -10
  791. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +9 -10
  792. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -2
  793. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  794. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  795. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -6
  796. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +14 -14
  797. homeassistant-stubs/components/yalexs_ble/sensor.pyi +3 -7
  798. homeassistant-stubs/components/youtube/config_flow.pyi +6 -7
  799. homeassistant-stubs/components/youtube/sensor.pyi +3 -7
  800. homeassistant-stubs/components/zeroconf/__init__.pyi +1 -1
  801. homeassistant-stubs/components/zodiac/config_flow.pyi +2 -3
  802. homeassistant-stubs/components/zodiac/sensor.pyi +0 -2
  803. homeassistant-stubs/components/zone/__init__.pyi +2 -2
  804. homeassistant-stubs/components/zone/config_flow.pyi +2 -2
  805. homeassistant-stubs/components/zone/trigger.pyi +2 -2
  806. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  807. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +3 -7
  808. homeassistant-stubs/components/zwave_js/config_flow.pyi +39 -38
  809. homeassistant-stubs/components/zwave_js/humidifier.pyi +3 -7
  810. homeassistant-stubs/config.pyi +18 -3
  811. homeassistant-stubs/config_entries.pyi +52 -33
  812. homeassistant-stubs/const.pyi +11 -6
  813. homeassistant-stubs/core.pyi +62 -38
  814. homeassistant-stubs/data_entry_flow.pyi +38 -37
  815. homeassistant-stubs/exceptions.pyi +12 -5
  816. homeassistant-stubs/helpers/area_registry.pyi +7 -19
  817. homeassistant-stubs/helpers/category_registry.pyi +43 -0
  818. homeassistant-stubs/helpers/check_config.pyi +1 -1
  819. homeassistant-stubs/helpers/config_entry_flow.pyi +11 -12
  820. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +6 -7
  821. homeassistant-stubs/helpers/config_validation.pyi +8 -1
  822. homeassistant-stubs/helpers/data_entry_flow.pyi +9 -5
  823. homeassistant-stubs/helpers/debounce.pyi +2 -1
  824. homeassistant-stubs/helpers/device_registry.pyi +9 -5
  825. homeassistant-stubs/helpers/discovery.pyi +2 -1
  826. homeassistant-stubs/helpers/discovery_flow.pyi +2 -2
  827. homeassistant-stubs/helpers/dispatcher.pyi +2 -10
  828. homeassistant-stubs/helpers/entity.pyi +9 -7
  829. homeassistant-stubs/helpers/entity_component.pyi +2 -1
  830. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  831. homeassistant-stubs/helpers/entity_registry.pyi +14 -9
  832. homeassistant-stubs/helpers/event.pyi +30 -30
  833. homeassistant-stubs/helpers/floor_registry.pyi +12 -24
  834. homeassistant-stubs/helpers/frame.pyi +11 -3
  835. homeassistant-stubs/helpers/http.pyi +6 -3
  836. homeassistant-stubs/helpers/importlib.pyi +11 -0
  837. homeassistant-stubs/helpers/integration_platform.pyi +8 -6
  838. homeassistant-stubs/helpers/intent.pyi +6 -4
  839. homeassistant-stubs/helpers/issue_registry.pyi +2 -3
  840. homeassistant-stubs/helpers/label_registry.pyi +11 -23
  841. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +22 -0
  842. homeassistant-stubs/helpers/ratelimit.pyi +2 -3
  843. homeassistant-stubs/helpers/registry.pyi +15 -0
  844. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +15 -15
  845. homeassistant-stubs/helpers/script.pyi +22 -8
  846. homeassistant-stubs/helpers/selector.pyi +20 -0
  847. homeassistant-stubs/helpers/service.pyi +9 -4
  848. homeassistant-stubs/helpers/storage.pyi +28 -4
  849. homeassistant-stubs/helpers/system_info.pyi +1 -0
  850. homeassistant-stubs/helpers/template.pyi +18 -3
  851. homeassistant-stubs/helpers/translation.pyi +2 -1
  852. homeassistant-stubs/helpers/trigger.pyi +1 -0
  853. homeassistant-stubs/helpers/typing.pyi +2 -5
  854. homeassistant-stubs/helpers/update_coordinator.pyi +5 -5
  855. homeassistant-stubs/loader.pyi +24 -5
  856. homeassistant-stubs/setup.pyi +21 -4
  857. homeassistant-stubs/util/async_.pyi +2 -2
  858. homeassistant-stubs/util/percentage.pyi +1 -1
  859. homeassistant-stubs/util/signal_type.pyi +20 -0
  860. homeassistant-stubs/util/unit_conversion.pyi +10 -0
  861. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/METADATA +4 -5
  862. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/RECORD +864 -825
  863. homeassistant-stubs/components/axis/device.pyi +0 -64
  864. homeassistant-stubs/components/binary_sensor/group.pyi +0 -5
  865. homeassistant-stubs/components/fan/group.pyi +0 -5
  866. homeassistant-stubs/components/humidifier/group.pyi +0 -5
  867. homeassistant-stubs/components/light/group.pyi +0 -5
  868. homeassistant-stubs/components/remote/group.pyi +0 -5
  869. homeassistant-stubs/components/switch/group.pyi +0 -5
  870. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/LICENSE +0 -0
  871. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0.dist-info}/WHEEL +0 -0
@@ -1,10 +1,11 @@
1
+ from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
2
+ from .registry import BaseRegistry as BaseRegistry
1
3
  from .storage import Store as Store
2
- from .typing import EventType as EventType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
4
+ from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
3
5
  from _typeshed import Incomplete
4
- from collections import UserDict
5
- from collections.abc import Iterable, ValuesView
6
+ from collections.abc import Iterable
6
7
  from dataclasses import dataclass
7
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.util import slugify as slugify
9
10
  from typing import Literal, TypedDict
10
11
 
@@ -12,33 +13,22 @@ DATA_REGISTRY: str
12
13
  EVENT_LABEL_REGISTRY_UPDATED: str
13
14
  STORAGE_KEY: str
14
15
  STORAGE_VERSION_MAJOR: int
15
- SAVE_DELAY: int
16
16
 
17
17
  class EventLabelRegistryUpdatedData(TypedDict):
18
18
  action: Literal['create', 'remove', 'update']
19
19
  label_id: str
20
- EventLabelRegistryUpdated = EventType[EventLabelRegistryUpdatedData]
20
+ EventLabelRegistryUpdated = Event[EventLabelRegistryUpdatedData]
21
21
 
22
- @dataclass(slots=True, frozen=True)
23
- class LabelEntry:
22
+ @dataclass(slots=True, frozen=True, kw_only=True)
23
+ class LabelEntry(NormalizedNameBaseRegistryEntry):
24
24
  label_id: str
25
- name: str
26
- normalized_name: str
27
25
  description: str | None = ...
28
26
  color: str | None = ...
29
27
  icon: str | None = ...
30
- def __init__(self, label_id, name, normalized_name, description, color, icon) -> None: ...
28
+ def __init__(self, *, name, normalized_name, label_id, description, color, icon) -> None: ...
31
29
 
32
- class LabelRegistryItems(UserDict[str, LabelEntry]):
33
- _normalized_names: Incomplete
34
- def __init__(self) -> None: ...
35
- def values(self) -> ValuesView[LabelEntry]: ...
36
- def __setitem__(self, key: str, entry: LabelEntry) -> None: ...
37
- def __delitem__(self, key: str) -> None: ...
38
- def get_label_by_name(self, name: str) -> LabelEntry | None: ...
39
-
40
- class LabelRegistry:
41
- labels: LabelRegistryItems
30
+ class LabelRegistry(BaseRegistry):
31
+ labels: NormalizedNameBaseRegistryItems[LabelEntry]
42
32
  _label_data: dict[str, LabelEntry]
43
33
  hass: Incomplete
44
34
  _store: Incomplete
@@ -51,9 +41,7 @@ class LabelRegistry:
51
41
  def async_delete(self, label_id: str) -> None: ...
52
42
  def async_update(self, label_id: str, *, color: str | None | UndefinedType = ..., description: str | None | UndefinedType = ..., icon: str | None | UndefinedType = ..., name: str | UndefinedType = ...) -> LabelEntry: ...
53
43
  async def async_load(self) -> None: ...
54
- def async_schedule_save(self) -> None: ...
55
44
  def _data_to_save(self) -> dict[str, list[dict[str, str | None]]]: ...
56
45
 
57
46
  def async_get(hass: HomeAssistant) -> LabelRegistry: ...
58
47
  async def async_load(hass: HomeAssistant) -> None: ...
59
- def _normalize_label_name(label_name: str) -> str: ...
@@ -0,0 +1,22 @@
1
+ from _typeshed import Incomplete
2
+ from collections import UserDict
3
+ from collections.abc import ValuesView
4
+ from dataclasses import dataclass
5
+ from typing import TypeVar
6
+
7
+ @dataclass(slots=True, frozen=True, kw_only=True)
8
+ class NormalizedNameBaseRegistryEntry:
9
+ name: str
10
+ normalized_name: str
11
+ def __init__(self, *, name, normalized_name) -> None: ...
12
+ _VT = TypeVar('_VT', bound=NormalizedNameBaseRegistryEntry)
13
+
14
+ def normalize_name(name: str) -> str: ...
15
+
16
+ class NormalizedNameBaseRegistryItems(UserDict[str, _VT]):
17
+ _normalized_names: Incomplete
18
+ def __init__(self) -> None: ...
19
+ def values(self) -> ValuesView[_VT]: ...
20
+ def __setitem__(self, key: str, entry: _VT) -> None: ...
21
+ def __delitem__(self, key: str) -> None: ...
22
+ def get_by_name(self, name: str) -> _VT | None: ...
@@ -1,6 +1,5 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable, Hashable
3
- from datetime import datetime, timedelta
4
3
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
4
  from typing import TypeVarTuple
6
5
 
@@ -13,7 +12,7 @@ class KeyedRateLimit:
13
12
  _rate_limit_timers: Incomplete
14
13
  def __init__(self, hass: HomeAssistant) -> None: ...
15
14
  def async_has_timer(self, key: Hashable) -> bool: ...
16
- def async_triggered(self, key: Hashable, now: datetime | None = None) -> None: ...
15
+ def async_triggered(self, key: Hashable, now: float | None = None) -> None: ...
17
16
  def async_cancel_timer(self, key: Hashable) -> None: ...
18
17
  def async_remove(self) -> None: ...
19
- def async_schedule_action(self, key: Hashable, rate_limit: timedelta | None, now: datetime, action: Callable[[Unpack[_Ts]], None], *args: Unpack[_Ts]) -> datetime | None: ...
18
+ def async_schedule_action(self, key: Hashable, rate_limit: float | None, now: float, action: Callable[[Unpack[_Ts]], None], *args: Unpack[_Ts]) -> float | None: ...
@@ -0,0 +1,15 @@
1
+ import abc
2
+ from .storage import Store as Store
3
+ from abc import ABC, abstractmethod
4
+ from homeassistant.core import CoreState as CoreState, HomeAssistant as HomeAssistant, callback as callback
5
+ from typing import Any
6
+
7
+ SAVE_DELAY: int
8
+ SAVE_DELAY_LONG: int
9
+
10
+ class BaseRegistry(ABC, metaclass=abc.ABCMeta):
11
+ hass: HomeAssistant
12
+ _store: Store
13
+ def async_schedule_save(self) -> None: ...
14
+ @abstractmethod
15
+ def _data_to_save(self) -> dict[str, Any]: ...
@@ -6,9 +6,9 @@ from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from collections.abc import Callable as Callable, Coroutine, Mapping
8
8
  from dataclasses import dataclass
9
- from homeassistant import config_entries as config_entries
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
11
- from homeassistant.data_entry_flow import FlowResult as FlowResult, UnknownHandler as UnknownHandler
11
+ from homeassistant.data_entry_flow import UnknownHandler as UnknownHandler
12
12
  from typing import Any
13
13
 
14
14
  class SchemaFlowError(Exception): ...
@@ -41,15 +41,15 @@ class SchemaCommonFlowHandler:
41
41
  def options(self) -> dict[str, Any]: ...
42
42
  @property
43
43
  def flow_state(self) -> dict[str, Any]: ...
44
- async def async_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> FlowResult: ...
44
+ async def async_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
45
45
  async def _get_schema(self, form_step: SchemaFlowFormStep) -> vol.Schema | None: ...
46
- async def _async_form_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> FlowResult: ...
46
+ async def _async_form_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
47
  def _update_and_remove_omitted_optional_keys(self, values: dict[str, Any], user_input: dict[str, Any], data_schema: vol.Schema | None) -> None: ...
48
- async def _show_next_step_or_create_entry(self, form_step: SchemaFlowFormStep) -> FlowResult: ...
49
- async def _show_next_step(self, next_step_id: str, error: SchemaFlowError | None = None, user_input: dict[str, Any] | None = None) -> FlowResult: ...
50
- async def _async_menu_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> FlowResult: ...
48
+ async def _show_next_step_or_create_entry(self, form_step: SchemaFlowFormStep) -> ConfigFlowResult: ...
49
+ async def _show_next_step(self, next_step_id: str, error: SchemaFlowError | None = None, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
50
+ async def _async_menu_step(self, step_id: str, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
51
51
 
52
- class SchemaConfigFlowHandler(config_entries.ConfigFlow, ABC, metaclass=abc.ABCMeta):
52
+ class SchemaConfigFlowHandler(ConfigFlow, ABC, metaclass=abc.ABCMeta):
53
53
  config_flow: Mapping[str, SchemaFlowStep]
54
54
  options_flow: Mapping[str, SchemaFlowStep] | None
55
55
  VERSION: int
@@ -59,23 +59,23 @@ class SchemaConfigFlowHandler(config_entries.ConfigFlow, ABC, metaclass=abc.ABCM
59
59
  @staticmethod
60
60
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
61
61
  @classmethod
62
- def async_supports_options_flow(cls, config_entry: config_entries.ConfigEntry) -> bool: ...
62
+ def async_supports_options_flow(cls, config_entry: ConfigEntry) -> bool: ...
63
63
  @staticmethod
64
- def _async_step(step_id: str) -> Callable[[SchemaConfigFlowHandler, dict[str, Any] | None], Coroutine[Any, Any, FlowResult]]: ...
64
+ def _async_step(step_id: str) -> Callable[[SchemaConfigFlowHandler, dict[str, Any] | None], Coroutine[Any, Any, ConfigFlowResult]]: ...
65
65
  @abstractmethod
66
66
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
67
67
  def async_config_flow_finished(self, options: Mapping[str, Any]) -> None: ...
68
68
  @staticmethod
69
69
  def async_options_flow_finished(hass: HomeAssistant, options: Mapping[str, Any]) -> None: ...
70
- def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> FlowResult: ...
70
+ def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
71
71
 
72
- class SchemaOptionsFlowHandler(config_entries.OptionsFlowWithConfigEntry):
72
+ class SchemaOptionsFlowHandler(OptionsFlowWithConfigEntry):
73
73
  _common_handler: Incomplete
74
74
  _async_options_flow_finished: Incomplete
75
- def __init__(self, config_entry: config_entries.ConfigEntry, options_flow: Mapping[str, SchemaFlowStep], async_options_flow_finished: Callable[[HomeAssistant, Mapping[str, Any]], None] | None = None, async_setup_preview: Callable[[HomeAssistant], Coroutine[Any, Any, None]] | None = None) -> None: ...
75
+ def __init__(self, config_entry: ConfigEntry, options_flow: Mapping[str, SchemaFlowStep], async_options_flow_finished: Callable[[HomeAssistant, Mapping[str, Any]], None] | None = None, async_setup_preview: Callable[[HomeAssistant], Coroutine[Any, Any, None]] | None = None) -> None: ...
76
76
  @staticmethod
77
- def _async_step(step_id: str) -> Callable[[SchemaConfigFlowHandler, dict[str, Any] | None], Coroutine[Any, Any, FlowResult]]: ...
78
- def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> FlowResult: ...
77
+ def _async_step(step_id: str) -> Callable[[SchemaConfigFlowHandler, dict[str, Any] | None], Coroutine[Any, Any, ConfigFlowResult]]: ...
78
+ def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
79
79
 
80
80
  def wrapped_entity_config_entry_title(hass: HomeAssistant, entity_id_or_uuid: str) -> str: ...
81
81
  def entity_selector_without_own_entities(handler: SchemaOptionsFlowHandler, entity_selector_config: selector.EntitySelectorConfig) -> vol.Schema: ...
@@ -3,7 +3,7 @@ import logging
3
3
  import voluptuous as vol
4
4
  from . import condition as condition, service as service, template as template
5
5
  from .condition import ConditionCheckerType as ConditionCheckerType, trace_condition_function as trace_condition_function
6
- from .dispatcher import SignalType as SignalType, async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
6
+ from .dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
7
7
  from .event import async_call_later as async_call_later, async_track_template as async_track_template
8
8
  from .script_variables import ScriptVariables as ScriptVariables
9
9
  from .trace import TraceElement as TraceElement, async_trace_path as async_trace_path, script_execution_set as script_execution_set, trace_append_element as trace_append_element, trace_id_get as trace_id_get, trace_path as trace_path, trace_path_get as trace_path_get, trace_path_stack_cv as trace_path_stack_cv, trace_set_result as trace_set_result, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top, trace_update_result as trace_update_result
@@ -13,16 +13,18 @@ from _typeshed import Incomplete
13
13
  from collections.abc import AsyncGenerator, Callable as Callable, Mapping, Sequence
14
14
  from contextvars import ContextVar
15
15
  from dataclasses import dataclass
16
- from datetime import datetime
16
+ from datetime import datetime, timedelta
17
17
  from functools import cached_property as cached_property
18
18
  from homeassistant import exceptions as exceptions
19
19
  from homeassistant.components import scene as scene
20
20
  from homeassistant.components.logger import LOGSEVERITY as LOGSEVERITY
21
- from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ALIAS as CONF_ALIAS, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR_EACH as CONF_FOR_EACH, CONF_IF as CONF_IF, CONF_MODE as CONF_MODE, CONF_PARALLEL as CONF_PARALLEL, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_ON as SERVICE_TURN_ON
21
+ from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ALIAS as CONF_ALIAS, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR_EACH as CONF_FOR_EACH, CONF_IF as CONF_IF, CONF_MODE as CONF_MODE, CONF_PARALLEL as CONF_PARALLEL, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_ON as SERVICE_TURN_ON
22
22
  from homeassistant.core import Context as Context, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
23
23
  from homeassistant.util import slugify as slugify
24
+ from homeassistant.util.async_ import create_eager_task as create_eager_task
24
25
  from homeassistant.util.dt import utcnow as utcnow
25
- from typing import Any, TypeVar, TypedDict
26
+ from homeassistant.util.signal_type import SignalType as SignalType, SignalTypeFormat as SignalTypeFormat
27
+ from typing import Any, Literal, TypeVar, TypedDict
26
28
 
27
29
  _T = TypeVar('_T')
28
30
  SCRIPT_MODE_PARALLEL: str
@@ -49,12 +51,15 @@ _TIMEOUT_MSG: str
49
51
  _SHUTDOWN_MAX_WAIT: int
50
52
  ACTION_TRACE_NODE_MAX_LEN: int
51
53
  SCRIPT_BREAKPOINT_HIT: Incomplete
52
- SCRIPT_DEBUG_CONTINUE_STOP: str
54
+ SCRIPT_DEBUG_CONTINUE_STOP: SignalTypeFormat[Literal['continue', 'stop']]
53
55
  SCRIPT_DEBUG_CONTINUE_ALL: str
54
56
  script_stack_cv: ContextVar[list[int] | None]
55
57
 
58
+ class ScriptStoppedError(Exception): ...
59
+
60
+ def _set_result_unless_done(future: asyncio.Future[None]) -> None: ...
56
61
  def action_trace_append(variables, path): ...
57
- async def trace_action(hass: HomeAssistant, script_run: _ScriptRun, stop: asyncio.Event, variables: dict[str, Any]) -> AsyncGenerator[TraceElement, None]: ...
62
+ async def trace_action(hass: HomeAssistant, script_run: _ScriptRun, stop: asyncio.Future[None], variables: dict[str, Any]) -> AsyncGenerator[TraceElement, None]: ...
58
63
  def make_script_schema(schema: Mapping[Any, Any], default_script_mode: str, extra: int = ...) -> vol.Schema: ...
59
64
 
60
65
  STATIC_VALIDATION_ACTION_TYPES: Incomplete
@@ -78,6 +83,7 @@ class _ScriptRun:
78
83
  _context: Incomplete
79
84
  _log_exceptions: Incomplete
80
85
  _step: int
86
+ _started: bool
81
87
  _stop: Incomplete
82
88
  _stopped: Incomplete
83
89
  _conversation_response: Incomplete
@@ -92,9 +98,11 @@ class _ScriptRun:
92
98
  async def async_stop(self) -> None: ...
93
99
  def _handle_exception(self, exception: Exception, continue_on_error: bool, log_exceptions: bool) -> None: ...
94
100
  def _log_exception(self, exception) -> None: ...
95
- def _get_pos_time_period_template(self, key): ...
101
+ def _get_pos_time_period_template(self, key: str) -> timedelta: ...
96
102
  async def _async_delay_step(self) -> None: ...
103
+ def _get_timeout_seconds_from_action(self) -> float | None: ...
97
104
  async def _async_wait_template_step(self) -> None: ...
105
+ def _async_set_remaining_time_var(self, timeout_handle: asyncio.TimerHandle | None) -> None: ...
98
106
  async def _async_run_long_action(self, long_task: asyncio.Task[_T]) -> _T | None: ...
99
107
  async def _async_call_service_step(self) -> None: ...
100
108
  async def _async_device_step(self) -> None: ...
@@ -105,7 +113,9 @@ class _ScriptRun:
105
113
  async def _async_repeat_step(self) -> None: ...
106
114
  async def _async_choose_step(self) -> None: ...
107
115
  async def _async_if_step(self) -> None: ...
116
+ def _async_futures_with_timeout(self, timeout: float | None) -> tuple[list[asyncio.Future[None]], asyncio.TimerHandle | None, asyncio.Future[None] | None]: ...
108
117
  async def _async_wait_for_trigger_step(self) -> None: ...
118
+ async def _async_wait_with_optional_timeout(self, futures: list[asyncio.Future[None]], timeout_handle: asyncio.TimerHandle | None, timeout_future: asyncio.Future[None] | None, unsub: Callable[[], None]) -> None: ...
109
119
  async def _async_variables_step(self) -> None: ...
110
120
  async def _async_set_conversation_response_step(self) -> None: ...
111
121
  async def _async_stop_step(self) -> None: ...
@@ -183,9 +193,13 @@ class Script:
183
193
  @property
184
194
  def supports_max(self) -> bool: ...
185
195
  @cached_property
196
+ def referenced_labels(self) -> set[str]: ...
197
+ @cached_property
198
+ def referenced_floors(self) -> set[str]: ...
199
+ @cached_property
186
200
  def referenced_areas(self) -> set[str]: ...
187
201
  @staticmethod
188
- def _find_referenced_areas(referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
202
+ def _find_referenced_target(target: Literal['area_id', 'floor_id', 'label_id'], referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
189
203
  @cached_property
190
204
  def referenced_devices(self) -> set[str]: ...
191
205
  @staticmethod
@@ -241,6 +241,17 @@ class EntitySelector(Selector[EntitySelectorConfig]):
241
241
  def __init__(self, config: EntitySelectorConfig | None = None) -> None: ...
242
242
  def __call__(self, data: Any) -> str | list[str]: ...
243
243
 
244
+ class FloorSelectorConfig(TypedDict, total=False):
245
+ entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
246
+ device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
247
+ multiple: bool
248
+
249
+ class FloorSelector(Selector[AreaSelectorConfig]):
250
+ selector_type: str
251
+ CONFIG_SCHEMA: Incomplete
252
+ def __init__(self, config: FloorSelectorConfig | None = None) -> None: ...
253
+ def __call__(self, data: Any) -> str | list[str]: ...
254
+
244
255
  class IconSelectorConfig(TypedDict, total=False):
245
256
  placeholder: str
246
257
 
@@ -250,6 +261,15 @@ class IconSelector(Selector[IconSelectorConfig]):
250
261
  def __init__(self, config: IconSelectorConfig | None = None) -> None: ...
251
262
  def __call__(self, data: Any) -> str: ...
252
263
 
264
+ class LabelSelectorConfig(TypedDict, total=False):
265
+ multiple: bool
266
+
267
+ class LabelSelector(Selector[LabelSelectorConfig]):
268
+ selector_type: str
269
+ CONFIG_SCHEMA: Incomplete
270
+ def __init__(self, config: LabelSelectorConfig | None = None) -> None: ...
271
+ def __call__(self, data: Any) -> str | list[str]: ...
272
+
253
273
  class LanguageSelectorConfig(TypedDict, total=False):
254
274
  languages: list[str]
255
275
  native_name: bool
@@ -1,6 +1,6 @@
1
1
  import dataclasses
2
2
  import voluptuous as vol
3
- from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, template as template, translation as translation
3
+ from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry, label_registry as label_registry, template as template, translation as translation
4
4
  from .entity import Entity as Entity
5
5
  from .group import expand_entity_ids as expand_entity_ids
6
6
  from .selector import TargetSelector as TargetSelector
@@ -8,7 +8,7 @@ from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsTy
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Awaitable, Callable as Callable, Iterable
10
10
  from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
11
- from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_TARGET as CONF_TARGET, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
11
+ from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_TARGET as CONF_TARGET, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
12
12
  from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
13
13
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
14
14
  from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, bind_hass as bind_hass
@@ -44,6 +44,8 @@ class ServiceTargetSelector:
44
44
  entity_ids: Incomplete
45
45
  device_ids: Incomplete
46
46
  area_ids: Incomplete
47
+ floor_ids: Incomplete
48
+ label_ids: Incomplete
47
49
  def __init__(self, service_call: ServiceCall) -> None: ...
48
50
  @property
49
51
  def has_any_selector(self) -> bool: ...
@@ -54,9 +56,12 @@ class SelectedEntities:
54
56
  indirectly_referenced: set[str] = ...
55
57
  missing_devices: set[str] = ...
56
58
  missing_areas: set[str] = ...
59
+ missing_floors: set[str] = ...
60
+ missing_labels: set[str] = ...
57
61
  referenced_devices: set[str] = ...
62
+ referenced_areas: set[str] = ...
58
63
  def log_missing(self, missing_entities: set[str]) -> None: ...
59
- def __init__(self, referenced, indirectly_referenced, missing_devices, missing_areas, referenced_devices) -> None: ...
64
+ def __init__(self, referenced, indirectly_referenced, missing_devices, missing_areas, missing_floors, missing_labels, referenced_devices, referenced_areas) -> None: ...
60
65
 
61
66
  def call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = False, variables: TemplateVarsType = None, validate_config: bool = True) -> None: ...
62
67
  async def async_call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = False, variables: TemplateVarsType = None, validate_config: bool = True, context: Context | None = None) -> None: ...
@@ -75,7 +80,7 @@ def async_set_service_schema(hass: HomeAssistant, domain: str, service: str, sch
75
80
  def _get_permissible_entity_candidates(call: ServiceCall, entities: dict[str, Entity], entity_perms: None | Callable[[str, str], bool], target_all_entities: bool, all_referenced: set[str] | None) -> list[Entity]: ...
76
81
  async def entity_service_call(hass: HomeAssistant, registered_entities: dict[str, Entity], func: str | HassJob, call: ServiceCall, required_features: Iterable[int] | None = None) -> EntityServiceResponse | None: ...
77
82
  async def _handle_entity_call(hass: HomeAssistant, entity: Entity, func: str | HassJob, data: dict | ServiceCall, context: Context) -> ServiceResponse: ...
78
- async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[None], Callable[[ServiceCall], Awaitable[None] | None]], call: ServiceCall) -> None: ...
83
+ async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall], Awaitable[None] | None], call: ServiceCall) -> None: ...
79
84
  def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Awaitable[None] | None], schema: vol.Schema = ...) -> None: ...
80
85
  def verify_domain_control(hass: HomeAssistant, domain: str) -> Callable[[Callable[[ServiceCall], Any]], Callable[[ServiceCall], Any]]: ...
81
86
 
@@ -1,20 +1,43 @@
1
1
  from _typeshed import Incomplete
2
- from collections.abc import Callable as Callable, Mapping, Sequence
2
+ from collections.abc import Callable as Callable, Iterable, Mapping, Sequence
3
3
  from functools import cached_property as cached_property
4
- from homeassistant.const import EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE
4
+ from homeassistant.const import EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
5
5
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
- from homeassistant.loader import MAX_LOAD_CONCURRENTLY as MAX_LOAD_CONCURRENTLY, bind_hass as bind_hass
7
+ from homeassistant.loader import bind_hass as bind_hass
8
+ from homeassistant.util import json as json_util
8
9
  from homeassistant.util.file import WriteError as WriteError
9
10
  from json import JSONEncoder
10
11
  from typing import Any, Generic, TypeVar
11
12
 
13
+ MAX_LOAD_CONCURRENTLY: int
12
14
  STORAGE_DIR: str
13
15
  _LOGGER: Incomplete
14
16
  STORAGE_SEMAPHORE: str
17
+ STORAGE_MANAGER: str
18
+ MANAGER_CLEANUP_DELAY: int
15
19
  _T = TypeVar('_T', bound=Mapping[str, Any] | Sequence[Any])
16
20
 
17
21
  async def async_migrator(hass: HomeAssistant, old_path: str, store: Store[_T], *, old_conf_load_func: Callable | None = None, old_conf_migrate_func: Callable | None = None) -> _T | None: ...
22
+ def get_internal_store_manager(hass: HomeAssistant, config_dir: str | None = None) -> _StoreManager: ...
23
+
24
+ class _StoreManager:
25
+ _hass: Incomplete
26
+ _invalidated: Incomplete
27
+ _files: Incomplete
28
+ _data_preload: Incomplete
29
+ _storage_path: Incomplete
30
+ _cancel_cleanup: Incomplete
31
+ def __init__(self, hass: HomeAssistant, config_dir: str) -> None: ...
32
+ async def async_initialize(self) -> None: ...
33
+ def async_invalidate(self, key: str) -> None: ...
34
+ def async_fetch(self, key: str) -> tuple[bool, json_util.JsonValueType | None] | None: ...
35
+ def _async_schedule_cleanup(self, _event: Event) -> None: ...
36
+ def _async_cancel_and_cleanup(self, _event: Event) -> None: ...
37
+ def _async_cleanup(self) -> None: ...
38
+ async def async_preload(self, keys: Iterable[str]) -> None: ...
39
+ def _preload(self, keys: Iterable[str]) -> None: ...
40
+ def _initialize_files(self) -> None: ...
18
41
 
19
42
  class Store(Generic[_T]):
20
43
  version: Incomplete
@@ -31,7 +54,8 @@ class Store(Generic[_T]):
31
54
  _atomic_writes: Incomplete
32
55
  _read_only: Incomplete
33
56
  _next_write_time: float
34
- def __init__(self, hass: HomeAssistant, version: int, key: str, private: bool = False, *, atomic_writes: bool = False, encoder: type[JSONEncoder] | None = None, minor_version: int = 1, read_only: bool = False) -> None: ...
57
+ _manager: Incomplete
58
+ def __init__(self, hass: HomeAssistant, version: int, key: str, private: bool = False, *, atomic_writes: bool = False, encoder: type[JSONEncoder] | None = None, minor_version: int = 1, read_only: bool = False, config_dir: str | None = None) -> None: ...
35
59
  @cached_property
36
60
  def path(self): ...
37
61
  async def async_load(self) -> _T | None: ...
@@ -1,3 +1,4 @@
1
+ from .importlib import async_import_module as async_import_module
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.core import HomeAssistant as HomeAssistant
3
4
  from homeassistant.loader import bind_hass as bind_hass
@@ -1,5 +1,5 @@
1
1
  import jinja2
2
- from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry
2
+ from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, issue_registry as issue_registry, label_registry as label_registry
3
3
  from .singleton import singleton as singleton
4
4
  from .translation import async_translate_state as async_translate_state
5
5
  from .typing import TemplateVarsType as TemplateVarsType
@@ -38,8 +38,8 @@ _COLLECTABLE_STATE_ATTRIBUTES: Incomplete
38
38
  _T = TypeVar('_T')
39
39
  _R = TypeVar('_R')
40
40
  _P = ParamSpec('_P')
41
- ALL_STATES_RATE_LIMIT: Incomplete
42
- DOMAIN_STATES_RATE_LIMIT: Incomplete
41
+ ALL_STATES_RATE_LIMIT: int
42
+ DOMAIN_STATES_RATE_LIMIT: int
43
43
  _render_info: ContextVar[RenderInfo | None]
44
44
  template_cv: ContextVar[tuple[str, str] | None]
45
45
  CACHED_TEMPLATE_STATES: int
@@ -189,6 +189,8 @@ class TemplateStateBase(State):
189
189
  @property
190
190
  def last_changed(self) -> datetime: ...
191
191
  @property
192
+ def last_reported(self) -> datetime: ...
193
+ @property
192
194
  def last_updated(self) -> datetime: ...
193
195
  @property
194
196
  def context(self) -> Context: ...
@@ -235,12 +237,25 @@ def config_entry_id(hass: HomeAssistant, entity_id: str) -> str | None: ...
235
237
  def device_id(hass: HomeAssistant, entity_id_or_device_name: str) -> str | None: ...
236
238
  def device_attr(hass: HomeAssistant, device_or_entity_id: str, attr_name: str) -> Any: ...
237
239
  def is_device_attr(hass: HomeAssistant, device_or_entity_id: str, attr_name: str, attr_value: Any) -> bool: ...
240
+ def issues(hass: HomeAssistant) -> dict[tuple[str, str], dict[str, Any]]: ...
241
+ def issue(hass: HomeAssistant, domain: str, issue_id: str) -> dict[str, Any] | None: ...
242
+ def floors(hass: HomeAssistant) -> Iterable[str | None]: ...
243
+ def floor_id(hass: HomeAssistant, lookup_value: Any) -> str | None: ...
244
+ def floor_name(hass: HomeAssistant, lookup_value: str) -> str | None: ...
245
+ def floor_areas(hass: HomeAssistant, floor_id_or_name: str) -> Iterable[str]: ...
238
246
  def areas(hass: HomeAssistant) -> Iterable[str | None]: ...
239
247
  def area_id(hass: HomeAssistant, lookup_value: str) -> str | None: ...
240
248
  def _get_area_name(area_reg: area_registry.AreaRegistry, valid_area_id: str) -> str: ...
241
249
  def area_name(hass: HomeAssistant, lookup_value: str) -> str | None: ...
242
250
  def area_entities(hass: HomeAssistant, area_id_or_name: str) -> Iterable[str]: ...
243
251
  def area_devices(hass: HomeAssistant, area_id_or_name: str) -> Iterable[str]: ...
252
+ def labels(hass: HomeAssistant, lookup_value: Any = None) -> Iterable[str | None]: ...
253
+ def label_id(hass: HomeAssistant, lookup_value: Any) -> str | None: ...
254
+ def label_name(hass: HomeAssistant, lookup_value: str) -> str | None: ...
255
+ def _label_id_or_name(hass: HomeAssistant, label_id_or_name: str) -> str | None: ...
256
+ def label_areas(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
257
+ def label_devices(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
258
+ def label_entities(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
244
259
  def closest(hass, *args): ...
245
260
  def closest_filter(hass, *args): ...
246
261
  def distance(hass, *args): ...
@@ -1,7 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Iterable
3
3
  from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
4
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
4
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
5
5
  from homeassistant.loader import Integration as Integration, async_get_config_flows as async_get_config_flows, async_get_integrations as async_get_integrations, bind_hass as bind_hass
6
6
  from homeassistant.util.json import load_json as load_json
7
7
  from typing import Any
@@ -42,4 +42,5 @@ def _async_get_components(hass: HomeAssistant, category: str) -> set[str]: ...
42
42
  def async_setup(hass: HomeAssistant) -> None: ...
43
43
  async def async_load_integrations(hass: HomeAssistant, integrations: set[str]) -> None: ...
44
44
  def async_translations_loaded(hass: HomeAssistant, components: set[str]) -> bool: ...
45
+ def async_get_exception_message(translation_domain: str, translation_key: str, translation_placeholders: dict[str, str] | None = None) -> str: ...
45
46
  def async_translate_state(hass: HomeAssistant, state: str, domain: str, platform: str | None, translation_key: str | None, device_class: str | None) -> str: ...
@@ -7,6 +7,7 @@ from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_ENABLED as CONF_E
7
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback, is_callback as is_callback
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
10
+ from homeassistant.util.async_ import create_eager_task as create_eager_task
10
11
  from typing import Any, Protocol, TypedDict
11
12
 
12
13
  _PLATFORM_ALIASES: Incomplete
@@ -1,8 +1,7 @@
1
1
  import homeassistant
2
- import homeassistant.core
3
2
  from _typeshed import Incomplete
4
3
  from enum import Enum
5
- from typing import Any, Generic, TypeVar
4
+ from typing import Any, TypeVar
6
5
 
7
6
  _DataT = TypeVar('_DataT')
8
7
  GPSType = tuple[float, float]
@@ -18,8 +17,6 @@ class UndefinedType(Enum):
18
17
  _singleton: int
19
18
 
20
19
  UNDEFINED: Incomplete
20
+ EventType = homeassistant.core.Event
21
21
  HomeAssistantType = homeassistant.core.HomeAssistant
22
22
  ServiceCallType = homeassistant.core.ServiceCall
23
-
24
- class EventType(homeassistant.core.Event, Generic[_DataT]):
25
- data: _DataT
@@ -8,16 +8,17 @@ from collections.abc import Awaitable, Callable as Callable, Coroutine, Generato
8
8
  from datetime import datetime, timedelta
9
9
  from homeassistant import config_entries as config_entries
10
10
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
11
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
13
13
  from homeassistant.util.dt import utcnow as utcnow
14
- from typing import Any, Generic, Protocol, TypeVar
14
+ from typing import Any, Generic, Protocol
15
+ from typing_extensions import TypeVar
15
16
 
16
17
  REQUEST_REFRESH_DEFAULT_COOLDOWN: int
17
18
  REQUEST_REFRESH_DEFAULT_IMMEDIATE: bool
18
- _DataT = TypeVar('_DataT')
19
+ _DataT = TypeVar('_DataT', default=dict[str, Any])
19
20
  _BaseDataUpdateCoordinatorT = TypeVar('_BaseDataUpdateCoordinatorT', bound='BaseDataUpdateCoordinatorProtocol')
20
- _DataUpdateCoordinatorT = TypeVar('_DataUpdateCoordinatorT', bound='DataUpdateCoordinator[Any]')
21
+ _DataUpdateCoordinatorT = TypeVar('_DataUpdateCoordinatorT', bound='DataUpdateCoordinator[Any]', default='DataUpdateCoordinator[dict[str, Any]]')
21
22
 
22
23
  class UpdateFailed(Exception): ...
23
24
 
@@ -36,7 +37,6 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
36
37
  data: Incomplete
37
38
  _microsecond: Incomplete
38
39
  _listeners: Incomplete
39
- _job: Incomplete
40
40
  _unsub_refresh: Incomplete
41
41
  _unsub_shutdown: Incomplete
42
42
  _request_refresh_task: Incomplete