homeassistant-stubs 2025.1.2__py3-none-any.whl → 2025.1.4__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 (1171) 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/myuplink/sensor.pyi +1 -1
  638. homeassistant-stubs/components/nanoleaf/event.pyi +1 -0
  639. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -0
  640. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  641. homeassistant-stubs/components/nest/camera.pyi +4 -0
  642. homeassistant-stubs/components/nest/device_info.pyi +2 -0
  643. homeassistant-stubs/components/nest/media_source.pyi +1 -0
  644. homeassistant-stubs/components/netatmo/binary_sensor.pyi +1 -0
  645. homeassistant-stubs/components/netatmo/camera.pyi +2 -0
  646. homeassistant-stubs/components/netatmo/climate.pyi +2 -0
  647. homeassistant-stubs/components/netatmo/config_flow.pyi +1 -0
  648. homeassistant-stubs/components/netatmo/cover.pyi +1 -0
  649. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -0
  650. homeassistant-stubs/components/netatmo/entity.pyi +1 -0
  651. homeassistant-stubs/components/netatmo/fan.pyi +1 -0
  652. homeassistant-stubs/components/netatmo/light.pyi +3 -0
  653. homeassistant-stubs/components/netatmo/media_source.pyi +1 -0
  654. homeassistant-stubs/components/netatmo/select.pyi +2 -0
  655. homeassistant-stubs/components/netatmo/sensor.pyi +5 -0
  656. homeassistant-stubs/components/netatmo/switch.pyi +1 -0
  657. homeassistant-stubs/components/network/__init__.pyi +5 -0
  658. homeassistant-stubs/components/network/network.pyi +1 -0
  659. homeassistant-stubs/components/network/util.pyi +1 -0
  660. homeassistant-stubs/components/network/websocket.pyi +7 -0
  661. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -0
  662. homeassistant-stubs/components/nextdns/sensor.pyi +1 -0
  663. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  664. homeassistant-stubs/components/nextdns/system_health.pyi +1 -0
  665. homeassistant-stubs/components/nissan_leaf/entity.pyi +1 -0
  666. homeassistant-stubs/components/notify/__init__.pyi +4 -1
  667. homeassistant-stubs/components/notify/legacy.pyi +3 -0
  668. homeassistant-stubs/components/notify/repairs.pyi +1 -0
  669. homeassistant-stubs/components/notion/__init__.pyi +1 -0
  670. homeassistant-stubs/components/notion/coordinator.pyi +1 -0
  671. homeassistant-stubs/components/notion/entity.pyi +3 -0
  672. homeassistant-stubs/components/number/__init__.pyi +11 -1
  673. homeassistant-stubs/components/number/significant_change.pyi +1 -0
  674. homeassistant-stubs/components/number/websocket_api.pyi +2 -0
  675. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  676. homeassistant-stubs/components/nut/config_flow.pyi +1 -0
  677. homeassistant-stubs/components/onboarding/__init__.pyi +5 -0
  678. homeassistant-stubs/components/onboarding/views.pyi +2 -0
  679. homeassistant-stubs/components/onewire/config_flow.pyi +1 -0
  680. homeassistant-stubs/components/onkyo/config_flow.pyi +1 -0
  681. homeassistant-stubs/components/onkyo/media_player.pyi +10 -0
  682. homeassistant-stubs/components/open_meteo/weather.pyi +2 -0
  683. homeassistant-stubs/components/opensky/config_flow.pyi +1 -0
  684. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -0
  685. homeassistant-stubs/components/openuv/config_flow.pyi +1 -0
  686. homeassistant-stubs/components/otbr/config_flow.pyi +1 -0
  687. homeassistant-stubs/components/otbr/util.pyi +11 -0
  688. homeassistant-stubs/components/otbr/websocket_api.pyi +12 -0
  689. homeassistant-stubs/components/panel_custom/__init__.pyi +1 -0
  690. homeassistant-stubs/components/peblar/button.pyi +1 -0
  691. homeassistant-stubs/components/peblar/coordinator.pyi +3 -0
  692. homeassistant-stubs/components/peblar/number.pyi +1 -0
  693. homeassistant-stubs/components/peblar/select.pyi +1 -0
  694. homeassistant-stubs/components/peblar/switch.pyi +2 -0
  695. homeassistant-stubs/components/persistent_notification/__init__.pyi +12 -0
  696. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  697. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  698. homeassistant-stubs/components/plugwise/button.pyi +1 -0
  699. homeassistant-stubs/components/plugwise/climate.pyi +3 -0
  700. homeassistant-stubs/components/plugwise/number.pyi +1 -0
  701. homeassistant-stubs/components/plugwise/select.pyi +1 -0
  702. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  703. homeassistant-stubs/components/powerwall/__init__.pyi +1 -0
  704. homeassistant-stubs/components/private_ble_device/device_tracker.pyi +2 -0
  705. homeassistant-stubs/components/private_ble_device/entity.pyi +2 -0
  706. homeassistant-stubs/components/private_ble_device/sensor.pyi +2 -0
  707. homeassistant-stubs/components/proximity/config_flow.pyi +1 -0
  708. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  709. homeassistant-stubs/components/prusalink/coordinator.pyi +1 -0
  710. homeassistant-stubs/components/purpleair/config_flow.pyi +7 -0
  711. homeassistant-stubs/components/purpleair/coordinator.pyi +1 -0
  712. homeassistant-stubs/components/pushbullet/sensor.pyi +1 -0
  713. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +1 -0
  714. homeassistant-stubs/components/qnap_qsw/entity.pyi +2 -0
  715. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -0
  716. homeassistant-stubs/components/qnap_qsw/update.pyi +2 -0
  717. homeassistant-stubs/components/rabbitair/fan.pyi +1 -0
  718. homeassistant-stubs/components/radarr/calendar.pyi +1 -0
  719. homeassistant-stubs/components/radio_browser/media_source.pyi +2 -0
  720. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +1 -0
  721. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  722. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -0
  723. homeassistant-stubs/components/rainmachine/config_flow.pyi +3 -0
  724. homeassistant-stubs/components/rainmachine/coordinator.pyi +1 -0
  725. homeassistant-stubs/components/rainmachine/entity.pyi +2 -0
  726. homeassistant-stubs/components/rainmachine/select.pyi +1 -0
  727. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -0
  728. homeassistant-stubs/components/rainmachine/switch.pyi +17 -0
  729. homeassistant-stubs/components/rainmachine/update.pyi +1 -0
  730. homeassistant-stubs/components/rainmachine/util.pyi +1 -0
  731. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -0
  732. homeassistant-stubs/components/recollect_waste/calendar.pyi +2 -0
  733. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -0
  734. homeassistant-stubs/components/recollect_waste/sensor.pyi +1 -0
  735. homeassistant-stubs/components/recollect_waste/util.pyi +1 -0
  736. homeassistant-stubs/components/recorder/__init__.pyi +1 -0
  737. homeassistant-stubs/components/recorder/basic_websocket_api.pyi +2 -0
  738. homeassistant-stubs/components/recorder/core.pyi +25 -0
  739. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  740. homeassistant-stubs/components/recorder/migration.pyi +2 -1
  741. homeassistant-stubs/components/recorder/services.pyi +5 -0
  742. homeassistant-stubs/components/recorder/statistics.pyi +4 -0
  743. homeassistant-stubs/components/recorder/system_health/__init__.pyi +2 -0
  744. homeassistant-stubs/components/recorder/util.pyi +6 -0
  745. homeassistant-stubs/components/recorder/websocket_api.pyi +17 -0
  746. homeassistant-stubs/components/remote/__init__.pyi +3 -1
  747. homeassistant-stubs/components/remote/device_condition.pyi +1 -0
  748. homeassistant-stubs/components/remote/significant_change.pyi +1 -0
  749. homeassistant-stubs/components/renault/renault_vehicle.pyi +9 -0
  750. homeassistant-stubs/components/reolink/button.pyi +3 -0
  751. homeassistant-stubs/components/reolink/camera.pyi +1 -0
  752. homeassistant-stubs/components/reolink/config_flow.pyi +1 -0
  753. homeassistant-stubs/components/reolink/entity.pyi +1 -0
  754. homeassistant-stubs/components/reolink/host.pyi +2 -0
  755. homeassistant-stubs/components/reolink/light.pyi +4 -0
  756. homeassistant-stubs/components/reolink/number.pyi +3 -0
  757. homeassistant-stubs/components/reolink/select.pyi +2 -0
  758. homeassistant-stubs/components/reolink/services.pyi +1 -0
  759. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  760. homeassistant-stubs/components/reolink/switch.pyi +6 -0
  761. homeassistant-stubs/components/reolink/views.pyi +1 -0
  762. homeassistant-stubs/components/repairs/issue_handler.pyi +2 -0
  763. homeassistant-stubs/components/repairs/websocket_api.pyi +4 -0
  764. homeassistant-stubs/components/rest/__init__.pyi +1 -0
  765. homeassistant-stubs/components/rest/entity.pyi +1 -0
  766. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +1 -0
  767. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -0
  768. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -0
  769. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -0
  770. homeassistant-stubs/components/rfxtrx/event.pyi +1 -0
  771. homeassistant-stubs/components/rfxtrx/helpers.pyi +1 -0
  772. homeassistant-stubs/components/rfxtrx/light.pyi +1 -0
  773. homeassistant-stubs/components/rfxtrx/sensor.pyi +1 -0
  774. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -0
  775. homeassistant-stubs/components/rfxtrx/switch.pyi +1 -0
  776. homeassistant-stubs/components/ridwell/calendar.pyi +1 -0
  777. homeassistant-stubs/components/ring/binary_sensor.pyi +3 -0
  778. homeassistant-stubs/components/ring/button.pyi +1 -0
  779. homeassistant-stubs/components/ring/camera.pyi +4 -0
  780. homeassistant-stubs/components/ring/coordinator.pyi +2 -0
  781. homeassistant-stubs/components/ring/entity.pyi +1 -0
  782. homeassistant-stubs/components/ring/event.pyi +2 -0
  783. homeassistant-stubs/components/ring/light.pyi +2 -0
  784. homeassistant-stubs/components/ring/number.pyi +2 -0
  785. homeassistant-stubs/components/ring/sensor.pyi +1 -0
  786. homeassistant-stubs/components/ring/siren.pyi +3 -0
  787. homeassistant-stubs/components/ring/switch.pyi +2 -0
  788. homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +1 -0
  789. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +1 -0
  790. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  791. homeassistant-stubs/components/roku/config_flow.pyi +2 -0
  792. homeassistant-stubs/components/romy/vacuum.pyi +1 -0
  793. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -0
  794. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  795. homeassistant-stubs/components/ruuvi_gateway/bluetooth.pyi +2 -0
  796. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -0
  797. homeassistant-stubs/components/samsungtv/config_flow.pyi +5 -0
  798. homeassistant-stubs/components/samsungtv/helpers.pyi +3 -0
  799. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -0
  800. homeassistant-stubs/components/samsungtv/remote.pyi +1 -0
  801. homeassistant-stubs/components/scene/__init__.pyi +3 -1
  802. homeassistant-stubs/components/schedule/__init__.pyi +3 -0
  803. homeassistant-stubs/components/schlage/coordinator.pyi +1 -0
  804. homeassistant-stubs/components/schlage/lock.pyi +1 -0
  805. homeassistant-stubs/components/schlage/sensor.pyi +1 -0
  806. homeassistant-stubs/components/scrape/sensor.pyi +1 -0
  807. homeassistant-stubs/components/script/__init__.pyi +14 -0
  808. homeassistant-stubs/components/script/helpers.pyi +1 -0
  809. homeassistant-stubs/components/script/logbook.pyi +1 -0
  810. homeassistant-stubs/components/script/trace.pyi +2 -0
  811. homeassistant-stubs/components/search/__init__.pyi +19 -0
  812. homeassistant-stubs/components/select/__init__.pyi +12 -1
  813. homeassistant-stubs/components/select/device_condition.pyi +1 -0
  814. homeassistant-stubs/components/select/significant_change.pyi +1 -0
  815. homeassistant-stubs/components/sensibo/button.pyi +1 -0
  816. homeassistant-stubs/components/sensibo/climate.pyi +5 -0
  817. homeassistant-stubs/components/sensibo/number.pyi +1 -0
  818. homeassistant-stubs/components/sensibo/select.pyi +1 -0
  819. homeassistant-stubs/components/sensibo/switch.pyi +4 -0
  820. homeassistant-stubs/components/sensor/__init__.pyi +14 -2
  821. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  822. homeassistant-stubs/components/sensor/helpers.pyi +1 -0
  823. homeassistant-stubs/components/sensor/recorder.pyi +1 -0
  824. homeassistant-stubs/components/sensor/significant_change.pyi +1 -0
  825. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  826. homeassistant-stubs/components/senz/climate.pyi +1 -0
  827. homeassistant-stubs/components/sfr_box/button.pyi +1 -0
  828. homeassistant-stubs/components/shelly/button.pyi +1 -0
  829. homeassistant-stubs/components/shelly/climate.pyi +4 -0
  830. homeassistant-stubs/components/shelly/config_flow.pyi +2 -0
  831. homeassistant-stubs/components/shelly/coordinator.pyi +10 -0
  832. homeassistant-stubs/components/shelly/cover.pyi +3 -0
  833. homeassistant-stubs/components/shelly/entity.pyi +10 -0
  834. homeassistant-stubs/components/shelly/event.pyi +2 -0
  835. homeassistant-stubs/components/shelly/light.pyi +3 -0
  836. homeassistant-stubs/components/shelly/logbook.pyi +1 -0
  837. homeassistant-stubs/components/shelly/switch.pyi +3 -0
  838. homeassistant-stubs/components/shelly/update.pyi +1 -0
  839. homeassistant-stubs/components/shelly/utils.pyi +5 -0
  840. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  841. homeassistant-stubs/components/shopping_list/__init__.pyi +7 -0
  842. homeassistant-stubs/components/simplisafe/__init__.pyi +5 -0
  843. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +3 -0
  844. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -0
  845. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  846. homeassistant-stubs/components/simplisafe/entity.pyi +6 -0
  847. homeassistant-stubs/components/simplisafe/lock.pyi +2 -0
  848. homeassistant-stubs/components/simplisafe/sensor.pyi +1 -0
  849. homeassistant-stubs/components/siren/__init__.pyi +2 -1
  850. homeassistant-stubs/components/skybell/binary_sensor.pyi +1 -0
  851. homeassistant-stubs/components/slack/notify.pyi +2 -0
  852. homeassistant-stubs/components/sleepiq/binary_sensor.pyi +1 -0
  853. homeassistant-stubs/components/sleepiq/entity.pyi +2 -0
  854. homeassistant-stubs/components/sleepiq/light.pyi +1 -0
  855. homeassistant-stubs/components/sleepiq/number.pyi +1 -0
  856. homeassistant-stubs/components/sleepiq/select.pyi +2 -0
  857. homeassistant-stubs/components/sleepiq/sensor.pyi +1 -0
  858. homeassistant-stubs/components/sleepiq/switch.pyi +1 -0
  859. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  860. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  861. homeassistant-stubs/components/smlight/update.pyi +3 -0
  862. homeassistant-stubs/components/snooz/fan.pyi +2 -0
  863. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -0
  864. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -0
  865. homeassistant-stubs/components/spotify/media_player.pyi +19 -0
  866. homeassistant-stubs/components/spotify/system_health.pyi +1 -0
  867. homeassistant-stubs/components/sql/config_flow.pyi +1 -0
  868. homeassistant-stubs/components/sql/sensor.pyi +1 -0
  869. homeassistant-stubs/components/squeezebox/coordinator.pyi +1 -0
  870. homeassistant-stubs/components/squeezebox/media_player.pyi +1 -0
  871. homeassistant-stubs/components/ssdp/__init__.pyi +11 -1
  872. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  873. homeassistant-stubs/components/statistics/sensor.pyi +5 -0
  874. homeassistant-stubs/components/steamist/config_flow.pyi +1 -0
  875. homeassistant-stubs/components/steamist/discovery.pyi +5 -0
  876. homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -0
  877. homeassistant-stubs/components/stream/__init__.pyi +2 -1
  878. homeassistant-stubs/components/stream/core.pyi +3 -0
  879. homeassistant-stubs/components/stream/hls.pyi +3 -0
  880. homeassistant-stubs/components/stream/recorder.pyi +1 -0
  881. homeassistant-stubs/components/stt/__init__.pyi +7 -1
  882. homeassistant-stubs/components/stt/legacy.pyi +4 -0
  883. homeassistant-stubs/components/sun/entity.pyi +4 -0
  884. homeassistant-stubs/components/surepetcare/binary_sensor.pyi +3 -0
  885. homeassistant-stubs/components/surepetcare/entity.pyi +2 -0
  886. homeassistant-stubs/components/surepetcare/lock.pyi +1 -0
  887. homeassistant-stubs/components/surepetcare/sensor.pyi +2 -0
  888. homeassistant-stubs/components/switch/__init__.pyi +1 -0
  889. homeassistant-stubs/components/switch/device_condition.pyi +1 -0
  890. homeassistant-stubs/components/switch/significant_change.pyi +1 -0
  891. homeassistant-stubs/components/switch_as_x/__init__.pyi +1 -0
  892. homeassistant-stubs/components/switch_as_x/cover.pyi +1 -0
  893. homeassistant-stubs/components/switch_as_x/entity.pyi +4 -0
  894. homeassistant-stubs/components/switch_as_x/lock.pyi +1 -0
  895. homeassistant-stubs/components/switch_as_x/valve.pyi +1 -0
  896. homeassistant-stubs/components/switchbee/climate.pyi +1 -0
  897. homeassistant-stubs/components/switchbee/coordinator.pyi +1 -0
  898. homeassistant-stubs/components/switchbee/cover.pyi +1 -0
  899. homeassistant-stubs/components/switchbee/light.pyi +1 -0
  900. homeassistant-stubs/components/switchbee/switch.pyi +1 -0
  901. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  902. homeassistant-stubs/components/switchbot_cloud/lock.pyi +1 -0
  903. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +1 -0
  904. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  905. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +2 -0
  906. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -0
  907. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -0
  908. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -0
  909. homeassistant-stubs/components/switcher_kis/light.pyi +1 -0
  910. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -0
  911. homeassistant-stubs/components/synology_dsm/common.pyi +1 -0
  912. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
  913. homeassistant-stubs/components/synology_dsm/coordinator.pyi +3 -0
  914. homeassistant-stubs/components/system_health/__init__.pyi +6 -0
  915. homeassistant-stubs/components/system_log/__init__.pyi +2 -0
  916. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +2 -0
  917. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  918. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -0
  919. homeassistant-stubs/components/tag/__init__.pyi +5 -1
  920. homeassistant-stubs/components/tami4/sensor.pyi +1 -0
  921. homeassistant-stubs/components/technove/number.pyi +1 -0
  922. homeassistant-stubs/components/technove/switch.pyi +2 -0
  923. homeassistant-stubs/components/tedee/entity.pyi +1 -0
  924. homeassistant-stubs/components/text/__init__.pyi +5 -1
  925. homeassistant-stubs/components/thethingsnetwork/entity.pyi +1 -0
  926. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -0
  927. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  928. homeassistant-stubs/components/tibber/sensor.pyi +5 -0
  929. homeassistant-stubs/components/tibber/services.pyi +1 -0
  930. homeassistant-stubs/components/tile/device_tracker.pyi +2 -0
  931. homeassistant-stubs/components/time/__init__.pyi +4 -0
  932. homeassistant-stubs/components/time_date/config_flow.pyi +1 -0
  933. homeassistant-stubs/components/time_date/sensor.pyi +2 -0
  934. homeassistant-stubs/components/timer/__init__.pyi +7 -0
  935. homeassistant-stubs/components/tod/binary_sensor.pyi +1 -0
  936. homeassistant-stubs/components/todo/__init__.pyi +9 -1
  937. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  938. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  939. homeassistant-stubs/components/tplink/camera.pyi +1 -0
  940. homeassistant-stubs/components/tplink/climate.pyi +5 -0
  941. homeassistant-stubs/components/tplink/config_flow.pyi +3 -0
  942. homeassistant-stubs/components/tplink/entity.pyi +3 -0
  943. homeassistant-stubs/components/tplink/fan.pyi +3 -0
  944. homeassistant-stubs/components/tplink/light.pyi +7 -0
  945. homeassistant-stubs/components/tplink/number.pyi +2 -0
  946. homeassistant-stubs/components/tplink/select.pyi +2 -0
  947. homeassistant-stubs/components/tplink/sensor.pyi +1 -0
  948. homeassistant-stubs/components/tplink/siren.pyi +3 -0
  949. homeassistant-stubs/components/tplink/switch.pyi +3 -0
  950. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +1 -0
  951. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -0
  952. homeassistant-stubs/components/tplink_omada/switch.pyi +1 -0
  953. homeassistant-stubs/components/tplink_omada/update.pyi +2 -0
  954. homeassistant-stubs/components/trace/websocket_api.pyi +21 -0
  955. homeassistant-stubs/components/tractive/binary_sensor.pyi +1 -0
  956. homeassistant-stubs/components/tractive/device_tracker.pyi +2 -0
  957. homeassistant-stubs/components/tractive/entity.pyi +2 -0
  958. homeassistant-stubs/components/tractive/sensor.pyi +1 -0
  959. homeassistant-stubs/components/tractive/switch.pyi +1 -0
  960. homeassistant-stubs/components/tradfri/__init__.pyi +1 -0
  961. homeassistant-stubs/components/tradfri/coordinator.pyi +2 -0
  962. homeassistant-stubs/components/tradfri/entity.pyi +2 -0
  963. homeassistant-stubs/components/tradfri/sensor.pyi +1 -0
  964. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +1 -0
  965. homeassistant-stubs/components/trafikverket_camera/entity.pyi +2 -0
  966. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +1 -0
  967. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  968. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +1 -0
  969. homeassistant-stubs/components/trafikverket_train/sensor.pyi +2 -0
  970. homeassistant-stubs/components/transmission/config_flow.pyi +1 -0
  971. homeassistant-stubs/components/tts/__init__.pyi +10 -2
  972. homeassistant-stubs/components/tts/legacy.pyi +1 -0
  973. homeassistant-stubs/components/tts/media_source.pyi +3 -0
  974. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -0
  975. homeassistant-stubs/components/unifi/__init__.pyi +3 -0
  976. homeassistant-stubs/components/unifi/button.pyi +2 -0
  977. homeassistant-stubs/components/unifi/config_flow.pyi +1 -0
  978. homeassistant-stubs/components/unifi/device_tracker.pyi +8 -0
  979. homeassistant-stubs/components/unifi/diagnostics.pyi +2 -0
  980. homeassistant-stubs/components/unifi/entity.pyi +10 -0
  981. homeassistant-stubs/components/unifi/hub/entity_helper.pyi +12 -0
  982. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +5 -0
  983. homeassistant-stubs/components/unifi/hub/hub.pyi +5 -0
  984. homeassistant-stubs/components/unifi/hub/websocket.pyi +5 -0
  985. homeassistant-stubs/components/unifi/image.pyi +2 -0
  986. homeassistant-stubs/components/unifi/sensor.pyi +22 -0
  987. homeassistant-stubs/components/unifi/services.pyi +1 -0
  988. homeassistant-stubs/components/unifi/switch.pyi +9 -0
  989. homeassistant-stubs/components/unifi/update.pyi +2 -0
  990. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +6 -0
  991. homeassistant-stubs/components/unifiprotect/button.pyi +2 -0
  992. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -0
  993. homeassistant-stubs/components/unifiprotect/config_flow.pyi +2 -0
  994. homeassistant-stubs/components/unifiprotect/data.pyi +19 -0
  995. homeassistant-stubs/components/unifiprotect/discovery.pyi +2 -0
  996. homeassistant-stubs/components/unifiprotect/entity.pyi +12 -0
  997. homeassistant-stubs/components/unifiprotect/event.pyi +4 -0
  998. homeassistant-stubs/components/unifiprotect/light.pyi +1 -0
  999. homeassistant-stubs/components/unifiprotect/lock.pyi +1 -0
  1000. homeassistant-stubs/components/unifiprotect/media_player.pyi +1 -0
  1001. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -0
  1002. homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -0
  1003. homeassistant-stubs/components/unifiprotect/number.pyi +1 -0
  1004. homeassistant-stubs/components/unifiprotect/repairs.pyi +3 -0
  1005. homeassistant-stubs/components/unifiprotect/select.pyi +2 -0
  1006. homeassistant-stubs/components/unifiprotect/sensor.pyi +4 -0
  1007. homeassistant-stubs/components/unifiprotect/services.pyi +4 -0
  1008. homeassistant-stubs/components/unifiprotect/switch.pyi +2 -0
  1009. homeassistant-stubs/components/unifiprotect/text.pyi +1 -0
  1010. homeassistant-stubs/components/unifiprotect/utils.pyi +7 -0
  1011. homeassistant-stubs/components/unifiprotect/views.pyi +9 -0
  1012. homeassistant-stubs/components/upcloud/config_flow.pyi +2 -0
  1013. homeassistant-stubs/components/update/__init__.pyi +7 -1
  1014. homeassistant-stubs/components/update/significant_change.pyi +1 -0
  1015. homeassistant-stubs/components/usb/__init__.pyi +7 -1
  1016. homeassistant-stubs/components/vacuum/__init__.pyi +5 -1
  1017. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -0
  1018. homeassistant-stubs/components/vacuum/significant_change.pyi +1 -0
  1019. homeassistant-stubs/components/valve/__init__.pyi +5 -1
  1020. homeassistant-stubs/components/velbus/button.pyi +1 -0
  1021. homeassistant-stubs/components/velbus/climate.pyi +3 -0
  1022. homeassistant-stubs/components/velbus/cover.pyi +4 -0
  1023. homeassistant-stubs/components/velbus/light.pyi +4 -0
  1024. homeassistant-stubs/components/velbus/select.pyi +1 -0
  1025. homeassistant-stubs/components/velbus/switch.pyi +2 -0
  1026. homeassistant-stubs/components/vlc_telnet/media_player.pyi +12 -0
  1027. homeassistant-stubs/components/wake_word/__init__.pyi +6 -1
  1028. homeassistant-stubs/components/wallbox/coordinator.pyi +6 -0
  1029. homeassistant-stubs/components/water_heater/__init__.pyi +4 -1
  1030. homeassistant-stubs/components/water_heater/significant_change.pyi +1 -0
  1031. homeassistant-stubs/components/watttime/config_flow.pyi +2 -0
  1032. homeassistant-stubs/components/weather/__init__.pyi +36 -1
  1033. homeassistant-stubs/components/weather/significant_change.pyi +1 -0
  1034. homeassistant-stubs/components/weather/websocket_api.pyi +3 -0
  1035. homeassistant-stubs/components/webhook/__init__.pyi +11 -0
  1036. homeassistant-stubs/components/webostv/config_flow.pyi +2 -0
  1037. homeassistant-stubs/components/webostv/helpers.pyi +3 -0
  1038. homeassistant-stubs/components/webostv/media_player.pyi +16 -0
  1039. homeassistant-stubs/components/websocket_api/__init__.pyi +2 -0
  1040. homeassistant-stubs/components/websocket_api/commands.pyi +33 -0
  1041. homeassistant-stubs/components/websocket_api/connection.pyi +9 -0
  1042. homeassistant-stubs/components/websocket_api/http.pyi +7 -0
  1043. homeassistant-stubs/components/websocket_api/sensor.pyi +1 -0
  1044. homeassistant-stubs/components/wemo/__init__.pyi +2 -0
  1045. homeassistant-stubs/components/wemo/config_flow.pyi +1 -0
  1046. homeassistant-stubs/components/wemo/coordinator.pyi +4 -0
  1047. homeassistant-stubs/components/wemo/entity.pyi +2 -0
  1048. homeassistant-stubs/components/wemo/fan.pyi +1 -0
  1049. homeassistant-stubs/components/wemo/light.pyi +1 -0
  1050. homeassistant-stubs/components/wemo/models.pyi +1 -0
  1051. homeassistant-stubs/components/wiz/binary_sensor.pyi +1 -0
  1052. homeassistant-stubs/components/wiz/discovery.pyi +1 -0
  1053. homeassistant-stubs/components/wiz/entity.pyi +3 -0
  1054. homeassistant-stubs/components/wiz/light.pyi +1 -0
  1055. homeassistant-stubs/components/wiz/number.pyi +1 -0
  1056. homeassistant-stubs/components/wiz/sensor.pyi +2 -0
  1057. homeassistant-stubs/components/wled/button.pyi +1 -0
  1058. homeassistant-stubs/components/wled/config_flow.pyi +1 -0
  1059. homeassistant-stubs/components/wled/coordinator.pyi +1 -0
  1060. homeassistant-stubs/components/wled/light.pyi +5 -0
  1061. homeassistant-stubs/components/wled/number.pyi +2 -0
  1062. homeassistant-stubs/components/wled/select.pyi +5 -0
  1063. homeassistant-stubs/components/wled/switch.pyi +9 -0
  1064. homeassistant-stubs/components/wled/update.pyi +1 -0
  1065. homeassistant-stubs/components/workday/binary_sensor.pyi +1 -0
  1066. homeassistant-stubs/components/workday/config_flow.pyi +1 -0
  1067. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -0
  1068. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +1 -0
  1069. homeassistant-stubs/components/yale_smart_alarm/select.pyi +1 -0
  1070. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +1 -0
  1071. homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +1 -0
  1072. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -0
  1073. homeassistant-stubs/components/yalexs_ble/entity.pyi +3 -0
  1074. homeassistant-stubs/components/yalexs_ble/lock.pyi +1 -0
  1075. homeassistant-stubs/components/yalexs_ble/sensor.pyi +1 -0
  1076. homeassistant-stubs/components/yalexs_ble/util.pyi +1 -0
  1077. homeassistant-stubs/components/youtube/config_flow.pyi +1 -0
  1078. homeassistant-stubs/components/zeroconf/__init__.pyi +7 -0
  1079. homeassistant-stubs/components/zone/__init__.pyi +7 -0
  1080. homeassistant-stubs/components/zwave_js/__init__.pyi +8 -0
  1081. homeassistant-stubs/components/zwave_js/addon.pyi +1 -0
  1082. homeassistant-stubs/components/zwave_js/api.pyi +183 -0
  1083. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  1084. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -0
  1085. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -0
  1086. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -0
  1087. homeassistant-stubs/components/zwave_js/discovery.pyi +4 -0
  1088. homeassistant-stubs/components/zwave_js/entity.pyi +5 -0
  1089. homeassistant-stubs/components/zwave_js/event.pyi +1 -0
  1090. homeassistant-stubs/components/zwave_js/helpers.pyi +5 -0
  1091. homeassistant-stubs/components/zwave_js/light.pyi +4 -0
  1092. homeassistant-stubs/components/zwave_js/logbook.pyi +1 -0
  1093. homeassistant-stubs/components/zwave_js/migrate.pyi +5 -0
  1094. homeassistant-stubs/components/zwave_js/sensor.pyi +4 -0
  1095. homeassistant-stubs/components/zwave_js/services.pyi +1 -0
  1096. homeassistant-stubs/components/zwave_js/switch.pyi +2 -0
  1097. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -0
  1098. homeassistant-stubs/components/zwave_js/update.pyi +4 -0
  1099. homeassistant-stubs/config.pyi +8 -0
  1100. homeassistant-stubs/config_entries.pyi +53 -0
  1101. homeassistant-stubs/core.pyi +47 -0
  1102. homeassistant-stubs/data_entry_flow.pyi +22 -0
  1103. homeassistant-stubs/helpers/aiohttp_client.pyi +11 -0
  1104. homeassistant-stubs/helpers/area_registry.pyi +13 -0
  1105. homeassistant-stubs/helpers/category_registry.pyi +8 -0
  1106. homeassistant-stubs/helpers/collection.pyi +14 -0
  1107. homeassistant-stubs/helpers/condition.pyi +4 -0
  1108. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +4 -0
  1109. homeassistant-stubs/helpers/config_validation.pyi +3 -0
  1110. homeassistant-stubs/helpers/debounce.pyi +5 -0
  1111. homeassistant-stubs/helpers/device.pyi +5 -0
  1112. homeassistant-stubs/helpers/device_registry.pyi +19 -0
  1113. homeassistant-stubs/helpers/discovery.pyi +7 -0
  1114. homeassistant-stubs/helpers/discovery_flow.pyi +5 -0
  1115. homeassistant-stubs/helpers/dispatcher.pyi +15 -0
  1116. homeassistant-stubs/helpers/entity.pyi +27 -1
  1117. homeassistant-stubs/helpers/entity_component.pyi +5 -0
  1118. homeassistant-stubs/helpers/entity_platform.pyi +11 -0
  1119. homeassistant-stubs/helpers/entity_registry.pyi +33 -0
  1120. homeassistant-stubs/helpers/event.pyi +79 -0
  1121. homeassistant-stubs/helpers/floor_registry.pyi +8 -0
  1122. homeassistant-stubs/helpers/hassio.pyi +2 -0
  1123. homeassistant-stubs/helpers/httpx_client.pyi +4 -0
  1124. homeassistant-stubs/helpers/icon.pyi +3 -0
  1125. homeassistant-stubs/helpers/integration_platform.pyi +3 -0
  1126. homeassistant-stubs/helpers/intent.pyi +22 -0
  1127. homeassistant-stubs/helpers/issue_registry.pyi +10 -0
  1128. homeassistant-stubs/helpers/label_registry.pyi +8 -0
  1129. homeassistant-stubs/helpers/llm.pyi +6 -0
  1130. homeassistant-stubs/helpers/network.pyi +6 -0
  1131. homeassistant-stubs/helpers/ratelimit.pyi +5 -0
  1132. homeassistant-stubs/helpers/recorder.pyi +5 -0
  1133. homeassistant-stubs/helpers/registry.pyi +2 -0
  1134. homeassistant-stubs/helpers/reload.pyi +1 -0
  1135. homeassistant-stubs/helpers/restore_state.pyi +6 -0
  1136. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +8 -0
  1137. homeassistant-stubs/helpers/script.pyi +11 -0
  1138. homeassistant-stubs/helpers/script_variables.pyi +1 -0
  1139. homeassistant-stubs/helpers/selector.pyi +2 -0
  1140. homeassistant-stubs/helpers/service.pyi +22 -0
  1141. homeassistant-stubs/helpers/signal.pyi +2 -0
  1142. homeassistant-stubs/helpers/significant_change.pyi +1 -0
  1143. homeassistant-stubs/helpers/start.pyi +3 -0
  1144. homeassistant-stubs/helpers/state.pyi +1 -0
  1145. homeassistant-stubs/helpers/storage.pyi +12 -0
  1146. homeassistant-stubs/helpers/sun.pyi +9 -0
  1147. homeassistant-stubs/helpers/system_info.pyi +1 -0
  1148. homeassistant-stubs/helpers/template.pyi +8 -0
  1149. homeassistant-stubs/helpers/trace.pyi +2 -0
  1150. homeassistant-stubs/helpers/translation.pyi +8 -0
  1151. homeassistant-stubs/helpers/trigger.pyi +4 -0
  1152. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -0
  1153. homeassistant-stubs/helpers/update_coordinator.pyi +11 -0
  1154. homeassistant-stubs/loader.pyi +5 -0
  1155. homeassistant-stubs/requirements.pyi +2 -0
  1156. homeassistant-stubs/runner.pyi +1 -0
  1157. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -0
  1158. homeassistant-stubs/setup.pyi +11 -0
  1159. homeassistant-stubs/util/enum.pyi +1 -0
  1160. homeassistant-stubs/util/location.pyi +2 -0
  1161. homeassistant-stubs/util/logging.pyi +2 -0
  1162. homeassistant-stubs/util/loop.pyi +2 -0
  1163. homeassistant-stubs/util/package.pyi +2 -0
  1164. homeassistant-stubs/util/ssl.pyi +3 -0
  1165. homeassistant-stubs/util/system_info.pyi +3 -0
  1166. homeassistant-stubs/util/unit_conversion.pyi +8 -0
  1167. homeassistant-stubs/util/yaml/loader.pyi +5 -0
  1168. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.4.dist-info}/METADATA +2 -2
  1169. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.4.dist-info}/RECORD +1171 -1171
  1170. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.4.dist-info}/WHEEL +0 -0
  1171. {homeassistant_stubs-2025.1.2.dist-info → homeassistant_stubs-2025.1.4.dist-info}/licenses/LICENSE +0 -0
@@ -29,7 +29,7 @@ from homeassistant.helpers.template import Template as Template
29
29
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
30
30
  from homeassistant.loader import bind_hass as bind_hass
31
31
  from propcache import cached_property, under_cached_property
32
- from typing import Any, Final
32
+ from typing import Any, Final, final
33
33
  from webrtc_models import RTCIceCandidateInit as RTCIceCandidateInit
34
34
 
35
35
  _LOGGER: Incomplete
@@ -76,11 +76,15 @@ class Image:
76
76
  class CameraCapabilities:
77
77
  frontend_stream_types: set[StreamType]
78
78
 
79
+ @bind_hass
79
80
  async def async_request_stream(hass: HomeAssistant, entity_id: str, fmt: str) -> str: ...
80
81
  async def _async_get_image(camera: Camera, timeout: int = 10, width: int | None = None, height: int | None = None) -> Image: ...
82
+ @bind_hass
81
83
  async def async_get_image(hass: HomeAssistant, entity_id: str, timeout: int = 10, width: int | None = None, height: int | None = None) -> Image: ...
82
84
  async def _async_get_stream_image(camera: Camera, width: int | None = None, height: int | None = None, wait_for_next_keyframe: bool = False) -> bytes | None: ...
85
+ @bind_hass
83
86
  async def async_get_stream_source(hass: HomeAssistant, entity_id: str) -> str | None: ...
87
+ @bind_hass
84
88
  async def async_get_mjpeg_stream(hass: HomeAssistant, request: web.Request, entity_id: str) -> web.StreamResponse | None: ...
85
89
  async def async_get_still_stream(request: web.Request, image_cb: Callable[[], Awaitable[bytes | None]], content_type: str, interval: float) -> web.StreamResponse: ...
86
90
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -149,6 +153,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
149
153
  async def handle_async_still_stream(self, request: web.Request, interval: float) -> web.StreamResponse: ...
150
154
  async def handle_async_mjpeg_stream(self, request: web.Request) -> web.StreamResponse | None: ...
151
155
  @property
156
+ @final
152
157
  def state(self) -> str: ...
153
158
  @cached_property
154
159
  def is_on(self) -> bool: ...
@@ -160,19 +165,28 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
160
165
  async def async_enable_motion_detection(self) -> None: ...
161
166
  def disable_motion_detection(self) -> None: ...
162
167
  async def async_disable_motion_detection(self) -> None: ...
168
+ @final
163
169
  @property
164
170
  def state_attributes(self) -> dict[str, str | None]: ...
171
+ @callback
165
172
  def async_update_token(self) -> None: ...
166
173
  async def async_internal_added_to_hass(self) -> None: ...
167
174
  async def async_refresh_providers(self, *, write_state: bool = True) -> None: ...
168
175
  async def _async_get_supported_webrtc_provider[_T](self, fn: Callable[[HomeAssistant, Camera], Coroutine[None, None, _T | None]]) -> _T | None: ...
176
+ @callback
169
177
  def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
178
+ @final
179
+ @callback
170
180
  def async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
171
181
  async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
182
+ @callback
172
183
  def close_webrtc_session(self, session_id: str) -> None: ...
184
+ @callback
173
185
  def _invalidate_camera_capabilities_cache(self) -> None: ...
186
+ @final
174
187
  @under_cached_property
175
188
  def camera_capabilities(self) -> CameraCapabilities: ...
189
+ @callback
176
190
  def async_write_ha_state(self) -> None: ...
177
191
 
178
192
  class CameraView(HomeAssistantView):
@@ -192,9 +206,13 @@ class CameraMjpegStream(CameraView):
192
206
  name: str
193
207
  async def handle(self, request: web.Request, camera: Camera) -> web.StreamResponse: ...
194
208
 
209
+ @websocket_api.async_response
195
210
  async def ws_camera_capabilities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
211
+ @websocket_api.async_response
196
212
  async def ws_camera_stream(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
213
+ @websocket_api.async_response
197
214
  async def websocket_get_prefs(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
215
+ @websocket_api.async_response
198
216
  async def websocket_update_prefs(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
199
217
 
200
218
  class _TemplateCameraEntity:
@@ -1,4 +1,5 @@
1
1
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
2
2
  from typing import Any
3
3
 
4
+ @callback
4
5
  def async_check_significant_change(hass: HomeAssistant, old_state: str, old_attrs: dict, new_state: str, new_attrs: dict, **kwargs: Any) -> bool | None: ...
@@ -6,6 +6,7 @@ from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from collections.abc import Awaitable, Callable, Iterable
8
8
  from dataclasses import dataclass, field
9
+ from functools import cache
9
10
  from homeassistant.components import websocket_api as websocket_api
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -24,6 +25,7 @@ _WEBRTC: str
24
25
  @dataclass(frozen=True)
25
26
  class WebRTCMessage:
26
27
  @classmethod
28
+ @cache
27
29
  def _get_type(cls) -> str: ...
28
30
  def as_dict(self) -> dict[str, Any]: ...
29
31
 
@@ -57,29 +59,37 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
57
59
  @property
58
60
  @abstractmethod
59
61
  def domain(self) -> str: ...
62
+ @callback
60
63
  @abstractmethod
61
64
  def async_is_supported(self, stream_source: str) -> bool: ...
62
65
  @abstractmethod
63
66
  async def async_handle_async_webrtc_offer(self, camera: Camera, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
64
67
  @abstractmethod
65
68
  async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
69
+ @callback
66
70
  def async_close_session(self, session_id: str) -> None: ...
67
71
 
68
72
  class CameraWebRTCLegacyProvider(Protocol):
69
73
  async def async_is_supported(self, stream_source: str) -> bool: ...
70
74
  async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
71
75
 
76
+ @callback
72
77
  def async_register_webrtc_provider(hass: HomeAssistant, provider: CameraWebRTCProvider) -> Callable[[], None]: ...
73
78
  async def _async_refresh_providers(hass: HomeAssistant) -> None: ...
74
79
  type WsCommandWithCamera = Callable[[websocket_api.ActiveConnection, dict[str, Any], Camera], Awaitable[None]]
75
80
  def require_webrtc_support(error_code: str) -> Callable[[WsCommandWithCamera], websocket_api.AsyncWebSocketCommandHandler]: ...
81
+ @websocket_api.async_response
76
82
  async def ws_webrtc_offer(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
83
+ @websocket_api.async_response
77
84
  async def ws_get_client_config(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
78
85
  def _parse_webrtc_candidate_init(value: Any) -> RTCIceCandidateInit: ...
86
+ @websocket_api.async_response
79
87
  async def ws_candidate(connection: websocket_api.ActiveConnection, msg: dict[str, Any], camera: Camera) -> None: ...
88
+ @callback
80
89
  def async_register_ws(hass: HomeAssistant) -> None: ...
81
90
  async def async_get_supported_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCProvider | None: ...
82
91
  async def async_get_supported_legacy_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCLegacyProvider | None: ...
92
+ @callback
83
93
  def async_register_ice_servers(hass: HomeAssistant, get_ice_server_fn: Callable[[], Iterable[RTCIceServer]]) -> Callable[[], None]: ...
84
94
 
85
95
  _RTSP_PREFIXES: Incomplete
@@ -92,4 +102,5 @@ class _CameraRtspToWebRTCProvider(CameraWebRTCLegacyProvider):
92
102
  async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
93
103
 
94
104
  def async_register_rtsp_to_web_rtc_provider(hass: HomeAssistant, domain: str, provider: RtspToWebRtcProviderType) -> Callable[[], None]: ...
105
+ @callback
95
106
  def _async_check_conflicting_legacy_provider(hass: HomeAssistant) -> None: ...
@@ -12,6 +12,7 @@ def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> bool: ...
12
12
  class CanaryConfigFlow(ConfigFlow, domain=DOMAIN):
13
13
  VERSION: int
14
14
  @staticmethod
15
+ @callback
15
16
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
16
17
  async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
17
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -11,7 +11,7 @@ from homeassistant.loader import async_get_issue_tracker as async_get_issue_trac
11
11
  from homeassistant.util.hass_dict import HassKey as HassKey
12
12
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
13
13
  from propcache import cached_property
14
- from typing import Any, Literal
14
+ from typing import Any, Literal, final
15
15
 
16
16
  _LOGGER: Incomplete
17
17
  DATA_COMPONENT: HassKey[EntityComponent[ClimateEntity]]
@@ -66,12 +66,14 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
66
66
  _attr_temperature_unit: str
67
67
  __climate_reported_legacy_aux: bool
68
68
  def _report_legacy_aux(self) -> None: ...
69
+ @final
69
70
  @property
70
71
  def state(self) -> str | None: ...
71
72
  @property
72
73
  def precision(self) -> float: ...
73
74
  @property
74
75
  def capability_attributes(self) -> dict[str, Any] | None: ...
76
+ @final
75
77
  @property
76
78
  def state_attributes(self) -> dict[str, Any]: ...
77
79
  @cached_property
@@ -114,23 +116,30 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
114
116
  def swing_horizontal_mode(self) -> str | None: ...
115
117
  @cached_property
116
118
  def swing_horizontal_modes(self) -> list[str] | None: ...
119
+ @final
120
+ @callback
117
121
  def _valid_mode_or_raise(self, mode_type: Literal['preset', 'horizontal_swing', 'swing', 'fan', 'hvac'], mode: str | HVACMode, modes: list[str] | list[HVACMode] | None) -> None: ...
118
122
  def set_temperature(self, **kwargs: Any) -> None: ...
119
123
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
120
124
  def set_humidity(self, humidity: int) -> None: ...
121
125
  async def async_set_humidity(self, humidity: int) -> None: ...
126
+ @final
122
127
  async def async_handle_set_fan_mode_service(self, fan_mode: str) -> None: ...
123
128
  def set_fan_mode(self, fan_mode: str) -> None: ...
124
129
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
130
+ @final
125
131
  async def async_handle_set_hvac_mode_service(self, hvac_mode: HVACMode) -> None: ...
126
132
  def set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
127
133
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
134
+ @final
128
135
  async def async_handle_set_swing_mode_service(self, swing_mode: str) -> None: ...
129
136
  def set_swing_mode(self, swing_mode: str) -> None: ...
130
137
  async def async_set_swing_mode(self, swing_mode: str) -> None: ...
138
+ @final
131
139
  async def async_handle_set_swing_horizontal_mode_service(self, swing_horizontal_mode: str) -> None: ...
132
140
  def set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
133
141
  async def async_set_swing_horizontal_mode(self, swing_horizontal_mode: str) -> None: ...
142
+ @final
134
143
  async def async_handle_set_preset_mode_service(self, preset_mode: str) -> None: ...
135
144
  def set_preset_mode(self, preset_mode: str) -> None: ...
136
145
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
@@ -16,5 +16,6 @@ PRESET_MODE_CONDITION: Incomplete
16
16
  CONDITION_SCHEMA: Incomplete
17
17
 
18
18
  async def async_get_conditions(hass: HomeAssistant, device_id: str) -> list[dict[str, str]]: ...
19
+ @callback
19
20
  def async_condition_from_config(hass: HomeAssistant, config: ConfigType) -> condition.ConditionCheckerType: ...
20
21
  async def async_get_condition_capabilities(hass: HomeAssistant, config: ConfigType) -> dict[str, vol.Schema]: ...
@@ -6,4 +6,5 @@ from typing import Any
6
6
 
7
7
  SIGNIFICANT_ATTRIBUTES: set[str]
8
8
 
9
+ @callback
9
10
  def async_check_significant_change(hass: HomeAssistant, old_state: str, old_attrs: dict, new_state: str, new_attrs: dict, **kwargs: Any) -> bool | None: ...
@@ -43,16 +43,29 @@ class CloudConnectionState(Enum):
43
43
  CLOUD_CONNECTED = 'cloud_connected'
44
44
  CLOUD_DISCONNECTED = 'cloud_disconnected'
45
45
 
46
+ @bind_hass
47
+ @callback
46
48
  def async_is_logged_in(hass: HomeAssistant) -> bool: ...
49
+ @bind_hass
50
+ @callback
47
51
  def async_is_connected(hass: HomeAssistant) -> bool: ...
52
+ @callback
48
53
  def async_listen_connection_change(hass: HomeAssistant, target: Callable[[CloudConnectionState], Awaitable[None] | None]) -> Callable[[], None]: ...
54
+ @bind_hass
55
+ @callback
49
56
  def async_active_subscription(hass: HomeAssistant) -> bool: ...
50
57
  async def async_get_or_create_cloudhook(hass: HomeAssistant, webhook_id: str) -> str: ...
58
+ @bind_hass
51
59
  async def async_create_cloudhook(hass: HomeAssistant, webhook_id: str) -> str: ...
60
+ @bind_hass
52
61
  async def async_delete_cloudhook(hass: HomeAssistant, webhook_id: str) -> None: ...
62
+ @bind_hass
63
+ @callback
53
64
  def async_remote_ui_url(hass: HomeAssistant) -> str: ...
54
65
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
66
+ @callback
55
67
  def _remote_handle_prefs_updated(cloud: Cloud[CloudClient]) -> None: ...
56
68
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
57
69
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
70
+ @callback
58
71
  def _setup_services(hass: HomeAssistant, prefs: CloudPreferences) -> None: ...
@@ -10,6 +10,7 @@ _LOGGER: Incomplete
10
10
  CURRENT_VERSION: Incomplete
11
11
  CURRENT_PLAIN_VERSION: Incomplete
12
12
 
13
+ @callback
13
14
  def async_setup(hass: HomeAssistant) -> None: ...
14
15
  async def async_provide_implementation(hass: HomeAssistant, domain: str) -> list[config_entry_oauth2_flow.AbstractOAuth2Implementation]: ...
15
16
  async def _get_services(hass: HomeAssistant) -> list[dict[str, Any]]: ...
@@ -54,14 +54,18 @@ class CloudAlexaConfig(alexa_config.AbstractConfig):
54
54
  def locale(self) -> str: ...
55
55
  @property
56
56
  def entity_config(self) -> dict[str, Any]: ...
57
+ @callback
57
58
  def user_identifier(self) -> str: ...
58
59
  def _migrate_alexa_entity_settings_v1(self) -> None: ...
59
60
  async def async_initialize(self) -> None: ...
60
61
  def _should_expose_legacy(self, entity_id: str) -> bool: ...
62
+ @callback
61
63
  def should_expose(self, entity_id: str) -> bool: ...
64
+ @callback
62
65
  def async_invalidate_access_token(self) -> None: ...
63
66
  async def async_get_access_token(self) -> str | None: ...
64
67
  async def _async_prefs_updated(self, prefs: CloudPreferences) -> None: ...
68
+ @callback
65
69
  def _async_exposed_entities_updated(self) -> None: ...
66
70
  async def _sync_prefs(self, _now: datetime) -> None: ...
67
71
  async def async_sync_entities(self) -> bool: ...
@@ -17,6 +17,7 @@ _RETRY_SECONDS_MAX: int
17
17
 
18
18
  async def _b64md5(stream: AsyncIterator[bytes]) -> str: ...
19
19
  async def async_get_backup_agents(hass: HomeAssistant, **kwargs: Any) -> list[BackupAgent]: ...
20
+ @callback
20
21
  def async_register_backup_agents_listener(hass: HomeAssistant, *, listener: Callable[[], None], **kwargs: Any) -> Callable[[], None]: ...
21
22
 
22
23
  class ChunkAsyncStreamIterator:
@@ -32,6 +33,7 @@ class CloudBackupAgent(BackupAgent):
32
33
  _cloud: Incomplete
33
34
  _hass: Incomplete
34
35
  def __init__(self, hass: HomeAssistant, cloud: Cloud[CloudClient]) -> None: ...
36
+ @callback
35
37
  def _get_backup_filename(self) -> str: ...
36
38
  async def async_download_backup(self, backup_id: str, **kwargs: Any) -> AsyncIterator[bytes]: ...
37
39
  async def _async_do_upload_backup(self, *, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], filename: str, base64md5hash: str, metadata: dict[str, Any], size: int) -> None: ...
@@ -59,7 +59,9 @@ class CloudClient(Interface):
59
59
  async def cloud_started(self) -> None: ...
60
60
  async def cloud_stopped(self) -> None: ...
61
61
  async def logout_cleanups(self) -> None: ...
62
+ @callback
62
63
  def user_message(self, identifier: str, title: str, message: str) -> None: ...
64
+ @callback
63
65
  def dispatcher_message(self, identifier: str, data: Any = None) -> None: ...
64
66
  async def async_cloud_connect_update(self, connect: bool) -> None: ...
65
67
  async def async_cloud_connection_info(self, payload: dict[str, Any]) -> dict[str, Any]: ...
@@ -61,8 +61,12 @@ class CloudGoogleConfig(AbstractConfig):
61
61
  async def _async_request_sync_devices(self, agent_user_id: str) -> HTTPStatus | int: ...
62
62
  async def async_connect_agent_user(self, agent_user_id: str) -> None: ...
63
63
  async def async_disconnect_agent_user(self, agent_user_id: str) -> None: ...
64
+ @callback
64
65
  def async_get_agent_users(self) -> tuple: ...
65
66
  async def _async_prefs_updated(self, prefs: CloudPreferences) -> None: ...
67
+ @callback
66
68
  def _async_exposed_entities_updated(self) -> None: ...
69
+ @callback
67
70
  def _handle_entity_registry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
71
+ @callback
68
72
  def _handle_device_registry_updated(self, event: Event[dr.EventDeviceRegistryUpdatedData]) -> None: ...
@@ -26,6 +26,7 @@ _CLOUD_ERRORS: dict[type[Exception], tuple[HTTPStatus, str]]
26
26
 
27
27
  class MFAExpiredOrNotStarted(auth.CloudError): ...
28
28
 
29
+ @callback
29
30
  def async_setup(hass: HomeAssistant) -> None: ...
30
31
  def _handle_cloud_errors[_HassViewT: HomeAssistantView, **_P](handler: Callable[Concatenate[_HassViewT, web.Request, _P], Awaitable[web.Response]]) -> Callable[Concatenate[_HassViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
31
32
  def _ws_handle_cloud_errors(handler: Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any]], Coroutine[None, None, None]]) -> Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any]], Coroutine[None, None, None]]: ...
@@ -34,6 +35,8 @@ def _process_cloud_exception(exc: Exception, where: str) -> tuple[HTTPStatus, st
34
35
  class GoogleActionsSyncView(HomeAssistantView):
35
36
  url: str
36
37
  name: str
38
+ @require_admin
39
+ @_handle_cloud_errors
37
40
  async def post(self, request: web.Request) -> web.Response: ...
38
41
 
39
42
  class CloudLoginView(HomeAssistantView):
@@ -41,44 +44,99 @@ class CloudLoginView(HomeAssistantView):
41
44
  _mfa_tokens_set_time: float
42
45
  url: str
43
46
  name: str
47
+ @require_admin
48
+ @_handle_cloud_errors
44
49
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
45
50
 
46
51
  class CloudLogoutView(HomeAssistantView):
47
52
  url: str
48
53
  name: str
54
+ @require_admin
55
+ @_handle_cloud_errors
49
56
  async def post(self, request: web.Request) -> web.Response: ...
50
57
 
51
58
  class CloudRegisterView(HomeAssistantView):
52
59
  url: str
53
60
  name: str
61
+ @require_admin
62
+ @_handle_cloud_errors
54
63
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
55
64
 
56
65
  class CloudResendConfirmView(HomeAssistantView):
57
66
  url: str
58
67
  name: str
68
+ @require_admin
69
+ @_handle_cloud_errors
59
70
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
60
71
 
61
72
  class CloudForgotPasswordView(HomeAssistantView):
62
73
  url: str
63
74
  name: str
75
+ @require_admin
76
+ @_handle_cloud_errors
64
77
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
65
78
 
79
+ @websocket_api.require_admin
80
+ @websocket_api.async_response
66
81
  async def websocket_cloud_remove_data(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
82
+ @websocket_api.async_response
67
83
  async def websocket_cloud_status(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
68
84
  def _require_cloud_login(handler: Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any]], None]) -> Callable[[HomeAssistant, websocket_api.ActiveConnection, dict[str, Any]], None]: ...
85
+ @_require_cloud_login
86
+ @websocket_api.async_response
69
87
  async def websocket_subscription(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
70
88
  def validate_language_voice(value: tuple[str, str]) -> tuple[str, str]: ...
89
+ @_require_cloud_login
90
+ @websocket_api.async_response
71
91
  async def websocket_update_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
92
+ @_require_cloud_login
93
+ @websocket_api.async_response
94
+ @_ws_handle_cloud_errors
72
95
  async def websocket_hook_create(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
96
+ @_require_cloud_login
97
+ @websocket_api.async_response
98
+ @_ws_handle_cloud_errors
73
99
  async def websocket_hook_delete(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
74
100
  async def _account_data(hass: HomeAssistant, cloud: Cloud[CloudClient]) -> dict[str, Any]: ...
101
+ @websocket_api.require_admin
102
+ @_require_cloud_login
103
+ @websocket_api.async_response
104
+ @_ws_handle_cloud_errors
75
105
  async def websocket_remote_connect(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
106
+ @websocket_api.require_admin
107
+ @_require_cloud_login
108
+ @websocket_api.async_response
109
+ @_ws_handle_cloud_errors
76
110
  async def websocket_remote_disconnect(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
111
+ @websocket_api.require_admin
112
+ @_require_cloud_login
113
+ @websocket_api.async_response
114
+ @_ws_handle_cloud_errors
77
115
  async def google_assistant_get(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
116
+ @websocket_api.require_admin
117
+ @_require_cloud_login
118
+ @websocket_api.async_response
119
+ @_ws_handle_cloud_errors
78
120
  async def google_assistant_list(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
121
+ @websocket_api.require_admin
122
+ @_require_cloud_login
123
+ @websocket_api.async_response
124
+ @_ws_handle_cloud_errors
79
125
  async def google_assistant_update(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
126
+ @websocket_api.require_admin
127
+ @_require_cloud_login
128
+ @websocket_api.async_response
129
+ @_ws_handle_cloud_errors
80
130
  async def alexa_get(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
131
+ @websocket_api.require_admin
132
+ @_require_cloud_login
133
+ @websocket_api.async_response
134
+ @_ws_handle_cloud_errors
81
135
  async def alexa_list(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
136
+ @websocket_api.require_admin
137
+ @_require_cloud_login
138
+ @websocket_api.async_response
82
139
  async def alexa_sync(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
140
+ @websocket_api.async_response
83
141
  async def thingtalk_convert(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
84
142
  def tts_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -27,6 +27,7 @@ class CloudPreferences:
27
27
  last_updated: set[str]
28
28
  def __init__(self, hass: HomeAssistant) -> None: ...
29
29
  async def async_initialize(self) -> None: ...
30
+ @callback
30
31
  def async_listen_updates(self, listener: Callable[[CloudPreferences], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
31
32
  async def async_update(self, *, alexa_enabled: bool | UndefinedType = ..., alexa_report_state: bool | UndefinedType = ..., alexa_settings_version: int | UndefinedType = ..., cloud_ice_servers_enabled: bool | UndefinedType = ..., cloud_user: str | UndefinedType = ..., cloudhooks: dict[str, dict[str, str | bool]] | UndefinedType = ..., google_connected: bool | UndefinedType = ..., google_enabled: bool | UndefinedType = ..., google_report_state: bool | UndefinedType = ..., google_secure_devices_pin: str | None | UndefinedType = ..., google_settings_version: int | UndefinedType = ..., remote_allow_remote_enable: bool | UndefinedType = ..., remote_domain: str | None | UndefinedType = ..., remote_enabled: bool | UndefinedType = ..., tts_default_voice: tuple[str, str] | UndefinedType = ...) -> None: ...
32
33
  async def async_set_username(self, username: str | None) -> bool: ...
@@ -75,5 +76,6 @@ class CloudPreferences:
75
76
  async def get_cloud_user(self) -> str: ...
76
77
  async def _load_cloud_user(self) -> User | None: ...
77
78
  async def _save_prefs(self, prefs: dict[str, Any]) -> None: ...
79
+ @callback
78
80
  @staticmethod
79
81
  def _empty_config(username: str) -> dict[str, Any]: ...
@@ -9,6 +9,7 @@ from typing import Any
9
9
  BACKOFF_TIME: int
10
10
  MAX_RETRIES: int
11
11
 
12
+ @callback
12
13
  def async_manage_legacy_subscription_issue(hass: HomeAssistant, subscription_info: dict[str, Any]) -> None: ...
13
14
 
14
15
  class LegacySubscriptionRepairFlow(RepairsFlow):
@@ -3,5 +3,6 @@ from homeassistant.components import system_health as system_health
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
4
  from typing import Any
5
5
 
6
+ @callback
6
7
  def async_register(hass: HomeAssistant, register: system_health.SystemHealthRegistration) -> None: ...
7
8
  async def system_health_info(hass: HomeAssistant) -> dict[str, Any]: ...
@@ -43,6 +43,7 @@ class CloudTTSEntity(TextToSpeechEntity):
43
43
  @property
44
44
  def supported_options(self) -> list[str]: ...
45
45
  async def async_added_to_hass(self) -> None: ...
46
+ @callback
46
47
  def async_get_supported_voices(self, language: str) -> list[Voice] | None: ...
47
48
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
48
49
 
@@ -57,10 +58,13 @@ class CloudProvider(Provider):
57
58
  def supported_languages(self) -> list[str]: ...
58
59
  @property
59
60
  def supported_options(self) -> list[str]: ...
61
+ @callback
60
62
  def async_get_supported_voices(self, language: str) -> list[Voice] | None: ...
61
63
  @property
62
64
  def default_options(self) -> dict[str, Any]: ...
63
65
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
64
66
 
67
+ @callback
65
68
  def handle_deprecated_gender(hass: HomeAssistant, gender: Gender | str | None) -> Gender | None: ...
69
+ @callback
66
70
  def handle_deprecated_voice(hass: HomeAssistant, original_voice: str | None) -> str | None: ...
@@ -2,8 +2,16 @@ from homeassistant.components import websocket_api as websocket_api
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
3
  from typing import Any
4
4
 
5
+ @callback
5
6
  def async_setup(hass: HomeAssistant) -> bool: ...
7
+ @callback
6
8
  def websocket_list_areas(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
9
+ @websocket_api.require_admin
10
+ @callback
7
11
  def websocket_create_area(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
12
+ @websocket_api.require_admin
13
+ @callback
8
14
  def websocket_delete_area(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
15
+ @websocket_api.require_admin
16
+ @callback
9
17
  def websocket_update_area(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -9,9 +9,18 @@ SCHEMA_WS_LIST: Incomplete
9
9
  WS_TYPE_DELETE: str
10
10
  SCHEMA_WS_DELETE: Incomplete
11
11
 
12
+ @callback
12
13
  def async_setup(hass: HomeAssistant) -> bool: ...
14
+ @websocket_api.require_admin
15
+ @websocket_api.async_response
13
16
  async def websocket_list(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
17
+ @websocket_api.require_admin
18
+ @websocket_api.async_response
14
19
  async def websocket_delete(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
20
+ @websocket_api.require_admin
21
+ @websocket_api.async_response
15
22
  async def websocket_create(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
23
+ @websocket_api.require_admin
24
+ @websocket_api.async_response
16
25
  async def websocket_update(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
17
26
  def _user_info(user: User) -> dict[str, Any]: ...
@@ -3,9 +3,19 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
3
3
  from homeassistant.exceptions import Unauthorized as Unauthorized
4
4
  from typing import Any
5
5
 
6
+ @callback
6
7
  def async_setup(hass: HomeAssistant) -> bool: ...
8
+ @websocket_api.require_admin
9
+ @websocket_api.async_response
7
10
  async def websocket_create(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
11
+ @websocket_api.require_admin
12
+ @websocket_api.async_response
8
13
  async def websocket_delete(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
14
+ @websocket_api.async_response
9
15
  async def websocket_change_password(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
16
+ @websocket_api.require_admin
17
+ @websocket_api.async_response
10
18
  async def websocket_admin_change_password(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
19
+ @websocket_api.require_admin
20
+ @websocket_api.async_response
11
21
  async def websocket_admin_change_username(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_ID as CONF_ID, SERVICE_RELOAD as SERVICE_RE
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from typing import Any
8
8
 
9
+ @callback
9
10
  def async_setup(hass: HomeAssistant) -> bool: ...
10
11
 
11
12
  class EditAutomationConfigView(EditIdBasedConfigView):
@@ -4,9 +4,18 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
4
4
  from homeassistant.helpers import category_registry as cr
5
5
  from typing import Any
6
6
 
7
+ @callback
7
8
  def async_setup(hass: HomeAssistant) -> bool: ...
9
+ @callback
8
10
  def websocket_list_categories(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
11
+ @websocket_api.require_admin
12
+ @callback
9
13
  def websocket_create_category(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
14
+ @websocket_api.require_admin
15
+ @callback
10
16
  def websocket_delete_category(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
17
+ @websocket_api.require_admin
18
+ @callback
11
19
  def websocket_update_category(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
20
+ @callback
12
21
  def _entry_dict(entry: cr.CategoryEntry) -> dict[str, Any]: ...
@@ -13,6 +13,7 @@ from homeassistant.helpers.json import json_fragment as json_fragment
13
13
  from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_config_flows as async_get_config_flows, async_get_integrations as async_get_integrations, async_get_loaded_integration as async_get_loaded_integration
14
14
  from typing import Any, NoReturn
15
15
 
16
+ @callback
16
17
  def async_setup(hass: HomeAssistant) -> bool: ...
17
18
 
18
19
  class ConfigManagerEntryIndexView(HomeAssistantView):
@@ -64,13 +65,24 @@ class OptionManagerFlowResourceView(FlowManagerResourceView[config_entries.Optio
64
65
  async def get(self, request: web.Request, /, flow_id: str) -> web.Response: ...
65
66
  async def post(self, request: web.Request, flow_id: str) -> web.Response: ...
66
67
 
68
+ @websocket_api.require_admin
67
69
  def config_entries_progress(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
68
70
  def send_entry_not_found(connection: websocket_api.ActiveConnection, msg_id: int) -> None: ...
69
71
  def get_entry(hass: HomeAssistant, connection: websocket_api.ActiveConnection, entry_id: str, msg_id: int) -> config_entries.ConfigEntry | None: ...
72
+ @websocket_api.require_admin
73
+ @websocket_api.async_response
70
74
  async def config_entry_get_single(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
75
+ @websocket_api.require_admin
76
+ @websocket_api.async_response
71
77
  async def config_entry_update(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
78
+ @websocket_api.require_admin
79
+ @websocket_api.async_response
72
80
  async def config_entry_disable(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
81
+ @websocket_api.require_admin
82
+ @websocket_api.async_response
73
83
  async def ignore_config_flow(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
84
+ @websocket_api.async_response
74
85
  async def config_entries_get(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
86
+ @websocket_api.async_response
75
87
  async def config_entries_subscribe(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
76
88
  async def _async_matching_config_entries_json_fragments(hass: HomeAssistant, type_filter: list[str] | None, domain: str | None) -> list[json_fragment]: ...
@@ -8,12 +8,18 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
8
8
  from homeassistant.util import location as location, unit_system as unit_system
9
9
  from typing import Any
10
10
 
11
+ @callback
11
12
  def async_setup(hass: HomeAssistant) -> bool: ...
12
13
 
13
14
  class CheckConfigView(HomeAssistantView):
14
15
  url: str
15
16
  name: str
17
+ @require_admin
16
18
  async def post(self, request: web.Request) -> web.Response: ...
17
19
 
20
+ @websocket_api.require_admin
21
+ @websocket_api.async_response
18
22
  async def websocket_update_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
23
+ @websocket_api.require_admin
24
+ @websocket_api.async_response
19
25
  async def websocket_detect_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...