homeassistant-stubs 2025.1.2__py3-none-any.whl → 2025.1.3__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 (1170) hide show
  1. homeassistant-stubs/auth/__init__.pyi +15 -0
  2. homeassistant-stubs/auth/auth_store.pyi +10 -0
  3. homeassistant-stubs/auth/mfa_modules/notify.pyi +1 -0
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -0
  5. homeassistant-stubs/auth/providers/homeassistant.pyi +6 -0
  6. homeassistant-stubs/auth/providers/insecure_example.pyi +1 -0
  7. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -0
  8. homeassistant-stubs/bootstrap.pyi +1 -0
  9. homeassistant-stubs/components/acaia/sensor.pyi +1 -0
  10. homeassistant-stubs/components/accuweather/sensor.pyi +2 -0
  11. homeassistant-stubs/components/accuweather/system_health.pyi +1 -0
  12. homeassistant-stubs/components/accuweather/weather.pyi +1 -0
  13. homeassistant-stubs/components/acmeda/entity.pyi +1 -0
  14. homeassistant-stubs/components/acmeda/helpers.pyi +1 -0
  15. homeassistant-stubs/components/air_quality/__init__.pyi +2 -1
  16. homeassistant-stubs/components/airly/sensor.pyi +1 -0
  17. homeassistant-stubs/components/airly/system_health.pyi +1 -0
  18. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  19. homeassistant-stubs/components/airq/config_flow.pyi +1 -0
  20. homeassistant-stubs/components/airq/sensor.pyi +1 -0
  21. homeassistant-stubs/components/airthings_ble/sensor.pyi +1 -0
  22. homeassistant-stubs/components/airtouch5/climate.pyi +2 -0
  23. homeassistant-stubs/components/airtouch5/cover.pyi +1 -0
  24. homeassistant-stubs/components/airtouch5/entity.pyi +1 -0
  25. homeassistant-stubs/components/airvisual/__init__.pyi +5 -0
  26. homeassistant-stubs/components/airvisual/config_flow.pyi +1 -0
  27. homeassistant-stubs/components/airvisual/entity.pyi +1 -0
  28. homeassistant-stubs/components/airvisual/sensor.pyi +1 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +1 -0
  30. homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -0
  31. homeassistant-stubs/components/airzone/climate.pyi +2 -0
  32. homeassistant-stubs/components/airzone/select.pyi +2 -0
  33. homeassistant-stubs/components/airzone/sensor.pyi +2 -0
  34. homeassistant-stubs/components/airzone/switch.pyi +2 -0
  35. homeassistant-stubs/components/airzone/water_heater.pyi +2 -0
  36. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -0
  37. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -0
  38. homeassistant-stubs/components/airzone_cloud/select.pyi +2 -0
  39. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -0
  40. homeassistant-stubs/components/airzone_cloud/switch.pyi +2 -0
  41. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -0
  42. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +17 -1
  43. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +1 -0
  44. homeassistant-stubs/components/alarm_control_panel/significant_change.pyi +1 -0
  45. homeassistant-stubs/components/alexa/auth.pyi +2 -0
  46. homeassistant-stubs/components/alexa/config.pyi +5 -0
  47. homeassistant-stubs/components/alexa/diagnostics.pyi +2 -0
  48. homeassistant-stubs/components/alexa/entities.pyi +1 -0
  49. homeassistant-stubs/components/alexa/flash_briefings.pyi +2 -0
  50. homeassistant-stubs/components/alexa/intent.pyi +1 -0
  51. homeassistant-stubs/components/alexa/logbook.pyi +1 -0
  52. homeassistant-stubs/components/alexa/smart_home.pyi +3 -0
  53. homeassistant-stubs/components/ambient_network/entity.pyi +1 -0
  54. homeassistant-stubs/components/ambient_station/__init__.pyi +2 -0
  55. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -0
  56. homeassistant-stubs/components/ambient_station/entity.pyi +2 -0
  57. homeassistant-stubs/components/ambient_station/sensor.pyi +1 -0
  58. homeassistant-stubs/components/amcrest/__init__.pyi +8 -0
  59. homeassistant-stubs/components/amcrest/binary_sensor.pyi +2 -0
  60. homeassistant-stubs/components/amcrest/camera.pyi +1 -0
  61. homeassistant-stubs/components/analytics/__init__.pyi +4 -0
  62. homeassistant-stubs/components/analytics/analytics.pyi +1 -0
  63. homeassistant-stubs/components/analytics_insights/config_flow.pyi +1 -0
  64. homeassistant-stubs/components/androidtv/config_flow.pyi +6 -0
  65. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +3 -0
  66. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -0
  67. homeassistant-stubs/components/androidtv_remote/media_player.pyi +2 -0
  68. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -0
  69. homeassistant-stubs/components/anthemav/media_player.pyi +1 -0
  70. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -0
  71. homeassistant-stubs/components/api/__init__.pyi +16 -0
  72. homeassistant-stubs/components/apple_tv/__init__.pyi +1 -0
  73. homeassistant-stubs/components/apple_tv/config_flow.pyi +3 -0
  74. homeassistant-stubs/components/apple_tv/media_player.pyi +7 -0
  75. homeassistant-stubs/components/aqualogic/sensor.pyi +1 -0
  76. homeassistant-stubs/components/aquostv/media_player.pyi +12 -0
  77. homeassistant-stubs/components/arcam_fmj/media_player.pyi +9 -0
  78. homeassistant-stubs/components/assist_pipeline/logbook.pyi +1 -0
  79. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +13 -0
  80. homeassistant-stubs/components/assist_pipeline/select.pyi +3 -0
  81. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +11 -0
  82. homeassistant-stubs/components/assist_satellite/entity.pyi +8 -1
  83. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +7 -0
  84. homeassistant-stubs/components/asuswrt/config_flow.pyi +2 -0
  85. homeassistant-stubs/components/asuswrt/device_tracker.pyi +2 -0
  86. homeassistant-stubs/components/asuswrt/router.pyi +1 -0
  87. homeassistant-stubs/components/auth/__init__.pyi +10 -0
  88. homeassistant-stubs/components/auth/login_flow.pyi +3 -0
  89. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +3 -0
  90. homeassistant-stubs/components/automation/__init__.pyi +15 -0
  91. homeassistant-stubs/components/automation/helpers.pyi +1 -0
  92. homeassistant-stubs/components/automation/logbook.pyi +1 -0
  93. homeassistant-stubs/components/automation/trace.pyi +2 -0
  94. homeassistant-stubs/components/awair/config_flow.pyi +1 -0
  95. homeassistant-stubs/components/axis/binary_sensor.pyi +10 -0
  96. homeassistant-stubs/components/axis/config_flow.pyi +1 -0
  97. homeassistant-stubs/components/axis/entity.pyi +2 -0
  98. homeassistant-stubs/components/axis/hub/entity_loader.pyi +3 -0
  99. homeassistant-stubs/components/axis/hub/event_source.pyi +5 -0
  100. homeassistant-stubs/components/axis/hub/hub.pyi +2 -0
  101. homeassistant-stubs/components/axis/light.pyi +2 -0
  102. homeassistant-stubs/components/axis/switch.pyi +1 -0
  103. homeassistant-stubs/components/backup/agent.pyi +1 -0
  104. homeassistant-stubs/components/backup/config.pyi +5 -0
  105. homeassistant-stubs/components/backup/http.pyi +2 -0
  106. homeassistant-stubs/components/backup/manager.pyi +4 -0
  107. homeassistant-stubs/components/backup/store.pyi +2 -0
  108. homeassistant-stubs/components/backup/websocket.pyi +23 -0
  109. homeassistant-stubs/components/baf/binary_sensor.pyi +1 -0
  110. homeassistant-stubs/components/baf/climate.pyi +1 -0
  111. homeassistant-stubs/components/baf/entity.pyi +2 -0
  112. homeassistant-stubs/components/baf/fan.pyi +1 -0
  113. homeassistant-stubs/components/baf/light.pyi +2 -0
  114. homeassistant-stubs/components/baf/number.pyi +1 -0
  115. homeassistant-stubs/components/baf/sensor.pyi +1 -0
  116. homeassistant-stubs/components/baf/switch.pyi +1 -0
  117. homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -0
  118. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -0
  119. homeassistant-stubs/components/bayesian/binary_sensor.pyi +1 -0
  120. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -1
  121. homeassistant-stubs/components/binary_sensor/device_condition.pyi +1 -0
  122. homeassistant-stubs/components/binary_sensor/significant_change.pyi +1 -0
  123. homeassistant-stubs/components/blue_current/entity.pyi +1 -0
  124. homeassistant-stubs/components/blue_current/sensor.pyi +3 -0
  125. homeassistant-stubs/components/blueprint/models.pyi +2 -0
  126. homeassistant-stubs/components/blueprint/schemas.pyi +2 -0
  127. homeassistant-stubs/components/blueprint/websocket_api.pyi +9 -0
  128. homeassistant-stubs/components/bluetooth/__init__.pyi +1 -0
  129. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +3 -0
  130. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +2 -0
  131. homeassistant-stubs/components/bluetooth/api.pyi +17 -1
  132. homeassistant-stubs/components/bluetooth/config_flow.pyi +3 -0
  133. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  134. homeassistant-stubs/components/bluetooth/match.pyi +1 -0
  135. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +4 -0
  136. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +13 -0
  137. homeassistant-stubs/components/bluetooth/storage.pyi +4 -0
  138. homeassistant-stubs/components/bluetooth/update_coordinator.pyi +5 -0
  139. homeassistant-stubs/components/bluetooth/util.pyi +2 -0
  140. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  141. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  142. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +1 -0
  143. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  144. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  145. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  146. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  147. homeassistant-stubs/components/bond/entity.pyi +4 -0
  148. homeassistant-stubs/components/bond/light.pyi +1 -0
  149. homeassistant-stubs/components/braviatv/coordinator.pyi +16 -0
  150. homeassistant-stubs/components/brother/sensor.pyi +1 -0
  151. homeassistant-stubs/components/bthome/event.pyi +1 -0
  152. homeassistant-stubs/components/bthome/logbook.pyi +1 -0
  153. homeassistant-stubs/components/button/__init__.pyi +3 -0
  154. homeassistant-stubs/components/calendar/__init__.pyi +7 -1
  155. homeassistant-stubs/components/calendar/trigger.pyi +2 -0
  156. homeassistant-stubs/components/cambridge_audio/media_player.pyi +17 -0
  157. homeassistant-stubs/components/cambridge_audio/select.pyi +1 -0
  158. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -0
  159. homeassistant-stubs/components/camera/__init__.pyi +19 -1
  160. homeassistant-stubs/components/camera/significant_change.pyi +1 -0
  161. homeassistant-stubs/components/camera/webrtc.pyi +11 -0
  162. homeassistant-stubs/components/canary/config_flow.pyi +1 -0
  163. homeassistant-stubs/components/climate/__init__.pyi +10 -1
  164. homeassistant-stubs/components/climate/device_condition.pyi +1 -0
  165. homeassistant-stubs/components/climate/significant_change.pyi +1 -0
  166. homeassistant-stubs/components/cloud/__init__.pyi +13 -0
  167. homeassistant-stubs/components/cloud/account_link.pyi +1 -0
  168. homeassistant-stubs/components/cloud/alexa_config.pyi +4 -0
  169. homeassistant-stubs/components/cloud/backup.pyi +2 -0
  170. homeassistant-stubs/components/cloud/client.pyi +2 -0
  171. homeassistant-stubs/components/cloud/google_config.pyi +4 -0
  172. homeassistant-stubs/components/cloud/http_api.pyi +58 -0
  173. homeassistant-stubs/components/cloud/prefs.pyi +2 -0
  174. homeassistant-stubs/components/cloud/repairs.pyi +1 -0
  175. homeassistant-stubs/components/cloud/system_health.pyi +1 -0
  176. homeassistant-stubs/components/cloud/tts.pyi +4 -0
  177. homeassistant-stubs/components/config/area_registry.pyi +8 -0
  178. homeassistant-stubs/components/config/auth.pyi +9 -0
  179. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +10 -0
  180. homeassistant-stubs/components/config/automation.pyi +1 -0
  181. homeassistant-stubs/components/config/category_registry.pyi +9 -0
  182. homeassistant-stubs/components/config/config_entries.pyi +12 -0
  183. homeassistant-stubs/components/config/core.pyi +6 -0
  184. homeassistant-stubs/components/config/device_registry.pyi +6 -0
  185. homeassistant-stubs/components/config/entity_registry.pyi +9 -0
  186. homeassistant-stubs/components/config/floor_registry.pyi +9 -0
  187. homeassistant-stubs/components/config/label_registry.pyi +9 -0
  188. homeassistant-stubs/components/config/scene.pyi +1 -0
  189. homeassistant-stubs/components/config/script.pyi +1 -0
  190. homeassistant-stubs/components/config/view.pyi +3 -0
  191. homeassistant-stubs/components/configurator/__init__.pyi +13 -1
  192. homeassistant-stubs/components/counter/__init__.pyi +5 -0
  193. homeassistant-stubs/components/cover/__init__.pyi +4 -1
  194. homeassistant-stubs/components/cover/device_condition.pyi +1 -0
  195. homeassistant-stubs/components/cover/significant_change.pyi +1 -0
  196. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -0
  197. homeassistant-stubs/components/crownstone/entry_manager.pyi +1 -0
  198. homeassistant-stubs/components/crownstone/listeners.pyi +2 -0
  199. homeassistant-stubs/components/date/__init__.pyi +4 -0
  200. homeassistant-stubs/components/datetime/__init__.pyi +4 -0
  201. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +1 -0
  202. homeassistant-stubs/components/deconz/config_flow.pyi +2 -0
  203. homeassistant-stubs/components/deconz/deconz_event.pyi +7 -0
  204. homeassistant-stubs/components/deconz/entity.pyi +2 -0
  205. homeassistant-stubs/components/deconz/fan.pyi +1 -0
  206. homeassistant-stubs/components/deconz/hub/hub.pyi +5 -0
  207. homeassistant-stubs/components/deconz/light.pyi +1 -0
  208. homeassistant-stubs/components/deconz/logbook.pyi +1 -0
  209. homeassistant-stubs/components/deconz/sensor.pyi +1 -0
  210. homeassistant-stubs/components/deconz/services.pyi +1 -0
  211. homeassistant-stubs/components/demo/config_flow.pyi +1 -0
  212. homeassistant-stubs/components/demo/cover.pyi +2 -0
  213. homeassistant-stubs/components/demo/event.pyi +1 -0
  214. homeassistant-stubs/components/demo/sensor.pyi +1 -0
  215. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  216. homeassistant-stubs/components/device_automation/__init__.pyi +15 -0
  217. homeassistant-stubs/components/device_automation/toggle_entity.pyi +1 -0
  218. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -0
  219. homeassistant-stubs/components/device_tracker/config_entry.pyi +8 -0
  220. homeassistant-stubs/components/device_tracker/device_condition.pyi +1 -0
  221. homeassistant-stubs/components/device_tracker/legacy.pyi +5 -1
  222. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -0
  223. homeassistant-stubs/components/devolo_home_network/__init__.pyi +2 -0
  224. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -0
  225. homeassistant-stubs/components/dhcp/__init__.pyi +13 -0
  226. homeassistant-stubs/components/diagnostics/__init__.pyi +2 -2
  227. homeassistant-stubs/components/discovergy/system_health.pyi +1 -0
  228. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  229. homeassistant-stubs/components/dlna_dmr/media_player.pyi +12 -0
  230. homeassistant-stubs/components/dlna_dms/dms.pyi +6 -0
  231. homeassistant-stubs/components/dnsip/config_flow.pyi +1 -0
  232. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -0
  233. homeassistant-stubs/components/doorbird/event.pyi +1 -0
  234. homeassistant-stubs/components/doorbird/logbook.pyi +1 -0
  235. homeassistant-stubs/components/doorbird/util.pyi +1 -0
  236. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +1 -0
  237. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +3 -0
  238. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +1 -0
  239. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +1 -0
  240. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  241. homeassistant-stubs/components/dsmr/config_flow.pyi +1 -0
  242. homeassistant-stubs/components/dsmr/sensor.pyi +1 -0
  243. homeassistant-stubs/components/duckdns/__init__.pyi +2 -0
  244. homeassistant-stubs/components/duotecno/climate.pyi +3 -0
  245. homeassistant-stubs/components/duotecno/cover.pyi +3 -0
  246. homeassistant-stubs/components/duotecno/light.pyi +2 -0
  247. homeassistant-stubs/components/duotecno/switch.pyi +2 -0
  248. homeassistant-stubs/components/easyenergy/services.pyi +1 -0
  249. homeassistant-stubs/components/ecovacs/util.pyi +2 -0
  250. homeassistant-stubs/components/eheimdigital/entity.pyi +1 -0
  251. homeassistant-stubs/components/elgato/config_flow.pyi +2 -0
  252. homeassistant-stubs/components/elkm1/__init__.pyi +2 -0
  253. homeassistant-stubs/components/elkm1/discovery.pyi +2 -0
  254. homeassistant-stubs/components/elkm1/entity.pyi +1 -0
  255. homeassistant-stubs/components/elkm1/logbook.pyi +1 -0
  256. homeassistant-stubs/components/emulated_hue/config.pyi +4 -0
  257. homeassistant-stubs/components/emulated_hue/hue_api.pyi +6 -0
  258. homeassistant-stubs/components/emulated_hue/upnp.pyi +1 -0
  259. homeassistant-stubs/components/energy/data.pyi +1 -0
  260. homeassistant-stubs/components/energy/sensor.pyi +5 -0
  261. homeassistant-stubs/components/energy/validate.pyi +4 -0
  262. homeassistant-stubs/components/energy/websocket_api.pyi +12 -0
  263. homeassistant-stubs/components/energyzero/services.pyi +1 -0
  264. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
  265. homeassistant-stubs/components/enigma2/media_player.pyi +1 -0
  266. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -0
  267. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +3 -0
  268. homeassistant-stubs/components/eq3btsmart/climate.pyi +3 -0
  269. homeassistant-stubs/components/eq3btsmart/entity.pyi +2 -0
  270. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +9 -0
  271. homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
  272. homeassistant-stubs/components/esphome/binary_sensor.pyi +1 -0
  273. homeassistant-stubs/components/esphome/bluetooth.pyi +3 -1
  274. homeassistant-stubs/components/esphome/button.pyi +3 -0
  275. homeassistant-stubs/components/esphome/camera.pyi +3 -0
  276. homeassistant-stubs/components/esphome/climate.pyi +18 -0
  277. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  278. homeassistant-stubs/components/esphome/cover.pyi +13 -0
  279. homeassistant-stubs/components/esphome/dashboard.pyi +2 -0
  280. homeassistant-stubs/components/esphome/date.pyi +1 -0
  281. homeassistant-stubs/components/esphome/datetime.pyi +1 -0
  282. homeassistant-stubs/components/esphome/domain_data.pyi +2 -0
  283. homeassistant-stubs/components/esphome/entity.pyi +6 -0
  284. homeassistant-stubs/components/esphome/entry_data.pyi +23 -0
  285. homeassistant-stubs/components/esphome/event.pyi +2 -0
  286. homeassistant-stubs/components/esphome/fan.pyi +11 -0
  287. homeassistant-stubs/components/esphome/light.pyi +15 -0
  288. homeassistant-stubs/components/esphome/lock.pyi +8 -0
  289. homeassistant-stubs/components/esphome/manager.pyi +12 -0
  290. homeassistant-stubs/components/esphome/media_player.pyi +10 -0
  291. homeassistant-stubs/components/esphome/number.pyi +3 -0
  292. homeassistant-stubs/components/esphome/select.pyi +3 -0
  293. homeassistant-stubs/components/esphome/sensor.pyi +2 -0
  294. homeassistant-stubs/components/esphome/switch.pyi +4 -0
  295. homeassistant-stubs/components/esphome/text.pyi +3 -0
  296. homeassistant-stubs/components/esphome/time.pyi +1 -0
  297. homeassistant-stubs/components/esphome/update.pyi +13 -0
  298. homeassistant-stubs/components/esphome/valve.pyi +9 -0
  299. homeassistant-stubs/components/event/__init__.pyi +6 -1
  300. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -0
  301. homeassistant-stubs/components/evohome/__init__.pyi +1 -0
  302. homeassistant-stubs/components/fan/__init__.pyi +7 -1
  303. homeassistant-stubs/components/fan/device_condition.pyi +1 -0
  304. homeassistant-stubs/components/fan/significant_change.pyi +1 -0
  305. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -0
  306. homeassistant-stubs/components/feedreader/coordinator.pyi +6 -0
  307. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  308. homeassistant-stubs/components/file_upload/__init__.pyi +3 -0
  309. homeassistant-stubs/components/filter/sensor.pyi +2 -0
  310. homeassistant-stubs/components/fitbit/sensor.pyi +2 -0
  311. homeassistant-stubs/components/flux_led/__init__.pyi +1 -0
  312. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -0
  313. homeassistant-stubs/components/flux_led/discovery.pyi +7 -0
  314. homeassistant-stubs/components/flux_led/entity.pyi +1 -0
  315. homeassistant-stubs/components/flux_led/light.pyi +1 -0
  316. homeassistant-stubs/components/flux_led/select.pyi +1 -0
  317. homeassistant-stubs/components/forecast_solar/config_flow.pyi +1 -0
  318. homeassistant-stubs/components/fritz/button.pyi +1 -0
  319. homeassistant-stubs/components/fritz/config_flow.pyi +2 -0
  320. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
  321. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  322. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +1 -0
  323. homeassistant-stubs/components/fronius/coordinator.pyi +1 -0
  324. homeassistant-stubs/components/fronius/sensor.pyi +1 -0
  325. homeassistant-stubs/components/frontend/__init__.pyi +13 -0
  326. homeassistant-stubs/components/frontend/storage.pyi +5 -0
  327. homeassistant-stubs/components/fully_kiosk/camera.pyi +1 -0
  328. homeassistant-stubs/components/fully_kiosk/media_player.pyi +1 -0
  329. homeassistant-stubs/components/fully_kiosk/sensor.pyi +1 -0
  330. homeassistant-stubs/components/fully_kiosk/switch.pyi +1 -0
  331. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +2 -0
  332. homeassistant-stubs/components/generic_thermostat/climate.pyi +2 -0
  333. homeassistant-stubs/components/geo_location/__init__.pyi +3 -1
  334. homeassistant-stubs/components/gios/system_health.pyi +1 -0
  335. homeassistant-stubs/components/glances/sensor.pyi +1 -0
  336. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -0
  337. homeassistant-stubs/components/google/api.pyi +3 -0
  338. homeassistant-stubs/components/google/config_flow.pyi +1 -0
  339. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -0
  340. homeassistant-stubs/components/google_cloud/config_flow.pyi +1 -0
  341. homeassistant-stubs/components/google_cloud/tts.pyi +1 -0
  342. homeassistant-stubs/components/govee_ble/event.pyi +1 -0
  343. homeassistant-stubs/components/group/__init__.pyi +2 -0
  344. homeassistant-stubs/components/group/binary_sensor.pyi +2 -0
  345. homeassistant-stubs/components/group/button.pyi +2 -0
  346. homeassistant-stubs/components/group/config_flow.pyi +4 -0
  347. homeassistant-stubs/components/group/cover.pyi +3 -0
  348. homeassistant-stubs/components/group/entity.pyi +13 -0
  349. homeassistant-stubs/components/group/event.pyi +2 -0
  350. homeassistant-stubs/components/group/fan.pyi +3 -0
  351. homeassistant-stubs/components/group/light.pyi +2 -0
  352. homeassistant-stubs/components/group/lock.pyi +2 -0
  353. homeassistant-stubs/components/group/media_player.pyi +5 -0
  354. homeassistant-stubs/components/group/notify.pyi +2 -0
  355. homeassistant-stubs/components/group/registry.pyi +3 -0
  356. homeassistant-stubs/components/group/sensor.pyi +2 -0
  357. homeassistant-stubs/components/group/switch.pyi +2 -0
  358. homeassistant-stubs/components/guardian/__init__.pyi +1 -0
  359. homeassistant-stubs/components/guardian/button.pyi +1 -0
  360. homeassistant-stubs/components/guardian/config_flow.pyi +2 -0
  361. homeassistant-stubs/components/guardian/switch.pyi +3 -0
  362. homeassistant-stubs/components/guardian/util.pyi +2 -0
  363. homeassistant-stubs/components/guardian/valve.pyi +5 -0
  364. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -0
  365. homeassistant-stubs/components/hardware/hardware.pyi +1 -0
  366. homeassistant-stubs/components/hardware/models.pyi +1 -0
  367. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -0
  368. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -0
  369. homeassistant-stubs/components/here_travel_time/sensor.pyi +1 -0
  370. homeassistant-stubs/components/history/websocket_api.pyi +5 -0
  371. homeassistant-stubs/components/history_stats/coordinator.pyi +4 -0
  372. homeassistant-stubs/components/history_stats/helpers.pyi +1 -0
  373. homeassistant-stubs/components/history_stats/sensor.pyi +2 -0
  374. homeassistant-stubs/components/holiday/calendar.pyi +1 -0
  375. homeassistant-stubs/components/holiday/config_flow.pyi +1 -0
  376. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  377. homeassistant-stubs/components/homeassistant/exposed_entities.pyi +23 -0
  378. homeassistant-stubs/components/homeassistant/logbook.pyi +1 -0
  379. homeassistant-stubs/components/homeassistant/scene.pyi +2 -0
  380. homeassistant-stubs/components/homeassistant/system_health.pyi +1 -0
  381. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +1 -0
  382. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -0
  383. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -0
  384. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +5 -0
  385. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -0
  386. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -0
  387. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -0
  388. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +4 -1
  389. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -0
  390. homeassistant-stubs/components/homekit/__init__.pyi +12 -0
  391. homeassistant-stubs/components/homekit/accessories.pyi +15 -1
  392. homeassistant-stubs/components/homekit/aidmanager.pyi +2 -0
  393. homeassistant-stubs/components/homekit/config_flow.pyi +7 -0
  394. homeassistant-stubs/components/homekit/doorbell.pyi +6 -1
  395. homeassistant-stubs/components/homekit/iidmanager.pyi +2 -0
  396. homeassistant-stubs/components/homekit/logbook.pyi +1 -0
  397. homeassistant-stubs/components/homekit/type_cameras.pyi +8 -0
  398. homeassistant-stubs/components/homekit/type_covers.pyi +9 -0
  399. homeassistant-stubs/components/homekit/type_fans.pyi +1 -0
  400. homeassistant-stubs/components/homekit/type_humidifiers.pyi +7 -0
  401. homeassistant-stubs/components/homekit/type_lights.pyi +3 -1
  402. homeassistant-stubs/components/homekit/type_locks.pyi +1 -0
  403. homeassistant-stubs/components/homekit/type_media_players.pyi +2 -0
  404. homeassistant-stubs/components/homekit/type_remotes.pyi +2 -0
  405. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -0
  406. homeassistant-stubs/components/homekit/type_sensors.pyi +11 -0
  407. homeassistant-stubs/components/homekit/type_switches.pyi +5 -0
  408. homeassistant-stubs/components/homekit/type_thermostats.pyi +5 -2
  409. homeassistant-stubs/components/homekit/type_triggers.pyi +5 -0
  410. homeassistant-stubs/components/homekit/util.pyi +4 -0
  411. homeassistant-stubs/components/homekit_controller/config_flow.pyi +2 -0
  412. homeassistant-stubs/components/homekit_controller/storage.pyi +4 -0
  413. homeassistant-stubs/components/homekit_controller/utils.pyi +2 -0
  414. homeassistant-stubs/components/homewizard/button.pyi +1 -0
  415. homeassistant-stubs/components/homewizard/number.pyi +1 -0
  416. homeassistant-stubs/components/homewizard/switch.pyi +2 -0
  417. homeassistant-stubs/components/homeworks/__init__.pyi +2 -0
  418. homeassistant-stubs/components/homeworks/binary_sensor.pyi +1 -0
  419. homeassistant-stubs/components/homeworks/config_flow.pyi +1 -0
  420. homeassistant-stubs/components/homeworks/light.pyi +1 -0
  421. homeassistant-stubs/components/http/__init__.pyi +2 -0
  422. homeassistant-stubs/components/http/auth.pyi +2 -0
  423. homeassistant-stubs/components/http/ban.pyi +4 -1
  424. homeassistant-stubs/components/http/cors.pyi +1 -0
  425. homeassistant-stubs/components/http/forwarded.pyi +1 -0
  426. homeassistant-stubs/components/http/headers.pyi +1 -0
  427. homeassistant-stubs/components/http/request_context.pyi +1 -0
  428. homeassistant-stubs/components/http/security_filter.pyi +1 -0
  429. homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -0
  430. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  431. homeassistant-stubs/components/humidifier/__init__.pyi +3 -1
  432. homeassistant-stubs/components/humidifier/device_condition.pyi +1 -0
  433. homeassistant-stubs/components/humidifier/significant_change.pyi +1 -0
  434. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  435. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -0
  436. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  437. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +4 -0
  438. homeassistant-stubs/components/hydrawise/entity.pyi +1 -0
  439. homeassistant-stubs/components/hyperion/__init__.pyi +1 -0
  440. homeassistant-stubs/components/hyperion/camera.pyi +2 -0
  441. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  442. homeassistant-stubs/components/hyperion/light.pyi +6 -0
  443. homeassistant-stubs/components/hyperion/sensor.pyi +1 -0
  444. homeassistant-stubs/components/hyperion/switch.pyi +1 -0
  445. homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
  446. homeassistant-stubs/components/ibeacon/coordinator.pyi +17 -0
  447. homeassistant-stubs/components/ibeacon/device_tracker.pyi +2 -0
  448. homeassistant-stubs/components/ibeacon/entity.pyi +2 -0
  449. homeassistant-stubs/components/ibeacon/sensor.pyi +2 -0
  450. homeassistant-stubs/components/image/__init__.pyi +4 -1
  451. homeassistant-stubs/components/image_processing/__init__.pyi +3 -1
  452. homeassistant-stubs/components/image_upload/__init__.pyi +1 -0
  453. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  454. homeassistant-stubs/components/imap/config_flow.pyi +1 -0
  455. homeassistant-stubs/components/imap/diagnostics.pyi +1 -0
  456. homeassistant-stubs/components/input_button/__init__.pyi +1 -0
  457. homeassistant-stubs/components/input_select/__init__.pyi +1 -0
  458. homeassistant-stubs/components/input_text/__init__.pyi +1 -0
  459. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  460. homeassistant-stubs/components/integration/sensor.pyi +5 -0
  461. homeassistant-stubs/components/intent/timers.pyi +2 -0
  462. homeassistant-stubs/components/ios/__init__.pyi +2 -0
  463. homeassistant-stubs/components/ios/sensor.pyi +1 -0
  464. homeassistant-stubs/components/iotty/cover.pyi +1 -0
  465. homeassistant-stubs/components/iotty/switch.pyi +1 -0
  466. homeassistant-stubs/components/iqvia/entity.pyi +2 -0
  467. homeassistant-stubs/components/iqvia/sensor.pyi +3 -0
  468. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -0
  469. homeassistant-stubs/components/islamic_prayer_times/coordinator.pyi +1 -0
  470. homeassistant-stubs/components/isy994/__init__.pyi +1 -0
  471. homeassistant-stubs/components/isy994/binary_sensor.pyi +5 -0
  472. homeassistant-stubs/components/isy994/button.pyi +1 -0
  473. homeassistant-stubs/components/isy994/config_flow.pyi +1 -0
  474. homeassistant-stubs/components/isy994/entity.pyi +3 -0
  475. homeassistant-stubs/components/isy994/light.pyi +1 -0
  476. homeassistant-stubs/components/isy994/lock.pyi +1 -0
  477. homeassistant-stubs/components/isy994/number.pyi +2 -0
  478. homeassistant-stubs/components/isy994/select.pyi +1 -0
  479. homeassistant-stubs/components/isy994/sensor.pyi +1 -0
  480. homeassistant-stubs/components/isy994/services.pyi +2 -0
  481. homeassistant-stubs/components/isy994/switch.pyi +1 -0
  482. homeassistant-stubs/components/isy994/system_health.pyi +1 -0
  483. homeassistant-stubs/components/isy994/util.pyi +1 -0
  484. homeassistant-stubs/components/jellyfin/config_flow.pyi +1 -0
  485. homeassistant-stubs/components/jellyfin/media_player.pyi +2 -0
  486. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +1 -0
  487. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  488. homeassistant-stubs/components/knocki/coordinator.pyi +1 -0
  489. homeassistant-stubs/components/knx/config_flow.pyi +3 -0
  490. homeassistant-stubs/components/knx/expose.pyi +6 -0
  491. homeassistant-stubs/components/knx/services.pyi +2 -0
  492. homeassistant-stubs/components/knx/storage/config_store.pyi +1 -0
  493. homeassistant-stubs/components/knx/websocket.pyi +40 -0
  494. homeassistant-stubs/components/kraken/config_flow.pyi +1 -0
  495. homeassistant-stubs/components/lacrosse/sensor.pyi +1 -0
  496. homeassistant-stubs/components/lamarzocco/config_flow.pyi +1 -0
  497. homeassistant-stubs/components/lamarzocco/coordinator.pyi +1 -0
  498. homeassistant-stubs/components/lametric/button.pyi +1 -0
  499. homeassistant-stubs/components/lametric/helpers.pyi +1 -0
  500. homeassistant-stubs/components/lametric/number.pyi +7 -1
  501. homeassistant-stubs/components/lametric/select.pyi +1 -0
  502. homeassistant-stubs/components/lametric/services.pyi +1 -0
  503. homeassistant-stubs/components/lametric/switch.pyi +2 -0
  504. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -0
  505. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  506. homeassistant-stubs/components/lcn/websocket.pyi +21 -0
  507. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -0
  508. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -0
  509. homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -0
  510. homeassistant-stubs/components/led_ble/light.pyi +2 -0
  511. homeassistant-stubs/components/lektrico/config_flow.pyi +2 -0
  512. homeassistant-stubs/components/lifx/__init__.pyi +1 -0
  513. homeassistant-stubs/components/lifx/binary_sensor.pyi +2 -0
  514. homeassistant-stubs/components/lifx/config_flow.pyi +2 -0
  515. homeassistant-stubs/components/lifx/coordinator.pyi +2 -0
  516. homeassistant-stubs/components/lifx/discovery.pyi +2 -0
  517. homeassistant-stubs/components/lifx/manager.pyi +3 -0
  518. homeassistant-stubs/components/lifx/migration.pyi +2 -0
  519. homeassistant-stubs/components/lifx/select.pyi +4 -0
  520. homeassistant-stubs/components/lifx/sensor.pyi +2 -0
  521. homeassistant-stubs/components/lifx/util.pyi +2 -0
  522. homeassistant-stubs/components/light/__init__.pyi +8 -1
  523. homeassistant-stubs/components/light/device_condition.pyi +1 -0
  524. homeassistant-stubs/components/light/significant_change.pyi +1 -0
  525. homeassistant-stubs/components/linkplay/button.pyi +1 -0
  526. homeassistant-stubs/components/linkplay/media_player.pyi +16 -0
  527. homeassistant-stubs/components/litejet/config_flow.pyi +1 -0
  528. homeassistant-stubs/components/lock/__init__.pyi +11 -1
  529. homeassistant-stubs/components/lock/device_condition.pyi +1 -0
  530. homeassistant-stubs/components/lock/significant_change.pyi +1 -0
  531. homeassistant-stubs/components/logbook/__init__.pyi +4 -0
  532. homeassistant-stubs/components/logbook/helpers.pyi +4 -0
  533. homeassistant-stubs/components/logbook/models.pyi +1 -0
  534. homeassistant-stubs/components/logbook/rest_api.pyi +1 -0
  535. homeassistant-stubs/components/logbook/websocket_api.pyi +4 -0
  536. homeassistant-stubs/components/logger/helpers.pyi +6 -0
  537. homeassistant-stubs/components/logger/websocket_api.pyi +4 -0
  538. homeassistant-stubs/components/lookin/climate.pyi +3 -0
  539. homeassistant-stubs/components/lookin/coordinator.pyi +1 -0
  540. homeassistant-stubs/components/luftdaten/config_flow.pyi +1 -0
  541. homeassistant-stubs/components/manual/alarm_control_panel.pyi +1 -0
  542. homeassistant-stubs/components/matter/__init__.pyi +4 -0
  543. homeassistant-stubs/components/matter/addon.pyi +1 -0
  544. homeassistant-stubs/components/matter/api.pyi +40 -0
  545. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -0
  546. homeassistant-stubs/components/matter/climate.pyi +3 -0
  547. homeassistant-stubs/components/matter/cover.pyi +1 -0
  548. homeassistant-stubs/components/matter/discovery.pyi +2 -0
  549. homeassistant-stubs/components/matter/entity.pyi +5 -0
  550. homeassistant-stubs/components/matter/event.pyi +1 -0
  551. homeassistant-stubs/components/matter/fan.pyi +2 -0
  552. homeassistant-stubs/components/matter/helpers.pyi +3 -0
  553. homeassistant-stubs/components/matter/light.pyi +1 -0
  554. homeassistant-stubs/components/matter/lock.pyi +3 -0
  555. homeassistant-stubs/components/matter/number.pyi +1 -0
  556. homeassistant-stubs/components/matter/select.pyi +2 -0
  557. homeassistant-stubs/components/matter/sensor.pyi +2 -0
  558. homeassistant-stubs/components/matter/switch.pyi +1 -0
  559. homeassistant-stubs/components/matter/update.pyi +1 -0
  560. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  561. homeassistant-stubs/components/matter/valve.pyi +2 -0
  562. homeassistant-stubs/components/media_player/__init__.pyi +20 -1
  563. homeassistant-stubs/components/media_player/browse_media.pyi +1 -0
  564. homeassistant-stubs/components/media_player/device_condition.pyi +1 -0
  565. homeassistant-stubs/components/media_player/significant_change.pyi +1 -0
  566. homeassistant-stubs/components/media_source/__init__.pyi +5 -1
  567. homeassistant-stubs/components/media_source/local_source.pyi +6 -0
  568. homeassistant-stubs/components/media_source/models.pyi +1 -0
  569. homeassistant-stubs/components/met_eireann/weather.pyi +2 -0
  570. homeassistant-stubs/components/metoffice/weather.pyi +2 -0
  571. homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -0
  572. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -0
  573. homeassistant-stubs/components/min_max/sensor.pyi +2 -0
  574. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  575. homeassistant-stubs/components/minecraft_server/sensor.pyi +2 -0
  576. homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -0
  577. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -0
  578. homeassistant-stubs/components/modbus/entity.pyi +2 -0
  579. homeassistant-stubs/components/modbus/modbus.pyi +1 -0
  580. homeassistant-stubs/components/modbus/sensor.pyi +1 -0
  581. homeassistant-stubs/components/modem_callerid/sensor.pyi +1 -0
  582. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  583. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -0
  584. homeassistant-stubs/components/mopeka/config_flow.pyi +1 -0
  585. homeassistant-stubs/components/mqtt/__init__.pyi +4 -0
  586. homeassistant-stubs/components/mqtt/addon.pyi +1 -0
  587. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  588. homeassistant-stubs/components/mqtt/binary_sensor.pyi +3 -0
  589. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  590. homeassistant-stubs/components/mqtt/camera.pyi +2 -0
  591. homeassistant-stubs/components/mqtt/client.pyi +30 -0
  592. homeassistant-stubs/components/mqtt/climate.pyi +6 -0
  593. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -0
  594. homeassistant-stubs/components/mqtt/cover.pyi +6 -0
  595. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -0
  596. homeassistant-stubs/components/mqtt/diagnostics.pyi +2 -0
  597. homeassistant-stubs/components/mqtt/discovery.pyi +11 -0
  598. homeassistant-stubs/components/mqtt/entity.pyi +19 -1
  599. homeassistant-stubs/components/mqtt/event.pyi +2 -0
  600. homeassistant-stubs/components/mqtt/fan.pyi +6 -0
  601. homeassistant-stubs/components/mqtt/humidifier.pyi +6 -0
  602. homeassistant-stubs/components/mqtt/image.pyi +3 -0
  603. homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -0
  604. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +12 -0
  605. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -0
  606. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -0
  607. homeassistant-stubs/components/mqtt/lock.pyi +2 -0
  608. homeassistant-stubs/components/mqtt/models.pyi +4 -0
  609. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  610. homeassistant-stubs/components/mqtt/number.pyi +2 -0
  611. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  612. homeassistant-stubs/components/mqtt/select.pyi +2 -0
  613. homeassistant-stubs/components/mqtt/sensor.pyi +5 -0
  614. homeassistant-stubs/components/mqtt/siren.pyi +2 -0
  615. homeassistant-stubs/components/mqtt/subscription.pyi +3 -0
  616. homeassistant-stubs/components/mqtt/switch.pyi +2 -0
  617. homeassistant-stubs/components/mqtt/tag.pyi +1 -0
  618. homeassistant-stubs/components/mqtt/text.pyi +2 -0
  619. homeassistant-stubs/components/mqtt/update.pyi +3 -0
  620. homeassistant-stubs/components/mqtt/util.pyi +8 -0
  621. homeassistant-stubs/components/mqtt/vacuum.pyi +2 -0
  622. homeassistant-stubs/components/mqtt/valve.pyi +5 -0
  623. homeassistant-stubs/components/mqtt/water_heater.pyi +2 -0
  624. homeassistant-stubs/components/music_assistant/actions.pyi +2 -0
  625. homeassistant-stubs/components/music_assistant/media_player.pyi +22 -0
  626. homeassistant-stubs/components/mysensors/__init__.pyi +1 -0
  627. homeassistant-stubs/components/mysensors/climate.pyi +1 -0
  628. homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
  629. homeassistant-stubs/components/mysensors/device_tracker.pyi +1 -0
  630. homeassistant-stubs/components/mysensors/entity.pyi +3 -0
  631. homeassistant-stubs/components/mysensors/handler.pyi +9 -0
  632. homeassistant-stubs/components/mysensors/helpers.pyi +3 -0
  633. homeassistant-stubs/components/mysensors/light.pyi +6 -0
  634. homeassistant-stubs/components/mysensors/remote.pyi +1 -0
  635. homeassistant-stubs/components/mysensors/sensor.pyi +1 -0
  636. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  637. homeassistant-stubs/components/nanoleaf/event.pyi +1 -0
  638. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -0
  639. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  640. homeassistant-stubs/components/nest/camera.pyi +4 -0
  641. homeassistant-stubs/components/nest/device_info.pyi +2 -0
  642. homeassistant-stubs/components/nest/media_source.pyi +1 -0
  643. homeassistant-stubs/components/netatmo/binary_sensor.pyi +1 -0
  644. homeassistant-stubs/components/netatmo/camera.pyi +2 -0
  645. homeassistant-stubs/components/netatmo/climate.pyi +2 -0
  646. homeassistant-stubs/components/netatmo/config_flow.pyi +1 -0
  647. homeassistant-stubs/components/netatmo/cover.pyi +1 -0
  648. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -0
  649. homeassistant-stubs/components/netatmo/entity.pyi +1 -0
  650. homeassistant-stubs/components/netatmo/fan.pyi +1 -0
  651. homeassistant-stubs/components/netatmo/light.pyi +3 -0
  652. homeassistant-stubs/components/netatmo/media_source.pyi +1 -0
  653. homeassistant-stubs/components/netatmo/select.pyi +2 -0
  654. homeassistant-stubs/components/netatmo/sensor.pyi +5 -0
  655. homeassistant-stubs/components/netatmo/switch.pyi +1 -0
  656. homeassistant-stubs/components/network/__init__.pyi +5 -0
  657. homeassistant-stubs/components/network/network.pyi +1 -0
  658. homeassistant-stubs/components/network/util.pyi +1 -0
  659. homeassistant-stubs/components/network/websocket.pyi +7 -0
  660. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -0
  661. homeassistant-stubs/components/nextdns/sensor.pyi +1 -0
  662. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  663. homeassistant-stubs/components/nextdns/system_health.pyi +1 -0
  664. homeassistant-stubs/components/nissan_leaf/entity.pyi +1 -0
  665. homeassistant-stubs/components/notify/__init__.pyi +4 -1
  666. homeassistant-stubs/components/notify/legacy.pyi +3 -0
  667. homeassistant-stubs/components/notify/repairs.pyi +1 -0
  668. homeassistant-stubs/components/notion/__init__.pyi +1 -0
  669. homeassistant-stubs/components/notion/coordinator.pyi +1 -0
  670. homeassistant-stubs/components/notion/entity.pyi +3 -0
  671. homeassistant-stubs/components/number/__init__.pyi +11 -1
  672. homeassistant-stubs/components/number/significant_change.pyi +1 -0
  673. homeassistant-stubs/components/number/websocket_api.pyi +2 -0
  674. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  675. homeassistant-stubs/components/nut/config_flow.pyi +1 -0
  676. homeassistant-stubs/components/onboarding/__init__.pyi +5 -0
  677. homeassistant-stubs/components/onboarding/views.pyi +2 -0
  678. homeassistant-stubs/components/onewire/config_flow.pyi +1 -0
  679. homeassistant-stubs/components/onkyo/config_flow.pyi +1 -0
  680. homeassistant-stubs/components/onkyo/media_player.pyi +10 -0
  681. homeassistant-stubs/components/open_meteo/weather.pyi +2 -0
  682. homeassistant-stubs/components/opensky/config_flow.pyi +1 -0
  683. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -0
  684. homeassistant-stubs/components/openuv/config_flow.pyi +1 -0
  685. homeassistant-stubs/components/otbr/config_flow.pyi +1 -0
  686. homeassistant-stubs/components/otbr/util.pyi +11 -0
  687. homeassistant-stubs/components/otbr/websocket_api.pyi +12 -0
  688. homeassistant-stubs/components/panel_custom/__init__.pyi +1 -0
  689. homeassistant-stubs/components/peblar/button.pyi +1 -0
  690. homeassistant-stubs/components/peblar/coordinator.pyi +3 -0
  691. homeassistant-stubs/components/peblar/number.pyi +1 -0
  692. homeassistant-stubs/components/peblar/select.pyi +1 -0
  693. homeassistant-stubs/components/peblar/switch.pyi +2 -0
  694. homeassistant-stubs/components/persistent_notification/__init__.pyi +12 -0
  695. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  696. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  697. homeassistant-stubs/components/plugwise/button.pyi +1 -0
  698. homeassistant-stubs/components/plugwise/climate.pyi +3 -0
  699. homeassistant-stubs/components/plugwise/number.pyi +1 -0
  700. homeassistant-stubs/components/plugwise/select.pyi +1 -0
  701. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  702. homeassistant-stubs/components/powerwall/__init__.pyi +1 -0
  703. homeassistant-stubs/components/private_ble_device/device_tracker.pyi +2 -0
  704. homeassistant-stubs/components/private_ble_device/entity.pyi +2 -0
  705. homeassistant-stubs/components/private_ble_device/sensor.pyi +2 -0
  706. homeassistant-stubs/components/proximity/config_flow.pyi +1 -0
  707. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  708. homeassistant-stubs/components/prusalink/coordinator.pyi +1 -0
  709. homeassistant-stubs/components/purpleair/config_flow.pyi +7 -0
  710. homeassistant-stubs/components/purpleair/coordinator.pyi +1 -0
  711. homeassistant-stubs/components/pushbullet/sensor.pyi +1 -0
  712. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +1 -0
  713. homeassistant-stubs/components/qnap_qsw/entity.pyi +2 -0
  714. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -0
  715. homeassistant-stubs/components/qnap_qsw/update.pyi +2 -0
  716. homeassistant-stubs/components/rabbitair/fan.pyi +1 -0
  717. homeassistant-stubs/components/radarr/calendar.pyi +1 -0
  718. homeassistant-stubs/components/radio_browser/media_source.pyi +2 -0
  719. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +1 -0
  720. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  721. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -0
  722. homeassistant-stubs/components/rainmachine/config_flow.pyi +3 -0
  723. homeassistant-stubs/components/rainmachine/coordinator.pyi +1 -0
  724. homeassistant-stubs/components/rainmachine/entity.pyi +2 -0
  725. homeassistant-stubs/components/rainmachine/select.pyi +1 -0
  726. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -0
  727. homeassistant-stubs/components/rainmachine/switch.pyi +17 -0
  728. homeassistant-stubs/components/rainmachine/update.pyi +1 -0
  729. homeassistant-stubs/components/rainmachine/util.pyi +1 -0
  730. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -0
  731. homeassistant-stubs/components/recollect_waste/calendar.pyi +2 -0
  732. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -0
  733. homeassistant-stubs/components/recollect_waste/sensor.pyi +1 -0
  734. homeassistant-stubs/components/recollect_waste/util.pyi +1 -0
  735. homeassistant-stubs/components/recorder/__init__.pyi +1 -0
  736. homeassistant-stubs/components/recorder/basic_websocket_api.pyi +2 -0
  737. homeassistant-stubs/components/recorder/core.pyi +25 -0
  738. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  739. homeassistant-stubs/components/recorder/migration.pyi +2 -1
  740. homeassistant-stubs/components/recorder/services.pyi +5 -0
  741. homeassistant-stubs/components/recorder/statistics.pyi +4 -0
  742. homeassistant-stubs/components/recorder/system_health/__init__.pyi +2 -0
  743. homeassistant-stubs/components/recorder/util.pyi +6 -0
  744. homeassistant-stubs/components/recorder/websocket_api.pyi +17 -0
  745. homeassistant-stubs/components/remote/__init__.pyi +3 -1
  746. homeassistant-stubs/components/remote/device_condition.pyi +1 -0
  747. homeassistant-stubs/components/remote/significant_change.pyi +1 -0
  748. homeassistant-stubs/components/renault/renault_vehicle.pyi +9 -0
  749. homeassistant-stubs/components/reolink/button.pyi +3 -0
  750. homeassistant-stubs/components/reolink/camera.pyi +1 -0
  751. homeassistant-stubs/components/reolink/config_flow.pyi +1 -0
  752. homeassistant-stubs/components/reolink/entity.pyi +1 -0
  753. homeassistant-stubs/components/reolink/host.pyi +2 -0
  754. homeassistant-stubs/components/reolink/light.pyi +4 -0
  755. homeassistant-stubs/components/reolink/number.pyi +3 -0
  756. homeassistant-stubs/components/reolink/select.pyi +2 -0
  757. homeassistant-stubs/components/reolink/services.pyi +1 -0
  758. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  759. homeassistant-stubs/components/reolink/switch.pyi +6 -0
  760. homeassistant-stubs/components/reolink/views.pyi +1 -0
  761. homeassistant-stubs/components/repairs/issue_handler.pyi +2 -0
  762. homeassistant-stubs/components/repairs/websocket_api.pyi +4 -0
  763. homeassistant-stubs/components/rest/__init__.pyi +1 -0
  764. homeassistant-stubs/components/rest/entity.pyi +1 -0
  765. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +1 -0
  766. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -0
  767. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -0
  768. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -0
  769. homeassistant-stubs/components/rfxtrx/event.pyi +1 -0
  770. homeassistant-stubs/components/rfxtrx/helpers.pyi +1 -0
  771. homeassistant-stubs/components/rfxtrx/light.pyi +1 -0
  772. homeassistant-stubs/components/rfxtrx/sensor.pyi +1 -0
  773. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -0
  774. homeassistant-stubs/components/rfxtrx/switch.pyi +1 -0
  775. homeassistant-stubs/components/ridwell/calendar.pyi +1 -0
  776. homeassistant-stubs/components/ring/binary_sensor.pyi +3 -0
  777. homeassistant-stubs/components/ring/button.pyi +1 -0
  778. homeassistant-stubs/components/ring/camera.pyi +4 -0
  779. homeassistant-stubs/components/ring/coordinator.pyi +2 -0
  780. homeassistant-stubs/components/ring/entity.pyi +1 -0
  781. homeassistant-stubs/components/ring/event.pyi +2 -0
  782. homeassistant-stubs/components/ring/light.pyi +2 -0
  783. homeassistant-stubs/components/ring/number.pyi +2 -0
  784. homeassistant-stubs/components/ring/sensor.pyi +1 -0
  785. homeassistant-stubs/components/ring/siren.pyi +3 -0
  786. homeassistant-stubs/components/ring/switch.pyi +2 -0
  787. homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +1 -0
  788. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +1 -0
  789. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  790. homeassistant-stubs/components/roku/config_flow.pyi +2 -0
  791. homeassistant-stubs/components/romy/vacuum.pyi +1 -0
  792. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -0
  793. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  794. homeassistant-stubs/components/ruuvi_gateway/bluetooth.pyi +2 -0
  795. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -0
  796. homeassistant-stubs/components/samsungtv/config_flow.pyi +5 -0
  797. homeassistant-stubs/components/samsungtv/helpers.pyi +3 -0
  798. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -0
  799. homeassistant-stubs/components/samsungtv/remote.pyi +1 -0
  800. homeassistant-stubs/components/scene/__init__.pyi +3 -1
  801. homeassistant-stubs/components/schedule/__init__.pyi +3 -0
  802. homeassistant-stubs/components/schlage/coordinator.pyi +1 -0
  803. homeassistant-stubs/components/schlage/lock.pyi +1 -0
  804. homeassistant-stubs/components/schlage/sensor.pyi +1 -0
  805. homeassistant-stubs/components/scrape/sensor.pyi +1 -0
  806. homeassistant-stubs/components/script/__init__.pyi +14 -0
  807. homeassistant-stubs/components/script/helpers.pyi +1 -0
  808. homeassistant-stubs/components/script/logbook.pyi +1 -0
  809. homeassistant-stubs/components/script/trace.pyi +2 -0
  810. homeassistant-stubs/components/search/__init__.pyi +19 -0
  811. homeassistant-stubs/components/select/__init__.pyi +12 -1
  812. homeassistant-stubs/components/select/device_condition.pyi +1 -0
  813. homeassistant-stubs/components/select/significant_change.pyi +1 -0
  814. homeassistant-stubs/components/sensibo/button.pyi +1 -0
  815. homeassistant-stubs/components/sensibo/climate.pyi +5 -0
  816. homeassistant-stubs/components/sensibo/number.pyi +1 -0
  817. homeassistant-stubs/components/sensibo/select.pyi +1 -0
  818. homeassistant-stubs/components/sensibo/switch.pyi +4 -0
  819. homeassistant-stubs/components/sensor/__init__.pyi +14 -2
  820. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  821. homeassistant-stubs/components/sensor/helpers.pyi +1 -0
  822. homeassistant-stubs/components/sensor/recorder.pyi +1 -0
  823. homeassistant-stubs/components/sensor/significant_change.pyi +1 -0
  824. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  825. homeassistant-stubs/components/senz/climate.pyi +1 -0
  826. homeassistant-stubs/components/sfr_box/button.pyi +1 -0
  827. homeassistant-stubs/components/shelly/button.pyi +1 -0
  828. homeassistant-stubs/components/shelly/climate.pyi +4 -0
  829. homeassistant-stubs/components/shelly/config_flow.pyi +2 -0
  830. homeassistant-stubs/components/shelly/coordinator.pyi +10 -0
  831. homeassistant-stubs/components/shelly/cover.pyi +3 -0
  832. homeassistant-stubs/components/shelly/entity.pyi +10 -0
  833. homeassistant-stubs/components/shelly/event.pyi +2 -0
  834. homeassistant-stubs/components/shelly/light.pyi +3 -0
  835. homeassistant-stubs/components/shelly/logbook.pyi +1 -0
  836. homeassistant-stubs/components/shelly/switch.pyi +3 -0
  837. homeassistant-stubs/components/shelly/update.pyi +1 -0
  838. homeassistant-stubs/components/shelly/utils.pyi +5 -0
  839. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  840. homeassistant-stubs/components/shopping_list/__init__.pyi +7 -0
  841. homeassistant-stubs/components/simplisafe/__init__.pyi +5 -0
  842. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +3 -0
  843. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -0
  844. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  845. homeassistant-stubs/components/simplisafe/entity.pyi +6 -0
  846. homeassistant-stubs/components/simplisafe/lock.pyi +2 -0
  847. homeassistant-stubs/components/simplisafe/sensor.pyi +1 -0
  848. homeassistant-stubs/components/siren/__init__.pyi +2 -1
  849. homeassistant-stubs/components/skybell/binary_sensor.pyi +1 -0
  850. homeassistant-stubs/components/slack/notify.pyi +2 -0
  851. homeassistant-stubs/components/sleepiq/binary_sensor.pyi +1 -0
  852. homeassistant-stubs/components/sleepiq/entity.pyi +2 -0
  853. homeassistant-stubs/components/sleepiq/light.pyi +1 -0
  854. homeassistant-stubs/components/sleepiq/number.pyi +1 -0
  855. homeassistant-stubs/components/sleepiq/select.pyi +2 -0
  856. homeassistant-stubs/components/sleepiq/sensor.pyi +1 -0
  857. homeassistant-stubs/components/sleepiq/switch.pyi +1 -0
  858. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  859. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  860. homeassistant-stubs/components/smlight/update.pyi +3 -0
  861. homeassistant-stubs/components/snooz/fan.pyi +2 -0
  862. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -0
  863. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -0
  864. homeassistant-stubs/components/spotify/media_player.pyi +19 -0
  865. homeassistant-stubs/components/spotify/system_health.pyi +1 -0
  866. homeassistant-stubs/components/sql/config_flow.pyi +1 -0
  867. homeassistant-stubs/components/sql/sensor.pyi +1 -0
  868. homeassistant-stubs/components/squeezebox/coordinator.pyi +1 -0
  869. homeassistant-stubs/components/squeezebox/media_player.pyi +1 -0
  870. homeassistant-stubs/components/ssdp/__init__.pyi +11 -1
  871. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  872. homeassistant-stubs/components/statistics/sensor.pyi +5 -0
  873. homeassistant-stubs/components/steamist/config_flow.pyi +1 -0
  874. homeassistant-stubs/components/steamist/discovery.pyi +5 -0
  875. homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -0
  876. homeassistant-stubs/components/stream/__init__.pyi +2 -1
  877. homeassistant-stubs/components/stream/core.pyi +3 -0
  878. homeassistant-stubs/components/stream/hls.pyi +3 -0
  879. homeassistant-stubs/components/stream/recorder.pyi +1 -0
  880. homeassistant-stubs/components/stt/__init__.pyi +7 -1
  881. homeassistant-stubs/components/stt/legacy.pyi +4 -0
  882. homeassistant-stubs/components/sun/entity.pyi +4 -0
  883. homeassistant-stubs/components/surepetcare/binary_sensor.pyi +3 -0
  884. homeassistant-stubs/components/surepetcare/entity.pyi +2 -0
  885. homeassistant-stubs/components/surepetcare/lock.pyi +1 -0
  886. homeassistant-stubs/components/surepetcare/sensor.pyi +2 -0
  887. homeassistant-stubs/components/switch/__init__.pyi +1 -0
  888. homeassistant-stubs/components/switch/device_condition.pyi +1 -0
  889. homeassistant-stubs/components/switch/significant_change.pyi +1 -0
  890. homeassistant-stubs/components/switch_as_x/__init__.pyi +1 -0
  891. homeassistant-stubs/components/switch_as_x/cover.pyi +1 -0
  892. homeassistant-stubs/components/switch_as_x/entity.pyi +4 -0
  893. homeassistant-stubs/components/switch_as_x/lock.pyi +1 -0
  894. homeassistant-stubs/components/switch_as_x/valve.pyi +1 -0
  895. homeassistant-stubs/components/switchbee/climate.pyi +1 -0
  896. homeassistant-stubs/components/switchbee/coordinator.pyi +1 -0
  897. homeassistant-stubs/components/switchbee/cover.pyi +1 -0
  898. homeassistant-stubs/components/switchbee/light.pyi +1 -0
  899. homeassistant-stubs/components/switchbee/switch.pyi +1 -0
  900. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  901. homeassistant-stubs/components/switchbot_cloud/lock.pyi +1 -0
  902. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +1 -0
  903. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  904. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +2 -0
  905. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -0
  906. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -0
  907. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -0
  908. homeassistant-stubs/components/switcher_kis/light.pyi +1 -0
  909. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -0
  910. homeassistant-stubs/components/synology_dsm/common.pyi +1 -0
  911. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
  912. homeassistant-stubs/components/synology_dsm/coordinator.pyi +3 -0
  913. homeassistant-stubs/components/system_health/__init__.pyi +6 -0
  914. homeassistant-stubs/components/system_log/__init__.pyi +2 -0
  915. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +2 -0
  916. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  917. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -0
  918. homeassistant-stubs/components/tag/__init__.pyi +5 -1
  919. homeassistant-stubs/components/tami4/sensor.pyi +1 -0
  920. homeassistant-stubs/components/technove/number.pyi +1 -0
  921. homeassistant-stubs/components/technove/switch.pyi +2 -0
  922. homeassistant-stubs/components/tedee/entity.pyi +1 -0
  923. homeassistant-stubs/components/text/__init__.pyi +5 -1
  924. homeassistant-stubs/components/thethingsnetwork/entity.pyi +1 -0
  925. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -0
  926. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  927. homeassistant-stubs/components/tibber/sensor.pyi +5 -0
  928. homeassistant-stubs/components/tibber/services.pyi +1 -0
  929. homeassistant-stubs/components/tile/device_tracker.pyi +2 -0
  930. homeassistant-stubs/components/time/__init__.pyi +4 -0
  931. homeassistant-stubs/components/time_date/config_flow.pyi +1 -0
  932. homeassistant-stubs/components/time_date/sensor.pyi +2 -0
  933. homeassistant-stubs/components/timer/__init__.pyi +7 -0
  934. homeassistant-stubs/components/tod/binary_sensor.pyi +1 -0
  935. homeassistant-stubs/components/todo/__init__.pyi +9 -1
  936. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  937. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  938. homeassistant-stubs/components/tplink/camera.pyi +1 -0
  939. homeassistant-stubs/components/tplink/climate.pyi +5 -0
  940. homeassistant-stubs/components/tplink/config_flow.pyi +3 -0
  941. homeassistant-stubs/components/tplink/entity.pyi +3 -0
  942. homeassistant-stubs/components/tplink/fan.pyi +3 -0
  943. homeassistant-stubs/components/tplink/light.pyi +7 -0
  944. homeassistant-stubs/components/tplink/number.pyi +2 -0
  945. homeassistant-stubs/components/tplink/select.pyi +2 -0
  946. homeassistant-stubs/components/tplink/sensor.pyi +1 -0
  947. homeassistant-stubs/components/tplink/siren.pyi +3 -0
  948. homeassistant-stubs/components/tplink/switch.pyi +3 -0
  949. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +1 -0
  950. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -0
  951. homeassistant-stubs/components/tplink_omada/switch.pyi +1 -0
  952. homeassistant-stubs/components/tplink_omada/update.pyi +2 -0
  953. homeassistant-stubs/components/trace/websocket_api.pyi +21 -0
  954. homeassistant-stubs/components/tractive/binary_sensor.pyi +1 -0
  955. homeassistant-stubs/components/tractive/device_tracker.pyi +2 -0
  956. homeassistant-stubs/components/tractive/entity.pyi +2 -0
  957. homeassistant-stubs/components/tractive/sensor.pyi +1 -0
  958. homeassistant-stubs/components/tractive/switch.pyi +1 -0
  959. homeassistant-stubs/components/tradfri/__init__.pyi +1 -0
  960. homeassistant-stubs/components/tradfri/coordinator.pyi +2 -0
  961. homeassistant-stubs/components/tradfri/entity.pyi +2 -0
  962. homeassistant-stubs/components/tradfri/sensor.pyi +1 -0
  963. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +1 -0
  964. homeassistant-stubs/components/trafikverket_camera/entity.pyi +2 -0
  965. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +1 -0
  966. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  967. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +1 -0
  968. homeassistant-stubs/components/trafikverket_train/sensor.pyi +2 -0
  969. homeassistant-stubs/components/transmission/config_flow.pyi +1 -0
  970. homeassistant-stubs/components/tts/__init__.pyi +10 -2
  971. homeassistant-stubs/components/tts/legacy.pyi +1 -0
  972. homeassistant-stubs/components/tts/media_source.pyi +3 -0
  973. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -0
  974. homeassistant-stubs/components/unifi/__init__.pyi +3 -0
  975. homeassistant-stubs/components/unifi/button.pyi +2 -0
  976. homeassistant-stubs/components/unifi/config_flow.pyi +1 -0
  977. homeassistant-stubs/components/unifi/device_tracker.pyi +8 -0
  978. homeassistant-stubs/components/unifi/diagnostics.pyi +2 -0
  979. homeassistant-stubs/components/unifi/entity.pyi +10 -0
  980. homeassistant-stubs/components/unifi/hub/entity_helper.pyi +12 -0
  981. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +5 -0
  982. homeassistant-stubs/components/unifi/hub/hub.pyi +5 -0
  983. homeassistant-stubs/components/unifi/hub/websocket.pyi +5 -0
  984. homeassistant-stubs/components/unifi/image.pyi +2 -0
  985. homeassistant-stubs/components/unifi/sensor.pyi +22 -0
  986. homeassistant-stubs/components/unifi/services.pyi +1 -0
  987. homeassistant-stubs/components/unifi/switch.pyi +9 -0
  988. homeassistant-stubs/components/unifi/update.pyi +2 -0
  989. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +6 -0
  990. homeassistant-stubs/components/unifiprotect/button.pyi +2 -0
  991. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -0
  992. homeassistant-stubs/components/unifiprotect/config_flow.pyi +2 -0
  993. homeassistant-stubs/components/unifiprotect/data.pyi +19 -0
  994. homeassistant-stubs/components/unifiprotect/discovery.pyi +2 -0
  995. homeassistant-stubs/components/unifiprotect/entity.pyi +12 -0
  996. homeassistant-stubs/components/unifiprotect/event.pyi +4 -0
  997. homeassistant-stubs/components/unifiprotect/light.pyi +1 -0
  998. homeassistant-stubs/components/unifiprotect/lock.pyi +1 -0
  999. homeassistant-stubs/components/unifiprotect/media_player.pyi +1 -0
  1000. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -0
  1001. homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -0
  1002. homeassistant-stubs/components/unifiprotect/number.pyi +1 -0
  1003. homeassistant-stubs/components/unifiprotect/repairs.pyi +3 -0
  1004. homeassistant-stubs/components/unifiprotect/select.pyi +2 -0
  1005. homeassistant-stubs/components/unifiprotect/sensor.pyi +4 -0
  1006. homeassistant-stubs/components/unifiprotect/services.pyi +4 -0
  1007. homeassistant-stubs/components/unifiprotect/switch.pyi +2 -0
  1008. homeassistant-stubs/components/unifiprotect/text.pyi +1 -0
  1009. homeassistant-stubs/components/unifiprotect/utils.pyi +7 -0
  1010. homeassistant-stubs/components/unifiprotect/views.pyi +9 -0
  1011. homeassistant-stubs/components/upcloud/config_flow.pyi +2 -0
  1012. homeassistant-stubs/components/update/__init__.pyi +7 -1
  1013. homeassistant-stubs/components/update/significant_change.pyi +1 -0
  1014. homeassistant-stubs/components/usb/__init__.pyi +7 -1
  1015. homeassistant-stubs/components/vacuum/__init__.pyi +5 -1
  1016. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -0
  1017. homeassistant-stubs/components/vacuum/significant_change.pyi +1 -0
  1018. homeassistant-stubs/components/valve/__init__.pyi +5 -1
  1019. homeassistant-stubs/components/velbus/button.pyi +1 -0
  1020. homeassistant-stubs/components/velbus/climate.pyi +3 -0
  1021. homeassistant-stubs/components/velbus/cover.pyi +4 -0
  1022. homeassistant-stubs/components/velbus/light.pyi +4 -0
  1023. homeassistant-stubs/components/velbus/select.pyi +1 -0
  1024. homeassistant-stubs/components/velbus/switch.pyi +2 -0
  1025. homeassistant-stubs/components/vlc_telnet/media_player.pyi +12 -0
  1026. homeassistant-stubs/components/wake_word/__init__.pyi +6 -1
  1027. homeassistant-stubs/components/wallbox/coordinator.pyi +6 -0
  1028. homeassistant-stubs/components/water_heater/__init__.pyi +4 -1
  1029. homeassistant-stubs/components/water_heater/significant_change.pyi +1 -0
  1030. homeassistant-stubs/components/watttime/config_flow.pyi +2 -0
  1031. homeassistant-stubs/components/weather/__init__.pyi +36 -1
  1032. homeassistant-stubs/components/weather/significant_change.pyi +1 -0
  1033. homeassistant-stubs/components/weather/websocket_api.pyi +3 -0
  1034. homeassistant-stubs/components/webhook/__init__.pyi +11 -0
  1035. homeassistant-stubs/components/webostv/config_flow.pyi +2 -0
  1036. homeassistant-stubs/components/webostv/helpers.pyi +3 -0
  1037. homeassistant-stubs/components/webostv/media_player.pyi +16 -0
  1038. homeassistant-stubs/components/websocket_api/__init__.pyi +2 -0
  1039. homeassistant-stubs/components/websocket_api/commands.pyi +33 -0
  1040. homeassistant-stubs/components/websocket_api/connection.pyi +9 -0
  1041. homeassistant-stubs/components/websocket_api/http.pyi +7 -0
  1042. homeassistant-stubs/components/websocket_api/sensor.pyi +1 -0
  1043. homeassistant-stubs/components/wemo/__init__.pyi +2 -0
  1044. homeassistant-stubs/components/wemo/config_flow.pyi +1 -0
  1045. homeassistant-stubs/components/wemo/coordinator.pyi +4 -0
  1046. homeassistant-stubs/components/wemo/entity.pyi +2 -0
  1047. homeassistant-stubs/components/wemo/fan.pyi +1 -0
  1048. homeassistant-stubs/components/wemo/light.pyi +1 -0
  1049. homeassistant-stubs/components/wemo/models.pyi +1 -0
  1050. homeassistant-stubs/components/wiz/binary_sensor.pyi +1 -0
  1051. homeassistant-stubs/components/wiz/discovery.pyi +1 -0
  1052. homeassistant-stubs/components/wiz/entity.pyi +3 -0
  1053. homeassistant-stubs/components/wiz/light.pyi +1 -0
  1054. homeassistant-stubs/components/wiz/number.pyi +1 -0
  1055. homeassistant-stubs/components/wiz/sensor.pyi +2 -0
  1056. homeassistant-stubs/components/wled/button.pyi +1 -0
  1057. homeassistant-stubs/components/wled/config_flow.pyi +1 -0
  1058. homeassistant-stubs/components/wled/coordinator.pyi +1 -0
  1059. homeassistant-stubs/components/wled/light.pyi +5 -0
  1060. homeassistant-stubs/components/wled/number.pyi +2 -0
  1061. homeassistant-stubs/components/wled/select.pyi +5 -0
  1062. homeassistant-stubs/components/wled/switch.pyi +9 -0
  1063. homeassistant-stubs/components/wled/update.pyi +1 -0
  1064. homeassistant-stubs/components/workday/binary_sensor.pyi +1 -0
  1065. homeassistant-stubs/components/workday/config_flow.pyi +1 -0
  1066. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -0
  1067. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +1 -0
  1068. homeassistant-stubs/components/yale_smart_alarm/select.pyi +1 -0
  1069. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +1 -0
  1070. homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +1 -0
  1071. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -0
  1072. homeassistant-stubs/components/yalexs_ble/entity.pyi +3 -0
  1073. homeassistant-stubs/components/yalexs_ble/lock.pyi +1 -0
  1074. homeassistant-stubs/components/yalexs_ble/sensor.pyi +1 -0
  1075. homeassistant-stubs/components/yalexs_ble/util.pyi +1 -0
  1076. homeassistant-stubs/components/youtube/config_flow.pyi +1 -0
  1077. homeassistant-stubs/components/zeroconf/__init__.pyi +7 -0
  1078. homeassistant-stubs/components/zone/__init__.pyi +7 -0
  1079. homeassistant-stubs/components/zwave_js/__init__.pyi +8 -0
  1080. homeassistant-stubs/components/zwave_js/addon.pyi +1 -0
  1081. homeassistant-stubs/components/zwave_js/api.pyi +183 -0
  1082. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  1083. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -0
  1084. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -0
  1085. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -0
  1086. homeassistant-stubs/components/zwave_js/discovery.pyi +4 -0
  1087. homeassistant-stubs/components/zwave_js/entity.pyi +5 -0
  1088. homeassistant-stubs/components/zwave_js/event.pyi +1 -0
  1089. homeassistant-stubs/components/zwave_js/helpers.pyi +5 -0
  1090. homeassistant-stubs/components/zwave_js/light.pyi +4 -0
  1091. homeassistant-stubs/components/zwave_js/logbook.pyi +1 -0
  1092. homeassistant-stubs/components/zwave_js/migrate.pyi +5 -0
  1093. homeassistant-stubs/components/zwave_js/sensor.pyi +4 -0
  1094. homeassistant-stubs/components/zwave_js/services.pyi +1 -0
  1095. homeassistant-stubs/components/zwave_js/switch.pyi +2 -0
  1096. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -0
  1097. homeassistant-stubs/components/zwave_js/update.pyi +4 -0
  1098. homeassistant-stubs/config.pyi +8 -0
  1099. homeassistant-stubs/config_entries.pyi +53 -0
  1100. homeassistant-stubs/core.pyi +47 -0
  1101. homeassistant-stubs/data_entry_flow.pyi +22 -0
  1102. homeassistant-stubs/helpers/aiohttp_client.pyi +11 -0
  1103. homeassistant-stubs/helpers/area_registry.pyi +13 -0
  1104. homeassistant-stubs/helpers/category_registry.pyi +8 -0
  1105. homeassistant-stubs/helpers/collection.pyi +14 -0
  1106. homeassistant-stubs/helpers/condition.pyi +4 -0
  1107. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +4 -0
  1108. homeassistant-stubs/helpers/config_validation.pyi +3 -0
  1109. homeassistant-stubs/helpers/debounce.pyi +5 -0
  1110. homeassistant-stubs/helpers/device.pyi +5 -0
  1111. homeassistant-stubs/helpers/device_registry.pyi +19 -0
  1112. homeassistant-stubs/helpers/discovery.pyi +7 -0
  1113. homeassistant-stubs/helpers/discovery_flow.pyi +5 -0
  1114. homeassistant-stubs/helpers/dispatcher.pyi +15 -0
  1115. homeassistant-stubs/helpers/entity.pyi +27 -1
  1116. homeassistant-stubs/helpers/entity_component.pyi +5 -0
  1117. homeassistant-stubs/helpers/entity_platform.pyi +11 -0
  1118. homeassistant-stubs/helpers/entity_registry.pyi +33 -0
  1119. homeassistant-stubs/helpers/event.pyi +79 -0
  1120. homeassistant-stubs/helpers/floor_registry.pyi +8 -0
  1121. homeassistant-stubs/helpers/hassio.pyi +2 -0
  1122. homeassistant-stubs/helpers/httpx_client.pyi +4 -0
  1123. homeassistant-stubs/helpers/icon.pyi +3 -0
  1124. homeassistant-stubs/helpers/integration_platform.pyi +3 -0
  1125. homeassistant-stubs/helpers/intent.pyi +22 -0
  1126. homeassistant-stubs/helpers/issue_registry.pyi +10 -0
  1127. homeassistant-stubs/helpers/label_registry.pyi +8 -0
  1128. homeassistant-stubs/helpers/llm.pyi +6 -0
  1129. homeassistant-stubs/helpers/network.pyi +6 -0
  1130. homeassistant-stubs/helpers/ratelimit.pyi +5 -0
  1131. homeassistant-stubs/helpers/recorder.pyi +5 -0
  1132. homeassistant-stubs/helpers/registry.pyi +2 -0
  1133. homeassistant-stubs/helpers/reload.pyi +1 -0
  1134. homeassistant-stubs/helpers/restore_state.pyi +6 -0
  1135. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +8 -0
  1136. homeassistant-stubs/helpers/script.pyi +11 -0
  1137. homeassistant-stubs/helpers/script_variables.pyi +1 -0
  1138. homeassistant-stubs/helpers/selector.pyi +2 -0
  1139. homeassistant-stubs/helpers/service.pyi +22 -0
  1140. homeassistant-stubs/helpers/signal.pyi +2 -0
  1141. homeassistant-stubs/helpers/significant_change.pyi +1 -0
  1142. homeassistant-stubs/helpers/start.pyi +3 -0
  1143. homeassistant-stubs/helpers/state.pyi +1 -0
  1144. homeassistant-stubs/helpers/storage.pyi +12 -0
  1145. homeassistant-stubs/helpers/sun.pyi +9 -0
  1146. homeassistant-stubs/helpers/system_info.pyi +1 -0
  1147. homeassistant-stubs/helpers/template.pyi +8 -0
  1148. homeassistant-stubs/helpers/trace.pyi +2 -0
  1149. homeassistant-stubs/helpers/translation.pyi +8 -0
  1150. homeassistant-stubs/helpers/trigger.pyi +4 -0
  1151. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -0
  1152. homeassistant-stubs/helpers/update_coordinator.pyi +11 -0
  1153. homeassistant-stubs/loader.pyi +5 -0
  1154. homeassistant-stubs/requirements.pyi +2 -0
  1155. homeassistant-stubs/runner.pyi +1 -0
  1156. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -0
  1157. homeassistant-stubs/setup.pyi +11 -0
  1158. homeassistant-stubs/util/enum.pyi +1 -0
  1159. homeassistant-stubs/util/location.pyi +2 -0
  1160. homeassistant-stubs/util/logging.pyi +2 -0
  1161. homeassistant-stubs/util/loop.pyi +2 -0
  1162. homeassistant-stubs/util/package.pyi +2 -0
  1163. homeassistant-stubs/util/ssl.pyi +3 -0
  1164. homeassistant-stubs/util/system_info.pyi +3 -0
  1165. homeassistant-stubs/util/unit_conversion.pyi +8 -0
  1166. homeassistant-stubs/util/yaml/loader.pyi +5 -0
  1167. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.3.dist-info}/METADATA +2 -2
  1168. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.3.dist-info}/RECORD +1170 -1170
  1169. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.3.dist-info}/WHEEL +0 -0
  1170. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.3.dist-info}/licenses/LICENSE +0 -0
@@ -12,6 +12,7 @@ from .trigger import async_initialize_triggers as async_initialize_triggers, asy
12
12
  from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
13
13
  from _typeshed import Incomplete
14
14
  from collections.abc import AsyncGenerator, Callable as Callable, Mapping, Sequence
15
+ from contextlib import asynccontextmanager
15
16
  from contextvars import ContextVar
16
17
  from dataclasses import dataclass
17
18
  from datetime import datetime, timedelta
@@ -65,6 +66,7 @@ class ScriptStoppedError(Exception): ...
65
66
 
66
67
  def _set_result_unless_done(future: asyncio.Future[None]) -> None: ...
67
68
  def action_trace_append(variables: dict[str, Any], path: str) -> TraceElement: ...
69
+ @asynccontextmanager
68
70
  async def trace_action(hass: HomeAssistant, script_run: _ScriptRun, stop: asyncio.Future[None], variables: dict[str, Any]) -> AsyncGenerator[TraceElement]: ...
69
71
  def make_script_schema(schema: Mapping[Any, Any], default_script_mode: str, extra: int = ...) -> vol.Schema: ...
70
72
 
@@ -140,6 +142,7 @@ class _QueuedScriptRun(_ScriptRun):
140
142
  async def async_run(self) -> None: ...
141
143
  def _finish(self) -> None: ...
142
144
 
145
+ @callback
143
146
  def _schedule_stop_scripts_after_shutdown(hass: HomeAssistant) -> None: ...
144
147
  async def _async_stop_scripts_after_shutdown(hass: HomeAssistant, point_in_time: datetime) -> None: ...
145
148
  async def _async_stop_scripts_at_shutdown(hass: HomeAssistant, event: Event) -> None: ...
@@ -197,6 +200,7 @@ class Script:
197
200
  def _set_logger(self, logger: logging.Logger | None = None) -> None: ...
198
201
  def update_logger(self, logger: logging.Logger | None = None) -> None: ...
199
202
  def _changed(self) -> None: ...
203
+ @callback
200
204
  def _chain_change_listener(self, sub_script: Script) -> None: ...
201
205
  @property
202
206
  def is_running(self) -> bool: ...
@@ -237,10 +241,17 @@ class Script:
237
241
  async def _async_get_sequence_script(self, step: int) -> Script: ...
238
242
  def _log(self, msg: str, *args: Any, level: int = ..., **kwargs: Any) -> None: ...
239
243
 
244
+ @callback
240
245
  def breakpoint_clear(hass: HomeAssistant, key: str, run_id: str | None, node: str) -> None: ...
246
+ @callback
241
247
  def breakpoint_clear_all(hass: HomeAssistant) -> None: ...
248
+ @callback
242
249
  def breakpoint_set(hass: HomeAssistant, key: str, run_id: str | None, node: str) -> None: ...
250
+ @callback
243
251
  def breakpoint_list(hass: HomeAssistant) -> list[dict[str, Any]]: ...
252
+ @callback
244
253
  def debug_continue(hass: HomeAssistant, key: str, run_id: str) -> None: ...
254
+ @callback
245
255
  def debug_step(hass: HomeAssistant, key: str, run_id: str) -> None: ...
256
+ @callback
246
257
  def debug_stop(hass: HomeAssistant, key: str, run_id: str) -> None: ...
@@ -8,5 +8,6 @@ class ScriptVariables:
8
8
  variables: Incomplete
9
9
  _has_template: bool | None
10
10
  def __init__(self, variables: dict[str, Any]) -> None: ...
11
+ @callback
11
12
  def async_render(self, hass: HomeAssistant, run_variables: Mapping[str, Any] | None, *, render_as_defaults: bool = True, limited: bool = False) -> dict[str, Any]: ...
12
13
  def as_dict(self) -> dict[str, Any]: ...
@@ -1,6 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable, Mapping, Sequence
3
3
  from enum import StrEnum
4
+ from functools import cache
4
5
  from homeassistant.const import CONF_MODE as CONF_MODE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
5
6
  from homeassistant.core import split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
6
7
  from homeassistant.generated.countries import COUNTRIES as COUNTRIES
@@ -22,6 +23,7 @@ class Selector[_T: Mapping[str, Any]]:
22
23
  def __eq__(self, other: object) -> bool: ...
23
24
  def serialize(self) -> dict[str, dict[str, _T]]: ...
24
25
 
26
+ @cache
25
27
  def _entity_feature_flag(domain: str, enum_name: str, feature_name: str) -> int: ...
26
28
  def _validate_supported_feature(supported_feature: str) -> int: ...
27
29
  def _validate_supported_features(supported_features: int | list[str]) -> int: ...
@@ -6,6 +6,7 @@ from .selector import TargetSelector as TargetSelector
6
6
  from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
7
7
  from _typeshed import Incomplete
8
8
  from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
9
+ from functools import cache
9
10
  from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
10
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_ACTION as CONF_ACTION, CONF_ENTITY_ID as CONF_ENTITY_ID, 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
12
  from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
@@ -23,6 +24,7 @@ _LOGGER: Incomplete
23
24
  SERVICE_DESCRIPTION_CACHE: HassKey[dict[tuple[str, str], dict[str, Any] | None]]
24
25
  ALL_SERVICE_DESCRIPTIONS_CACHE: HassKey[tuple[set[tuple[str, str]], dict[str, dict[str, Any]]]]
25
26
 
27
+ @cache
26
28
  def _base_components() -> dict[str, ModuleType]: ...
27
29
  def _validate_option_or_feature(option_or_feature: str, label: str) -> Any: ...
28
30
  def validate_attribute_option(attribute_option: str) -> Any: ...
@@ -65,26 +67,45 @@ class SelectedEntities:
65
67
  referenced_areas: set[str] = dataclasses.field(default_factory=set)
66
68
  def log_missing(self, missing_entities: set[str]) -> None: ...
67
69
 
70
+ @bind_hass
68
71
  def call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = False, variables: TemplateVarsType = None, validate_config: bool = True) -> None: ...
72
+ @bind_hass
69
73
  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: ...
74
+ @callback
75
+ @bind_hass
70
76
  def async_prepare_call_from_config(hass: HomeAssistant, config: ConfigType, variables: TemplateVarsType = None, validate_config: bool = False) -> ServiceParams: ...
77
+ @bind_hass
71
78
  def extract_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
79
+ @bind_hass
72
80
  async def async_extract_entities[_EntityT: Entity](hass: HomeAssistant, entities: Iterable[_EntityT], service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
81
+ @bind_hass
73
82
  async def async_extract_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
74
83
  def _has_match(ids: str | list[str] | None) -> TypeGuard[str | list[str]]: ...
84
+ @bind_hass
75
85
  def async_extract_referenced_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> SelectedEntities: ...
86
+ @bind_hass
76
87
  async def async_extract_config_entry_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
77
88
  def _load_services_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
78
89
  def _load_services_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> list[JSON_TYPE]: ...
90
+ @callback
79
91
  def async_get_cached_service_description(hass: HomeAssistant, domain: str, service: str) -> dict[str, Any] | None: ...
92
+ @bind_hass
80
93
  async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any]]: ...
94
+ @callback
81
95
  def remove_entity_service_fields(call: ServiceCall) -> dict[Any, Any]: ...
96
+ @callback
97
+ @bind_hass
82
98
  def async_set_service_schema(hass: HomeAssistant, domain: str, service: str, schema: dict[str, Any]) -> None: ...
83
99
  def _get_permissible_entity_candidates(call: ServiceCall, entities: dict[str, Entity], entity_perms: Callable[[str, str], bool] | None, target_all_entities: bool, all_referenced: set[str] | None) -> list[Entity]: ...
100
+ @bind_hass
84
101
  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: ...
85
102
  async def _handle_entity_call(hass: HomeAssistant, entity: Entity, func: str | HassJob, data: dict | ServiceCall, context: Context) -> ServiceResponse: ...
86
103
  async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall], Awaitable[None] | None], call: ServiceCall) -> None: ...
104
+ @bind_hass
105
+ @callback
87
106
  def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Awaitable[None] | None], schema: VolSchemaType = ...) -> None: ...
107
+ @bind_hass
108
+ @callback
88
109
  def verify_domain_control(hass: HomeAssistant, domain: str) -> Callable[[Callable[[ServiceCall], Any]], Callable[[ServiceCall], Any]]: ...
89
110
 
90
111
  class ReloadServiceHelper[_T]:
@@ -96,4 +117,5 @@ class ReloadServiceHelper[_T]:
96
117
  def __init__(self, service_func: Callable[[ServiceCall], Coroutine[Any, Any, Any]], reload_targets_func: Callable[[ServiceCall], set[_T]]) -> None: ...
97
118
  async def execute_service(self, service_call: ServiceCall) -> None: ...
98
119
 
120
+ @callback
99
121
  def async_register_entity_service(hass: HomeAssistant, domain: str, name: str, *, entities: dict[str, Entity], func: str | Callable[..., Any], job_type: HassJobType | None, required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
@@ -8,4 +8,6 @@ from homeassistant.util.hass_dict import HassKey as HassKey
8
8
  _LOGGER: Incomplete
9
9
  KEY_HA_STOP: HassKey[asyncio.Task[None]]
10
10
 
11
+ @callback
12
+ @bind_hass
11
13
  def async_register_signal_handling(hass: HomeAssistant) -> None: ...
@@ -28,4 +28,5 @@ class SignificantlyChangedChecker:
28
28
  last_approved_entities: dict[str, tuple[State, Any]]
29
29
  extra_significant_check: Incomplete
30
30
  def __init__(self, hass: HomeAssistant, extra_significant_check: ExtraCheckTypeFunc | None = None) -> None: ...
31
+ @callback
31
32
  def async_is_significant_change(self, new_state: State, *, extra_arg: Any | None = None) -> bool: ...
@@ -5,6 +5,9 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as Core
5
5
  from homeassistant.util.event_type import EventType as EventType
6
6
  from typing import Any
7
7
 
8
+ @callback
8
9
  def _async_at_core_state(hass: HomeAssistant, at_start_cb: Callable[[HomeAssistant], Coroutine[Any, Any, None] | None], event_type: EventType[NoEventData], check_state: Callable[[HomeAssistant], bool]) -> CALLBACK_TYPE: ...
10
+ @callback
9
11
  def async_at_start(hass: HomeAssistant, at_start_cb: Callable[[HomeAssistant], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
12
+ @callback
10
13
  def async_at_started(hass: HomeAssistant, at_start_cb: Callable[[HomeAssistant], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
@@ -9,5 +9,6 @@ from typing import Any
9
9
 
10
10
  _LOGGER: Incomplete
11
11
 
12
+ @bind_hass
12
13
  async def async_reproduce_state(hass: HomeAssistant, states: State | Iterable[State], *, context: Context | None = None, reproduce_options: dict[str, Any] | None = None) -> None: ...
13
14
  def state_as_number(state: State) -> float: ...
@@ -20,6 +20,7 @@ STORAGE_SEMAPHORE: HassKey[asyncio.Semaphore]
20
20
  STORAGE_MANAGER: HassKey[_StoreManager]
21
21
  MANAGER_CLEANUP_DELAY: int
22
22
 
23
+ @bind_hass
23
24
  async def async_migrator[_T: Mapping[str, Any] | Sequence[Any]](hass: HomeAssistant, old_path: str, store: Store[_T], *, old_conf_load_func: Callable | None = None, old_conf_migrate_func: Callable | None = None) -> _T | None: ...
24
25
  def get_internal_store_manager(hass: HomeAssistant) -> _StoreManager: ...
25
26
 
@@ -32,10 +33,15 @@ class _StoreManager:
32
33
  _cancel_cleanup: asyncio.TimerHandle | None
33
34
  def __init__(self, hass: HomeAssistant) -> None: ...
34
35
  async def async_initialize(self) -> None: ...
36
+ @callback
35
37
  def async_invalidate(self, key: str) -> None: ...
38
+ @callback
36
39
  def async_fetch(self, key: str) -> tuple[bool, json_util.JsonValueType | None] | None: ...
40
+ @callback
37
41
  def _async_schedule_cleanup(self, _event: Event) -> None: ...
42
+ @callback
38
43
  def _async_cancel_and_cleanup(self, _event: Event) -> None: ...
44
+ @callback
39
45
  def _async_cleanup(self) -> None: ...
40
46
  async def async_preload(self, keys: Iterable[str]) -> None: ...
41
47
  def _preload(self, keys: Iterable[str]) -> None: ...
@@ -65,11 +71,17 @@ class Store[_T: Mapping[str, Any] | Sequence[Any]]:
65
71
  async def _async_load(self) -> _T | None: ...
66
72
  async def _async_load_data(self): ...
67
73
  async def async_save(self, data: _T) -> None: ...
74
+ @callback
68
75
  def async_delay_save(self, data_func: Callable[[], _T], delay: float = 0) -> None: ...
76
+ @callback
69
77
  def _async_reschedule_delayed_write(self, when: float) -> None: ...
78
+ @callback
70
79
  def _async_schedule_callback_delayed_write(self) -> None: ...
80
+ @callback
71
81
  def _async_ensure_final_write_listener(self) -> None: ...
82
+ @callback
72
83
  def _async_cleanup_final_write_listener(self) -> None: ...
84
+ @callback
73
85
  def _async_cleanup_delay_listener(self) -> None: ...
74
86
  async def _async_callback_delayed_write(self) -> None: ...
75
87
  async def _async_callback_final_write(self, _event: Event) -> None: ...
@@ -12,8 +12,17 @@ DATA_LOCATION_CACHE: HassKey[dict[tuple[str, str, str, float, float], astral.loc
12
12
  ELEVATION_AGNOSTIC_EVENTS: Incomplete
13
13
  type _AstralSunEventCallable = Callable[..., datetime.datetime]
14
14
 
15
+ @callback
16
+ @bind_hass
15
17
  def get_astral_location(hass: HomeAssistant) -> tuple[astral.location.Location, astral.Elevation]: ...
18
+ @callback
19
+ @bind_hass
16
20
  def get_astral_event_next(hass: HomeAssistant, event: str, utc_point_in_time: datetime.datetime | None = None, offset: datetime.timedelta | None = None) -> datetime.datetime: ...
21
+ @callback
17
22
  def get_location_astral_event_next(location: astral.location.Location, elevation: astral.Elevation, event: str, utc_point_in_time: datetime.datetime | None = None, offset: datetime.timedelta | None = None) -> datetime.datetime: ...
23
+ @callback
24
+ @bind_hass
18
25
  def get_astral_event_date(hass: HomeAssistant, event: str, date: datetime.date | datetime.datetime | None = None) -> datetime.datetime | None: ...
26
+ @callback
27
+ @bind_hass
19
28
  def is_up(hass: HomeAssistant, utc_point_in_time: datetime.datetime | None = None) -> bool: ...
@@ -15,4 +15,5 @@ async def async_get_mac_ver(hass: HomeAssistant) -> str: ...
15
15
 
16
16
  cached_get_user: Incomplete
17
17
 
18
+ @bind_hass
18
19
  async def async_get_system_info(hass: HomeAssistant) -> dict[str, Any]: ...
@@ -11,6 +11,7 @@ from collections.abc import Callable as Callable, Generator, Iterable
11
11
  from contextlib import AbstractContextManager
12
12
  from contextvars import ContextVar
13
13
  from datetime import datetime, timedelta
14
+ from functools import cache
14
15
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_PERSONS as ATTR_PERSONS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfLength as UnitOfLength
15
16
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State, callback as callback, split_entity_id as split_entity_id, valid_domain as valid_domain, valid_entity_id as valid_entity_id
16
17
  from homeassistant.exceptions import TemplateError as TemplateError
@@ -21,6 +22,7 @@ from homeassistant.util.hass_dict import HassKey as HassKey
21
22
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
22
23
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
23
24
  from homeassistant.util.thread import ThreadWithException as ThreadWithException
25
+ from jinja2 import pass_context
24
26
  from jinja2.sandbox import ImmutableSandboxedEnvironment
25
27
  from lru import LRU
26
28
  from propcache import under_cached_property
@@ -53,6 +55,7 @@ ORJSON_PASSTHROUGH_OPTIONS: Incomplete
53
55
  def _template_state_no_collect(hass: HomeAssistant, state: State) -> TemplateState: ...
54
56
  def _template_state(hass: HomeAssistant, state: State) -> TemplateState: ...
55
57
  def async_setup(hass: HomeAssistant) -> bool: ...
58
+ @bind_hass
56
59
  def attach(hass: HomeAssistant, obj: Any) -> None: ...
57
60
  def _attach(hass: HomeAssistant, obj: Any) -> None: ...
58
61
  def render_complex(value: Any, variables: TemplateVarsType = None, limited: bool = False, parse_result: bool = True) -> Any: ...
@@ -121,17 +124,21 @@ class Template:
121
124
  def _env(self) -> TemplateEnvironment: ...
122
125
  def ensure_valid(self) -> None: ...
123
126
  def render(self, variables: TemplateVarsType = None, parse_result: bool = True, limited: bool = False, **kwargs: Any) -> Any: ...
127
+ @callback
124
128
  def async_render(self, variables: TemplateVarsType = None, parse_result: bool = True, limited: bool = False, strict: bool = False, log_fn: Callable[[int, str], None] | None = None, **kwargs: Any) -> Any: ...
125
129
  def _parse_result(self, render_result: str) -> Any: ...
126
130
  async def async_render_will_timeout(self, timeout: float, variables: TemplateVarsType = None, strict: bool = False, log_fn: Callable[[int, str], None] | None = None, **kwargs: Any) -> bool: ...
131
+ @callback
127
132
  def async_render_to_info(self, variables: TemplateVarsType = None, strict: bool = False, log_fn: Callable[[int, str], None] | None = None, **kwargs: Any) -> RenderInfo: ...
128
133
  def render_with_possible_json_value(self, value, error_value=...): ...
134
+ @callback
129
135
  def async_render_with_possible_json_value(self, value: Any, error_value: Any = ..., variables: dict[str, Any] | None = None, parse_result: bool = False) -> Any: ...
130
136
  def _ensure_compiled(self, limited: bool = False, strict: bool = False, log_fn: Callable[[int, str], None] | None = None) -> jinja2.Template: ...
131
137
  def __eq__(self, other): ...
132
138
  def __hash__(self) -> int: ...
133
139
  def __repr__(self) -> str: ...
134
140
 
141
+ @cache
135
142
  def _domain_states(hass: HomeAssistant, name: str) -> DomainStates: ...
136
143
  def _readonly(*args: Any, **kwargs: Any) -> Any: ...
137
144
 
@@ -329,6 +336,7 @@ def ordinal(value): ...
329
336
  def from_json(value): ...
330
337
  def _to_json_default(obj: Any) -> None: ...
331
338
  def to_json(value: Any, ensure_ascii: bool = False, pretty_print: bool = False, sort_keys: bool = False) -> str: ...
339
+ @pass_context
332
340
  def random_every_time(context, values): ...
333
341
  def today_at(hass: HomeAssistant, time_str: str = '') -> datetime: ...
334
342
  def relative_time(hass: HomeAssistant, value: Any) -> Any: ...
@@ -2,6 +2,7 @@ from .typing import TemplateVarsType as TemplateVarsType
2
2
  from _typeshed import Incomplete
3
3
  from collections import deque
4
4
  from collections.abc import Callable as Callable, Coroutine, Generator
5
+ from contextlib import contextmanager
5
6
  from contextvars import ContextVar
6
7
  from homeassistant.core import ServiceResponse as ServiceResponse
7
8
  from typing import Any
@@ -54,5 +55,6 @@ class StopReason:
54
55
 
55
56
  def script_execution_set(reason: str, response: ServiceResponse = None) -> None: ...
56
57
  def script_execution_get() -> str | None: ...
58
+ @contextmanager
57
59
  def trace_path(suffix: str | list[str]) -> Generator[None]: ...
58
60
  def async_trace_path[*_Ts](suffix: str | list[str]) -> Callable[[Callable[[*_Ts], Coroutine[Any, Any, None]]], Callable[[*_Ts], Coroutine[Any, Any, None]]]: ...
@@ -29,19 +29,27 @@ class _TranslationCache:
29
29
  cache_data: Incomplete
30
30
  lock: Incomplete
31
31
  def __init__(self, hass: HomeAssistant) -> None: ...
32
+ @callback
32
33
  def async_is_loaded(self, language: str, components: set[str]) -> bool: ...
33
34
  async def async_load(self, language: str, components: set[str]) -> None: ...
34
35
  async def async_fetch(self, language: str, category: str, components: set[str]) -> dict[str, str]: ...
35
36
  def get_cached(self, language: str, category: str, components: set[str]) -> dict[str, str]: ...
36
37
  async def _async_load(self, language: str, components: set[str]) -> None: ...
37
38
  def _validate_placeholders(self, language: str, updated_resources: dict[str, str], cached_resources: dict[str, str] | None = None) -> dict[str, str]: ...
39
+ @callback
38
40
  def _build_category_cache(self, language: str, components: set[str], translation_strings: dict[str, dict[str, Any]]) -> None: ...
39
41
 
42
+ @bind_hass
40
43
  async def async_get_translations(hass: HomeAssistant, language: str, category: str, integrations: Iterable[str] | None = None, config_flow: bool | None = None) -> dict[str, str]: ...
44
+ @callback
41
45
  def async_get_cached_translations(hass: HomeAssistant, language: str, category: str, integration: str | None = None) -> dict[str, str]: ...
42
46
  def _async_get_translations_cache(hass: HomeAssistant) -> _TranslationCache: ...
47
+ @callback
43
48
  def async_setup(hass: HomeAssistant) -> None: ...
44
49
  async def async_load_integrations(hass: HomeAssistant, integrations: set[str]) -> None: ...
50
+ @callback
45
51
  def async_translations_loaded(hass: HomeAssistant, components: set[str]) -> bool: ...
52
+ @callback
46
53
  def async_get_exception_message(translation_domain: str, translation_key: str, translation_placeholders: dict[str, str] | None = None) -> str: ...
54
+ @callback
47
55
  def async_translate_state(hass: HomeAssistant, state: str, domain: str, platform: str | None, translation_key: str | None, device_class: str | None) -> str: ...
@@ -46,11 +46,15 @@ class PluggableAction:
46
46
  _update: Incomplete
47
47
  def __init__(self, update: CALLBACK_TYPE | None = None) -> None: ...
48
48
  def __bool__(self) -> bool: ...
49
+ @callback
49
50
  def async_run_update(self) -> None: ...
50
51
  @staticmethod
52
+ @callback
51
53
  def async_get_registry(hass: HomeAssistant) -> dict[tuple, PluggableActionsEntry]: ...
52
54
  @staticmethod
55
+ @callback
53
56
  def async_attach_trigger(hass: HomeAssistant, trigger: dict[str, str], action: TriggerActionType, variables: dict[str, Any]) -> CALLBACK_TYPE: ...
57
+ @callback
54
58
  def async_register(self, hass: HomeAssistant, trigger: dict[str, str]) -> CALLBACK_TYPE: ...
55
59
  async def async_run(self, hass: HomeAssistant, context: Context | None = None) -> None: ...
56
60
 
@@ -52,6 +52,7 @@ class TriggerBaseEntity(Entity):
52
52
 
53
53
  class ManualTriggerEntity(TriggerBaseEntity):
54
54
  def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
55
+ @callback
55
56
  def _process_manual_data(self, value: Any | None = None) -> None: ...
56
57
 
57
58
  class ManualTriggerSensorEntity(ManualTriggerEntity, SensorEntity):
@@ -26,6 +26,7 @@ _DataUpdateCoordinatorT = TypeVar('_DataUpdateCoordinatorT', bound='DataUpdateCo
26
26
  class UpdateFailed(HomeAssistantError): ...
27
27
 
28
28
  class BaseDataUpdateCoordinatorProtocol(Protocol):
29
+ @callback
29
30
  def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
30
31
 
31
32
  class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
@@ -49,9 +50,12 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
49
50
  _debounced_refresh: Incomplete
50
51
  def __init__(self, hass: HomeAssistant, logger: logging.Logger, *, config_entry: config_entries.ConfigEntry | None | UndefinedType = ..., name: str, update_interval: timedelta | None = None, update_method: Callable[[], Awaitable[_DataT]] | None = None, setup_method: Callable[[], Awaitable[None]] | None = None, request_refresh_debouncer: Debouncer[Coroutine[Any, Any, None]] | None = None, always_update: bool = True) -> None: ...
51
52
  async def async_register_shutdown(self) -> None: ...
53
+ @callback
52
54
  def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
55
+ @callback
53
56
  def async_update_listeners(self) -> None: ...
54
57
  async def async_shutdown(self) -> None: ...
58
+ @callback
55
59
  def _unschedule_refresh(self) -> None: ...
56
60
  def async_contexts(self) -> Generator[Any]: ...
57
61
  def _async_unsub_refresh(self) -> None: ...
@@ -61,7 +65,9 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
61
65
  _update_interval: Incomplete
62
66
  @update_interval.setter
63
67
  def update_interval(self, value: timedelta | None) -> None: ...
68
+ @callback
64
69
  def _schedule_refresh(self) -> None: ...
70
+ @callback
65
71
  def __wrap_handle_refresh_interval(self) -> None: ...
66
72
  async def _handle_refresh_interval(self, _now: datetime | None = None) -> None: ...
67
73
  async def async_request_refresh(self) -> None: ...
@@ -71,12 +77,16 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
71
77
  async def _async_setup(self) -> None: ...
72
78
  async def async_refresh(self) -> None: ...
73
79
  async def _async_refresh(self, log_failures: bool = True, raise_on_auth_failed: bool = False, scheduled: bool = False, raise_on_entry_error: bool = False) -> None: ...
80
+ @callback
74
81
  def _async_refresh_finished(self) -> None: ...
82
+ @callback
75
83
  def async_set_update_error(self, err: Exception) -> None: ...
84
+ @callback
76
85
  def async_set_updated_data(self, data: _DataT) -> None: ...
77
86
 
78
87
  class TimestampDataUpdateCoordinator(DataUpdateCoordinator[_DataT]):
79
88
  last_update_success_time: datetime | None
89
+ @callback
80
90
  def _async_refresh_finished(self) -> None: ...
81
91
 
82
92
  class BaseCoordinatorEntity[_BaseDataUpdateCoordinatorT: BaseDataUpdateCoordinatorProtocol](entity.Entity, metaclass=abc.ABCMeta):
@@ -86,6 +96,7 @@ class BaseCoordinatorEntity[_BaseDataUpdateCoordinatorT: BaseDataUpdateCoordinat
86
96
  @cached_property
87
97
  def should_poll(self) -> bool: ...
88
98
  async def async_added_to_hass(self) -> None: ...
99
+ @callback
89
100
  def _handle_coordinator_update(self) -> None: ...
90
101
  @abstractmethod
91
102
  async def async_update(self) -> None: ...
@@ -148,6 +148,7 @@ def homekit_always_discover(iot_class: str | None) -> bool: ...
148
148
  async def async_get_homekit(hass: HomeAssistant) -> dict[str, HomeKitDiscoveredIntegration]: ...
149
149
  async def async_get_ssdp(hass: HomeAssistant) -> dict[str, list[dict[str, str]]]: ...
150
150
  async def async_get_mqtt(hass: HomeAssistant) -> dict[str, list[str]]: ...
151
+ @callback
151
152
  def async_register_preload_platform(hass: HomeAssistant, platform_name: str) -> None: ...
152
153
 
153
154
  class Integration:
@@ -244,6 +245,7 @@ class Integration:
244
245
 
245
246
  def _version_blocked(integration_version: AwesomeVersion, blocked_integration: BlockedIntegration) -> bool: ...
246
247
  def _resolve_integrations_from_root(hass: HomeAssistant, root_module: ModuleType, domains: Iterable[str]) -> dict[str, Integration]: ...
248
+ @callback
247
249
  def async_get_loaded_integration(hass: HomeAssistant, domain: str) -> Integration: ...
248
250
  async def async_get_integration(hass: HomeAssistant, domain: str) -> Integration: ...
249
251
  async def async_get_integrations(hass: HomeAssistant, domains: Iterable[str]) -> dict[str, Integration | Exception]: ...
@@ -286,6 +288,9 @@ async def _async_component_dependencies(hass: HomeAssistant, integration: Integr
286
288
  def _async_mount_config_dir(hass: HomeAssistant) -> None: ...
287
289
  def _lookup_path(hass: HomeAssistant) -> list[str]: ...
288
290
  def is_component_module_loaded(hass: HomeAssistant, module: str) -> bool: ...
291
+ @callback
289
292
  def async_get_issue_integration(hass: HomeAssistant | None, integration_domain: str | None) -> Integration | None: ...
293
+ @callback
290
294
  def async_get_issue_tracker(hass: HomeAssistant | None, *, integration: Integration | None = None, integration_domain: str | None = None, module: str | None = None) -> str | None: ...
295
+ @callback
291
296
  def async_suggest_report_issue(hass: HomeAssistant | None, *, integration: Integration | None = None, integration_domain: str | None = None, module: str | None = None) -> str: ...
@@ -22,7 +22,9 @@ class RequirementsNotFound(HomeAssistantError):
22
22
  async def async_get_integration_with_requirements(hass: HomeAssistant, domain: str) -> Integration: ...
23
23
  async def async_process_requirements(hass: HomeAssistant, name: str, requirements: list[str]) -> None: ...
24
24
  async def async_load_installed_versions(hass: HomeAssistant, requirements: set[str]) -> None: ...
25
+ @callback
25
26
  def _async_get_manager(hass: HomeAssistant) -> RequirementsManager: ...
27
+ @callback
26
28
  def async_clear_install_history(hass: HomeAssistant) -> None: ...
27
29
  def pip_kwargs(config_dir: str | None) -> dict[str, Any]: ...
28
30
  def _install_with_retry(requirement: str, kwargs: dict[str, Any]) -> bool: ...
@@ -33,6 +33,7 @@ class HassEventLoopPolicy(asyncio.DefaultEventLoopPolicy):
33
33
  def loop_name(self) -> str: ...
34
34
  def new_event_loop(self) -> asyncio.AbstractEventLoop: ...
35
35
 
36
+ @callback
36
37
  def _async_loop_exception_handler(_: Any, context: dict[str, Any]) -> None: ...
37
38
  async def setup_and_run_hass(runtime_config: RuntimeConfig) -> int: ...
38
39
  def _enable_posix_spawn() -> None: ...
@@ -10,11 +10,19 @@ BENCHMARKS: dict[str, Callable]
10
10
  def run(args) -> None: ...
11
11
  async def run_benchmark(bench) -> None: ...
12
12
  def benchmark[_CallableT: Callable](func: _CallableT) -> _CallableT: ...
13
+ @benchmark
13
14
  async def fire_events(hass): ...
15
+ @benchmark
14
16
  async def fire_events_with_filter(hass): ...
17
+ @benchmark
15
18
  async def state_changed_helper(hass): ...
19
+ @benchmark
16
20
  async def state_changed_event_helper(hass): ...
21
+ @benchmark
17
22
  async def state_changed_event_filter_helper(hass): ...
23
+ @benchmark
18
24
  async def filtering_entity_id(hass): ...
25
+ @benchmark
19
26
  async def valid_entity_id(hass): ...
27
+ @benchmark
20
28
  async def json_serialize_states(hass): ...
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ import contextlib
2
3
  import contextvars
3
4
  from . import core as core, loader as loader, requirements as requirements
4
5
  from .const import BASE_PLATFORMS as BASE_PLATFORMS, EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, PLATFORM_FORMAT as PLATFORM_FORMAT
@@ -32,7 +33,9 @@ SLOW_SETUP_MAX_WAIT: int
32
33
  class EventComponentLoaded(TypedDict):
33
34
  component: str
34
35
 
36
+ @callback
35
37
  def async_notify_setup_error(hass: HomeAssistant, component: str, display_link: str | None = None) -> None: ...
38
+ @core.callback
36
39
  def async_set_domains_to_be_loaded(hass: core.HomeAssistant, domains: set[str]) -> None: ...
37
40
  def setup_component(hass: core.HomeAssistant, domain: str, config: ConfigType) -> bool: ...
38
41
  async def async_setup_component(hass: core.HomeAssistant, domain: str, config: ConfigType) -> bool: ...
@@ -41,9 +44,13 @@ def _log_error_setup_error(hass: HomeAssistant, domain: str, integration: loader
41
44
  async def _async_setup_component(hass: core.HomeAssistant, domain: str, config: ConfigType) -> bool: ...
42
45
  async def async_prepare_setup_platform(hass: core.HomeAssistant, hass_config: ConfigType, domain: str, platform_name: str) -> ModuleType | None: ...
43
46
  async def async_process_deps_reqs(hass: core.HomeAssistant, config: ConfigType, integration: loader.Integration) -> None: ...
47
+ @core.callback
44
48
  def async_when_setup(hass: core.HomeAssistant, component: str, when_setup_cb: Callable[[core.HomeAssistant, str], Awaitable[None]]) -> None: ...
49
+ @core.callback
45
50
  def async_when_setup_or_start(hass: core.HomeAssistant, component: str, when_setup_cb: Callable[[core.HomeAssistant, str], Awaitable[None]]) -> None: ...
51
+ @core.callback
46
52
  def _async_when_setup(hass: core.HomeAssistant, component: str, when_setup_cb: Callable[[core.HomeAssistant, str], Awaitable[None]], start_event: bool) -> None: ...
53
+ @core.callback
47
54
  def async_get_loaded_integrations(hass: core.HomeAssistant) -> set[str]: ...
48
55
 
49
56
  class SetupPhases(StrEnum):
@@ -56,8 +63,12 @@ class SetupPhases(StrEnum):
56
63
  WAIT_IMPORT_PACKAGES = 'wait_import_packages'
57
64
 
58
65
  def _setup_started(hass: core.HomeAssistant) -> dict[tuple[str, str | None], float]: ...
66
+ @contextlib.contextmanager
59
67
  def async_pause_setup(hass: core.HomeAssistant, phase: SetupPhases) -> Generator[None]: ...
60
68
  def _setup_times(hass: core.HomeAssistant) -> defaultdict[str, defaultdict[str | None, defaultdict[SetupPhases, float]]]: ...
69
+ @contextlib.contextmanager
61
70
  def async_start_setup(hass: core.HomeAssistant, integration: str, phase: SetupPhases, group: str | None = None) -> Generator[None]: ...
71
+ @callback
62
72
  def async_get_setup_timings(hass: core.HomeAssistant) -> dict[str, float]: ...
73
+ @callback
63
74
  def async_get_domain_setup_times(hass: core.HomeAssistant, domain: str) -> Mapping[str | None, dict[SetupPhases, float]]: ...
@@ -3,4 +3,5 @@ from enum import Enum as Enum
3
3
  from typing import Any
4
4
 
5
5
  def lru_cache[_T: Callable[..., Any]](func: _T) -> _T: ...
6
+ @lru_cache
6
7
  def try_parse_enum[_EnumT: Enum](cls, value: Any) -> _EnumT | None: ...
@@ -1,5 +1,6 @@
1
1
  import aiohttp
2
2
  from _typeshed import Incomplete
3
+ from functools import lru_cache
3
4
  from typing import Any, NamedTuple
4
5
 
5
6
  WHOAMI_URL: str
@@ -25,6 +26,7 @@ class LocationInfo(NamedTuple):
25
26
  use_metric: bool
26
27
 
27
28
  async def async_detect_location_info(session: aiohttp.ClientSession) -> LocationInfo | None: ...
29
+ @lru_cache
28
30
  def distance(lat1: float | None, lon1: float | None, lat2: float, lon2: float) -> float | None: ...
29
31
  def vincenty(point1: tuple[float, float], point2: tuple[float, float], miles: bool = False) -> float | None: ...
30
32
  async def _get_whoami(session: aiohttp.ClientSession) -> dict[str, Any] | None: ...
@@ -9,10 +9,12 @@ class HomeAssistantQueueHandler(logging.handlers.QueueHandler):
9
9
  def handle(self, record: logging.LogRecord) -> Any: ...
10
10
  def close(self) -> None: ...
11
11
 
12
+ @callback
12
13
  def async_activate_log_queue_handler(hass: HomeAssistant) -> None: ...
13
14
  def log_exception[*_Ts](format_err: Callable[[*_Ts], Any], *args: *_Ts) -> None: ...
14
15
  async def _async_wrapper[*_Ts](async_func: Callable[[*_Ts], Coroutine[Any, Any, None]], format_err: Callable[[*_Ts], Any], *args: *_Ts) -> None: ...
15
16
  def _sync_wrapper[*_Ts](func: Callable[[*_Ts], Any], format_err: Callable[[*_Ts], Any], *args: *_Ts) -> None: ...
17
+ @callback
16
18
  def _callback_wrapper[*_Ts](func: Callable[[*_Ts], Any], format_err: Callable[[*_Ts], Any], *args: *_Ts) -> None: ...
17
19
  @overload
18
20
  def catch_log_exception[*_Ts](func: Callable[[*_Ts], Coroutine[Any, Any, Any]], format_err: Callable[[*_Ts], Any], job_type: HassJobType | None = None) -> Callable[[*_Ts], Coroutine[Any, Any, None]]: ...
@@ -1,5 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable
3
+ from functools import cache
3
4
  from homeassistant.core import async_get_hass_or_none as async_get_hass_or_none
4
5
  from homeassistant.helpers.frame import MissingIntegrationFrame as MissingIntegrationFrame, get_current_frame as get_current_frame, get_integration_frame as get_integration_frame
5
6
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
@@ -12,5 +13,6 @@ def _get_line_from_cache(filename: str, lineno: int) -> str: ...
12
13
  _PREVIOUSLY_REPORTED: set[tuple[str | None, str, int | Any]]
13
14
 
14
15
  def raise_for_blocking_call(func: Callable[..., Any], check_allowed: Callable[[dict[str, Any]], bool] | None = None, strict: bool = True, strict_core: bool = True, **mapped_args: Any) -> None: ...
16
+ @cache
15
17
  def _dev_help_message(what: str) -> str: ...
16
18
  def protect_loop[**_P, _R](func: Callable[_P, _R], loop_thread_id: int, strict: bool = True, strict_core: bool = True, check_allowed: Callable[[dict[str, Any]], bool] | None = None) -> Callable[_P, _R]: ...
@@ -1,9 +1,11 @@
1
1
  from .system_info import is_official_image as is_official_image
2
2
  from _typeshed import Incomplete
3
+ from functools import cache
3
4
 
4
5
  _LOGGER: Incomplete
5
6
 
6
7
  def is_virtual_env() -> bool: ...
8
+ @cache
7
9
  def is_docker_env() -> bool: ...
8
10
  def get_installed_versions(specifiers: set[str]) -> set[str]: ...
9
11
  def is_installed(requirement_str: str) -> bool: ...
@@ -1,6 +1,7 @@
1
1
  import ssl
2
2
  from _typeshed import Incomplete
3
3
  from enum import StrEnum
4
+ from functools import cache
4
5
 
5
6
  class SSLCipherList(StrEnum):
6
7
  PYTHON_DEFAULT = 'python_default'
@@ -10,7 +11,9 @@ class SSLCipherList(StrEnum):
10
11
 
11
12
  SSL_CIPHER_LISTS: Incomplete
12
13
 
14
+ @cache
13
15
  def _client_context_no_verify(ssl_cipher_list: SSLCipherList) -> ssl.SSLContext: ...
16
+ @cache
14
17
  def _client_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
15
18
 
16
19
  _DEFAULT_SSL_CONTEXT: Incomplete
@@ -1 +1,4 @@
1
+ from functools import cache
2
+
3
+ @cache
1
4
  def is_official_image() -> bool: ...