homeassistant-stubs 2024.10.4__py3-none-any.whl → 2024.11.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) hide show
  1. homeassistant-stubs/auth/__init__.pyi +8 -5
  2. homeassistant-stubs/auth/mfa_modules/notify.pyi +1 -0
  3. homeassistant-stubs/auth/models.pyi +8 -5
  4. homeassistant-stubs/auth/permissions/types.pyi +7 -0
  5. homeassistant-stubs/auth/permissions/util.pyi +2 -0
  6. homeassistant-stubs/auth/providers/__init__.pyi +5 -4
  7. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  8. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  9. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +5 -2
  11. homeassistant-stubs/bootstrap.pyi +1 -0
  12. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -3
  13. homeassistant-stubs/components/accuweather/__init__.pyi +1 -9
  14. homeassistant-stubs/components/accuweather/coordinator.pyi +11 -2
  15. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  16. homeassistant-stubs/components/accuweather/sensor.pyi +1 -2
  17. homeassistant-stubs/components/accuweather/system_health.pyi +1 -1
  18. homeassistant-stubs/components/accuweather/weather.pyi +1 -2
  19. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  20. homeassistant-stubs/components/adguard/__init__.pyi +1 -0
  21. homeassistant-stubs/components/adguard/config_flow.pyi +1 -1
  22. homeassistant-stubs/components/aftership/__init__.pyi +2 -0
  23. homeassistant-stubs/components/airgradient/__init__.pyi +1 -0
  24. homeassistant-stubs/components/airgradient/update.pyi +0 -2
  25. homeassistant-stubs/components/airly/__init__.pyi +1 -0
  26. homeassistant-stubs/components/airnow/__init__.pyi +1 -0
  27. homeassistant-stubs/components/airthings/__init__.pyi +3 -0
  28. homeassistant-stubs/components/airthings_ble/__init__.pyi +2 -11
  29. homeassistant-stubs/components/airthings_ble/coordinator.pyi +21 -0
  30. homeassistant-stubs/components/airthings_ble/sensor.pyi +1 -1
  31. homeassistant-stubs/components/airtouch5/__init__.pyi +2 -1
  32. homeassistant-stubs/components/airvisual/__init__.pyi +1 -0
  33. homeassistant-stubs/components/airvisual/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/airvisual_pro/__init__.pyi +1 -0
  35. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +2 -3
  36. homeassistant-stubs/components/airzone/__init__.pyi +1 -0
  37. homeassistant-stubs/components/airzone/switch.pyi +33 -0
  38. homeassistant-stubs/components/airzone_cloud/__init__.pyi +1 -0
  39. homeassistant-stubs/components/airzone_cloud/select.pyi +10 -2
  40. homeassistant-stubs/components/airzone_cloud/switch.pyi +33 -0
  41. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +13 -6
  42. homeassistant-stubs/components/alarm_control_panel/const.pyi +12 -0
  43. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +2 -2
  44. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +2 -2
  45. homeassistant-stubs/components/alarm_control_panel/reproduce_state.pyi +2 -2
  46. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  47. homeassistant-stubs/components/alexa/handlers.pyi +2 -2
  48. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -0
  49. homeassistant-stubs/components/ambient_network/__init__.pyi +1 -0
  50. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -0
  51. homeassistant-stubs/components/analytics/__init__.pyi +2 -0
  52. homeassistant-stubs/components/analytics/analytics.pyi +1 -0
  53. homeassistant-stubs/components/analytics_insights/__init__.pyi +1 -0
  54. homeassistant-stubs/components/analytics_insights/config_flow.pyi +1 -1
  55. homeassistant-stubs/components/analytics_insights/const.pyi +1 -0
  56. homeassistant-stubs/components/analytics_insights/coordinator.pyi +8 -2
  57. homeassistant-stubs/components/analytics_insights/sensor.pyi +4 -0
  58. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +3 -5
  59. homeassistant-stubs/components/android_ip_webcam/binary_sensor.pyi +3 -4
  60. homeassistant-stubs/components/android_ip_webcam/camera.pyi +2 -3
  61. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +3 -2
  62. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +2 -4
  63. homeassistant-stubs/components/android_ip_webcam/switch.pyi +2 -4
  64. homeassistant-stubs/components/androidtv/__init__.pyi +3 -1
  65. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -1
  66. homeassistant-stubs/components/androidtv/const.pyi +2 -1
  67. homeassistant-stubs/components/androidtv/entity.pyi +5 -2
  68. homeassistant-stubs/components/androidtv/media_player.pyi +5 -6
  69. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +5 -7
  70. homeassistant-stubs/components/anova/__init__.pyi +2 -1
  71. homeassistant-stubs/components/anova/config_flow.pyi +2 -1
  72. homeassistant-stubs/components/anova/models.pyi +1 -0
  73. homeassistant-stubs/components/anthemav/__init__.pyi +2 -0
  74. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  75. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -0
  76. homeassistant-stubs/components/apple_tv/__init__.pyi +1 -0
  77. homeassistant-stubs/components/apple_tv/config_flow.pyi +5 -1
  78. homeassistant-stubs/components/apsystems/__init__.pyi +1 -0
  79. homeassistant-stubs/components/apsystems/sensor.pyi +2 -2
  80. homeassistant-stubs/components/aquostv/media_player.pyi +1 -1
  81. homeassistant-stubs/components/aranet/__init__.pyi +3 -3
  82. homeassistant-stubs/components/aranet/sensor.pyi +4 -4
  83. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -0
  84. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -0
  85. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -1
  86. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +4 -6
  87. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +2 -4
  88. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -3
  89. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +2 -0
  90. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -4
  91. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -1
  92. homeassistant-stubs/components/asuswrt/__init__.pyi +1 -0
  93. homeassistant-stubs/components/asuswrt/bridge.pyi +4 -2
  94. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  95. homeassistant-stubs/components/auth/__init__.pyi +5 -0
  96. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  97. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +4 -2
  98. homeassistant-stubs/components/automation/__init__.pyi +0 -14
  99. homeassistant-stubs/components/awair/__init__.pyi +4 -6
  100. homeassistant-stubs/components/awair/config_flow.pyi +1 -0
  101. homeassistant-stubs/components/awair/coordinator.pyi +1 -0
  102. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  103. homeassistant-stubs/components/axis/__init__.pyi +1 -0
  104. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  105. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  106. homeassistant-stubs/components/backup/const.pyi +3 -0
  107. homeassistant-stubs/components/backup/http.pyi +1 -1
  108. homeassistant-stubs/components/backup/manager.pyi +25 -11
  109. homeassistant-stubs/components/backup/websocket.pyi +2 -2
  110. homeassistant-stubs/components/baf/__init__.pyi +2 -0
  111. homeassistant-stubs/components/bang_olufsen/__init__.pyi +3 -2
  112. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -1
  113. homeassistant-stubs/components/bang_olufsen/media_player.pyi +13 -5
  114. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -3
  115. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  116. homeassistant-stubs/components/blue_current/config_flow.pyi +1 -2
  117. homeassistant-stubs/components/blue_current/sensor.pyi +2 -3
  118. homeassistant-stubs/components/blueprint/__init__.pyi +2 -2
  119. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  120. homeassistant-stubs/components/bluesound/const.pyi +0 -4
  121. homeassistant-stubs/components/bluesound/media_player.pyi +6 -14
  122. homeassistant-stubs/components/bluesound/services.pyi +21 -0
  123. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +1 -1
  124. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +1 -1
  125. homeassistant-stubs/components/bluetooth/match.pyi +1 -1
  126. homeassistant-stubs/components/bluetooth/models.pyi +4 -0
  127. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +4 -4
  128. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  129. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -2
  130. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  131. homeassistant-stubs/components/braviatv/config_flow.pyi +1 -2
  132. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -1
  133. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  134. homeassistant-stubs/components/brother/config_flow.pyi +2 -4
  135. homeassistant-stubs/components/bryant_evolution/__init__.pyi +2 -0
  136. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +1 -4
  137. homeassistant-stubs/components/bthome/config_flow.pyi +1 -1
  138. homeassistant-stubs/components/bthome/coordinator.pyi +1 -1
  139. homeassistant-stubs/components/bthome/types.pyi +2 -0
  140. homeassistant-stubs/components/button/__init__.pyi +0 -3
  141. homeassistant-stubs/components/calendar/trigger.pyi +3 -1
  142. homeassistant-stubs/components/cambridge_audio/__init__.pyi +14 -0
  143. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +14 -0
  144. homeassistant-stubs/components/cambridge_audio/const.pyi +9 -0
  145. homeassistant-stubs/components/cambridge_audio/diagnostics.pyi +5 -0
  146. homeassistant-stubs/components/cambridge_audio/entity.pyi +21 -0
  147. homeassistant-stubs/components/cambridge_audio/media_player.pyi +71 -0
  148. homeassistant-stubs/components/cambridge_audio/select.pyi +34 -0
  149. homeassistant-stubs/components/cambridge_audio/switch.pyi +30 -0
  150. homeassistant-stubs/components/camera/__init__.pyi +35 -22
  151. homeassistant-stubs/components/camera/const.pyi +1 -2
  152. homeassistant-stubs/components/camera/diagnostics.pyi +1 -1
  153. homeassistant-stubs/components/camera/helper.pyi +6 -0
  154. homeassistant-stubs/components/camera/webrtc.pyi +95 -0
  155. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -3
  156. homeassistant-stubs/components/canary/sensor.pyi +1 -0
  157. homeassistant-stubs/components/cert_expiry/__init__.pyi +1 -0
  158. homeassistant-stubs/components/climate/__init__.pyi +0 -24
  159. homeassistant-stubs/components/cloud/client.pyi +5 -1
  160. homeassistant-stubs/components/cloud/const.pyi +1 -0
  161. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  162. homeassistant-stubs/components/cloud/prefs.pyi +4 -2
  163. homeassistant-stubs/components/co2signal/__init__.pyi +1 -0
  164. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -2
  165. homeassistant-stubs/components/config/automation.pyi +1 -1
  166. homeassistant-stubs/components/config/script.pyi +1 -1
  167. homeassistant-stubs/components/config/view.pyi +2 -2
  168. homeassistant-stubs/components/configurator/__init__.pyi +2 -0
  169. homeassistant-stubs/components/counter/__init__.pyi +1 -1
  170. homeassistant-stubs/components/cover/__init__.pyi +12 -8
  171. homeassistant-stubs/components/cover/device_condition.pyi +2 -2
  172. homeassistant-stubs/components/cover/device_trigger.pyi +2 -2
  173. homeassistant-stubs/components/cover/reproduce_state.pyi +2 -2
  174. homeassistant-stubs/components/date/__init__.pyi +0 -4
  175. homeassistant-stubs/components/datetime/__init__.pyi +0 -4
  176. homeassistant-stubs/components/deako/__init__.pyi +2 -0
  177. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -3
  178. homeassistant-stubs/components/deconz/binary_sensor.pyi +10 -1
  179. homeassistant-stubs/components/deconz/config_flow.pyi +1 -1
  180. homeassistant-stubs/components/deconz/device_trigger.pyi +4 -0
  181. homeassistant-stubs/components/deconz/entity.pyi +6 -2
  182. homeassistant-stubs/components/deconz/light.pyi +1 -1
  183. homeassistant-stubs/components/deconz/number.pyi +3 -1
  184. homeassistant-stubs/components/demo/alarm_control_panel.pyi +2 -1
  185. homeassistant-stubs/components/demo/update.pyi +5 -2
  186. homeassistant-stubs/components/derivative/sensor.pyi +1 -4
  187. homeassistant-stubs/components/device_automation/__init__.pyi +2 -0
  188. homeassistant-stubs/components/device_tracker/config_entry.pyi +0 -10
  189. homeassistant-stubs/components/device_tracker/legacy.pyi +0 -2
  190. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -0
  191. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  192. homeassistant-stubs/components/devolo_home_network/__init__.pyi +4 -2
  193. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +2 -2
  194. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +4 -1
  195. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +13 -0
  196. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +4 -3
  197. homeassistant-stubs/components/devolo_home_network/entity.pyi +7 -3
  198. homeassistant-stubs/components/devolo_home_network/image.pyi +2 -2
  199. homeassistant-stubs/components/devolo_home_network/sensor.pyi +9 -10
  200. homeassistant-stubs/components/devolo_home_network/switch.pyi +6 -6
  201. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  202. homeassistant-stubs/components/diagnostics/util.pyi +1 -1
  203. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  204. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -2
  205. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  206. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  207. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -3
  208. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -1
  209. homeassistant-stubs/components/doorbird/device.pyi +0 -6
  210. homeassistant-stubs/components/doorbird/models.pyi +1 -0
  211. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +1 -2
  212. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  213. homeassistant-stubs/components/duotecno/entity.pyi +1 -1
  214. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  215. homeassistant-stubs/components/ecowitt/__init__.pyi +2 -0
  216. homeassistant-stubs/components/efergy/__init__.pyi +2 -0
  217. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +1 -4
  218. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  219. homeassistant-stubs/components/elgato/__init__.pyi +1 -0
  220. homeassistant-stubs/components/elkm1/__init__.pyi +1 -0
  221. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -3
  222. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  223. homeassistant-stubs/components/energy/data.pyi +1 -0
  224. homeassistant-stubs/components/energy/types.pyi +2 -0
  225. homeassistant-stubs/components/energy/websocket_api.pyi +3 -0
  226. homeassistant-stubs/components/enigma2/__init__.pyi +1 -0
  227. homeassistant-stubs/components/enigma2/config_flow.pyi +0 -2
  228. homeassistant-stubs/components/enigma2/media_player.pyi +1 -6
  229. homeassistant-stubs/components/enphase_envoy/__init__.pyi +3 -1
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +4 -6
  231. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  232. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  233. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +5 -6
  234. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -1
  235. homeassistant-stubs/components/esphome/config_flow.pyi +6 -5
  236. homeassistant-stubs/components/esphome/entity.pyi +3 -3
  237. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  238. homeassistant-stubs/components/esphome/enum_mapper.pyi +1 -1
  239. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +7 -3
  240. homeassistant-stubs/components/esphome/update.pyi +3 -1
  241. homeassistant-stubs/components/event/__init__.pyi +0 -3
  242. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  243. homeassistant-stubs/components/evohome/climate.pyi +2 -3
  244. homeassistant-stubs/components/evohome/entity.pyi +1 -1
  245. homeassistant-stubs/components/fan/__init__.pyi +0 -8
  246. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  247. homeassistant-stubs/components/feedreader/__init__.pyi +1 -0
  248. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -3
  249. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  250. homeassistant-stubs/components/filesize/__init__.pyi +1 -0
  251. homeassistant-stubs/components/fitbit/api.pyi +1 -1
  252. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -2
  253. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +2 -1
  254. homeassistant-stubs/components/flux_led/config_flow.pyi +3 -1
  255. homeassistant-stubs/components/forecast_solar/__init__.pyi +1 -0
  256. homeassistant-stubs/components/fritz/config_flow.pyi +5 -5
  257. homeassistant-stubs/components/fritz/update.pyi +1 -1
  258. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  259. homeassistant-stubs/components/fritzbox/config_flow.pyi +5 -6
  260. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -0
  261. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +2 -1
  262. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -0
  263. homeassistant-stubs/components/fronius/__init__.pyi +2 -1
  264. homeassistant-stubs/components/fronius/config_flow.pyi +1 -2
  265. homeassistant-stubs/components/fronius/const.pyi +1 -0
  266. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  267. homeassistant-stubs/components/frontend/__init__.pyi +0 -3
  268. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +1 -0
  269. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +1 -2
  270. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -0
  271. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  272. homeassistant-stubs/components/fyta/config_flow.pyi +0 -2
  273. homeassistant-stubs/components/fyta/coordinator.pyi +6 -1
  274. homeassistant-stubs/components/geo_location/__init__.pyi +0 -5
  275. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  276. homeassistant-stubs/components/glances/__init__.pyi +1 -0
  277. homeassistant-stubs/components/glances/config_flow.pyi +1 -2
  278. homeassistant-stubs/components/go2rtc/__init__.pyi +40 -0
  279. homeassistant-stubs/components/go2rtc/config_flow.pyi +7 -0
  280. homeassistant-stubs/components/go2rtc/const.pyi +2 -0
  281. homeassistant-stubs/components/go2rtc/server.pyi +22 -0
  282. homeassistant-stubs/components/goalzero/config_flow.pyi +1 -2
  283. homeassistant-stubs/components/goalzero/coordinator.pyi +1 -0
  284. homeassistant-stubs/components/google/__init__.pyi +1 -1
  285. homeassistant-stubs/components/google/api.pyi +2 -2
  286. homeassistant-stubs/components/google/calendar.pyi +6 -5
  287. homeassistant-stubs/components/google/config_flow.pyi +2 -3
  288. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -2
  289. homeassistant-stubs/components/google_photos/config_flow.pyi +2 -3
  290. homeassistant-stubs/components/google_photos/types.pyi +2 -0
  291. homeassistant-stubs/components/google_sheets/__init__.pyi +1 -0
  292. homeassistant-stubs/components/google_sheets/config_flow.pyi +1 -3
  293. homeassistant-stubs/components/govee_ble/__init__.pyi +11 -0
  294. homeassistant-stubs/components/govee_ble/binary_sensor.pyi +22 -0
  295. homeassistant-stubs/components/govee_ble/config_flow.pyi +16 -0
  296. homeassistant-stubs/components/govee_ble/const.pyi +2 -0
  297. homeassistant-stubs/components/govee_ble/coordinator.pyi +24 -0
  298. homeassistant-stubs/components/govee_ble/device.pyi +4 -0
  299. homeassistant-stubs/components/govee_ble/event.pyi +27 -0
  300. homeassistant-stubs/components/govee_ble/sensor.pyi +25 -0
  301. homeassistant-stubs/components/gpsd/__init__.pyi +2 -0
  302. homeassistant-stubs/components/greeneye_monitor/sensor.pyi +1 -0
  303. homeassistant-stubs/components/group/cover.pyi +2 -2
  304. homeassistant-stubs/components/group/registry.pyi +2 -1
  305. homeassistant-stubs/components/group/sensor.pyi +10 -11
  306. homeassistant-stubs/components/guardian/config_flow.pyi +0 -1
  307. homeassistant-stubs/components/guardian/util.pyi +1 -1
  308. homeassistant-stubs/components/hardkernel/__init__.pyi +2 -1
  309. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -5
  310. homeassistant-stubs/components/history_stats/__init__.pyi +1 -0
  311. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -1
  312. homeassistant-stubs/components/history_stats/sensor.pyi +2 -1
  313. homeassistant-stubs/components/holiday/config_flow.pyi +1 -3
  314. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  315. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -1
  316. homeassistant-stubs/components/homeassistant/triggers/time.pyi +7 -1
  317. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +2 -1
  318. homeassistant-stubs/components/homeassistant_green/__init__.pyi +2 -1
  319. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +2 -1
  320. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  321. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +2 -1
  322. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +3 -3
  324. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +2 -1
  325. homeassistant-stubs/components/homekit/__init__.pyi +0 -1
  326. homeassistant-stubs/components/homekit/models.pyi +1 -0
  327. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  328. homeassistant-stubs/components/homekit/type_security_systems.pyi +2 -2
  329. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +4 -4
  330. homeassistant-stubs/components/homekit_controller/config_flow.pyi +4 -1
  331. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -0
  332. homeassistant-stubs/components/homewizard/__init__.pyi +1 -0
  333. homeassistant-stubs/components/homewizard/config_flow.pyi +1 -2
  334. homeassistant-stubs/components/homewizard/helpers.pyi +1 -1
  335. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  336. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -5
  337. homeassistant-stubs/components/http/ban.pyi +2 -1
  338. homeassistant-stubs/components/http/data_validator.pyi +1 -1
  339. homeassistant-stubs/components/http/decorators.pyi +7 -4
  340. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -0
  341. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  342. homeassistant-stubs/components/humidifier/__init__.pyi +0 -10
  343. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  344. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  345. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -3
  346. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -3
  347. homeassistant-stubs/components/husqvarna_automower/entity.pyi +5 -4
  348. homeassistant-stubs/components/husqvarna_automower/number.pyi +8 -8
  349. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +24 -3
  350. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -5
  351. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -4
  352. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  353. homeassistant-stubs/components/ibeacon/__init__.pyi +1 -0
  354. homeassistant-stubs/components/image/__init__.pyi +7 -6
  355. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  356. homeassistant-stubs/components/imap/config_flow.pyi +1 -2
  357. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -0
  358. homeassistant-stubs/components/intent/timers.pyi +1 -2
  359. homeassistant-stubs/components/iotty/__init__.pyi +1 -0
  360. homeassistant-stubs/components/iotty/coordinator.pyi +1 -1
  361. homeassistant-stubs/components/ipp/__init__.pyi +1 -0
  362. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +1 -0
  363. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -2
  364. homeassistant-stubs/components/jellyfin/config_flow.pyi +0 -1
  365. homeassistant-stubs/components/jellyfin/coordinator.pyi +8 -15
  366. homeassistant-stubs/components/jellyfin/entity.pyi +22 -7
  367. homeassistant-stubs/components/jellyfin/media_player.pyi +6 -18
  368. homeassistant-stubs/components/jellyfin/remote.pyi +19 -0
  369. homeassistant-stubs/components/jellyfin/sensor.pyi +10 -8
  370. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/jvc_projector/__init__.pyi +1 -0
  372. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -2
  373. homeassistant-stubs/components/knocki/__init__.pyi +1 -0
  374. homeassistant-stubs/components/knx/__init__.pyi +0 -1
  375. homeassistant-stubs/components/knx/climate.pyi +2 -0
  376. homeassistant-stubs/components/knx/const.pyi +4 -0
  377. homeassistant-stubs/components/knx/notify.pyi +3 -15
  378. homeassistant-stubs/components/knx/schema.pyi +1 -0
  379. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -2
  380. homeassistant-stubs/components/knx/websocket.pyi +4 -1
  381. homeassistant-stubs/components/kraken/const.pyi +1 -0
  382. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +1 -2
  383. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  384. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  385. homeassistant-stubs/components/lamarzocco/button.pyi +3 -1
  386. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -2
  387. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -5
  388. homeassistant-stubs/components/lamarzocco/coordinator.pyi +5 -4
  389. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  390. homeassistant-stubs/components/lamarzocco/number.pyi +3 -2
  391. homeassistant-stubs/components/lamarzocco/select.pyi +5 -1
  392. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  393. homeassistant-stubs/components/lamarzocco/switch.pyi +3 -2
  394. homeassistant-stubs/components/lamarzocco/update.pyi +3 -2
  395. homeassistant-stubs/components/lametric/config_flow.pyi +1 -2
  396. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  397. homeassistant-stubs/components/lawn_mower/__init__.pyi +0 -3
  398. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  399. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -0
  400. homeassistant-stubs/components/lcn/config_flow.pyi +2 -5
  401. homeassistant-stubs/components/lcn/const.pyi +1 -0
  402. homeassistant-stubs/components/lcn/helpers.pyi +4 -0
  403. homeassistant-stubs/components/lcn/sensor.pyi +4 -1
  404. homeassistant-stubs/components/lcn/switch.pyi +24 -1
  405. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  406. homeassistant-stubs/components/lektrico/__init__.pyi +1 -0
  407. homeassistant-stubs/components/lektrico/switch.pyi +31 -0
  408. homeassistant-stubs/components/lidarr/__init__.pyi +4 -2
  409. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -5
  410. homeassistant-stubs/components/lidarr/coordinator.pyi +4 -1
  411. homeassistant-stubs/components/lifx/config_flow.pyi +3 -1
  412. homeassistant-stubs/components/lifx/coordinator.pyi +0 -6
  413. homeassistant-stubs/components/light/__init__.pyi +0 -15
  414. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +1 -2
  415. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +1 -1
  416. homeassistant-stubs/components/linkplay/__init__.pyi +2 -1
  417. homeassistant-stubs/components/linkplay/const.pyi +4 -0
  418. homeassistant-stubs/components/linkplay/media_player.pyi +12 -4
  419. homeassistant-stubs/components/litterrobot/__init__.pyi +1 -0
  420. homeassistant-stubs/components/litterrobot/vacuum.pyi +0 -1
  421. homeassistant-stubs/components/local_todo/__init__.pyi +1 -0
  422. homeassistant-stubs/components/lock/__init__.pyi +0 -10
  423. homeassistant-stubs/components/logbook/models.pyi +0 -7
  424. homeassistant-stubs/components/lookin/coordinator.pyi +1 -1
  425. homeassistant-stubs/components/madvr/__init__.pyi +1 -0
  426. homeassistant-stubs/components/madvr/config_flow.pyi +2 -5
  427. homeassistant-stubs/components/manual/alarm_control_panel.pyi +19 -10
  428. homeassistant-stubs/components/mastodon/__init__.pyi +1 -0
  429. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -0
  430. homeassistant-stubs/components/matter/api.pyi +1 -1
  431. homeassistant-stubs/components/matter/climate.pyi +1 -0
  432. homeassistant-stubs/components/matter/config_flow.pyi +3 -1
  433. homeassistant-stubs/components/matter/entity.pyi +2 -2
  434. homeassistant-stubs/components/matter/fan.pyi +1 -0
  435. homeassistant-stubs/components/matter/light.pyi +1 -0
  436. homeassistant-stubs/components/matter/lock.pyi +1 -0
  437. homeassistant-stubs/components/matter/models.pyi +2 -0
  438. homeassistant-stubs/components/matter/select.pyi +2 -0
  439. homeassistant-stubs/components/matter/switch.pyi +1 -0
  440. homeassistant-stubs/components/matter/update.pyi +1 -0
  441. homeassistant-stubs/components/matter/vacuum.pyi +47 -0
  442. homeassistant-stubs/components/matter/valve.pyi +1 -0
  443. homeassistant-stubs/components/media_player/__init__.pyi +0 -33
  444. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -0
  445. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -1
  446. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  447. homeassistant-stubs/components/modbus/const.pyi +0 -2
  448. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  449. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  450. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  451. homeassistant-stubs/components/mold_indicator/config_flow.pyi +9 -0
  452. homeassistant-stubs/components/mold_indicator/sensor.pyi +6 -2
  453. homeassistant-stubs/components/monzo/config_flow.pyi +1 -2
  454. homeassistant-stubs/components/mopeka/__init__.pyi +1 -0
  455. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  456. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +3 -3
  457. homeassistant-stubs/components/mqtt/client.pyi +4 -0
  458. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -2
  459. homeassistant-stubs/components/mqtt/const.pyi +3 -1
  460. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/discovery.pyi +26 -9
  462. homeassistant-stubs/components/mqtt/entity.pyi +5 -2
  463. homeassistant-stubs/components/mqtt/models.pyi +11 -0
  464. homeassistant-stubs/components/mqtt/schemas.pyi +15 -7
  465. homeassistant-stubs/components/mqtt/update.pyi +7 -11
  466. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  467. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  468. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  469. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  470. homeassistant-stubs/components/music_assistant/media_player.pyi +91 -0
  471. homeassistant-stubs/components/mysensors/const.pyi +6 -1
  472. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  473. homeassistant-stubs/components/myuplink/config_flow.pyi +1 -2
  474. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  475. homeassistant-stubs/components/nam/__init__.pyi +1 -0
  476. homeassistant-stubs/components/nam/config_flow.pyi +4 -7
  477. homeassistant-stubs/components/nanoleaf/__init__.pyi +1 -0
  478. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -2
  479. homeassistant-stubs/components/nest/__init__.pyi +1 -1
  480. homeassistant-stubs/components/nest/api.pyi +5 -3
  481. homeassistant-stubs/components/nest/camera.pyi +12 -6
  482. homeassistant-stubs/components/nest/config_flow.pyi +10 -4
  483. homeassistant-stubs/components/nest/const.pyi +2 -1
  484. homeassistant-stubs/components/netatmo/climate.pyi +1 -0
  485. homeassistant-stubs/components/network/websocket.pyi +2 -0
  486. homeassistant-stubs/components/nextdns/__init__.pyi +1 -0
  487. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -2
  488. homeassistant-stubs/components/notify/__init__.pyi +0 -2
  489. homeassistant-stubs/components/notion/config_flow.pyi +1 -3
  490. homeassistant-stubs/components/number/__init__.pyi +0 -8
  491. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  492. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  493. homeassistant-stubs/components/oncue/config_flow.pyi +1 -3
  494. homeassistant-stubs/components/oncue/types.pyi +3 -0
  495. homeassistant-stubs/components/onewire/__init__.pyi +1 -0
  496. homeassistant-stubs/components/onkyo/__init__.pyi +25 -0
  497. homeassistant-stubs/components/onkyo/config_flow.pyi +30 -0
  498. homeassistant-stubs/components/onkyo/const.pyi +68 -0
  499. homeassistant-stubs/components/onkyo/media_player.pyi +22 -25
  500. homeassistant-stubs/components/onkyo/receiver.pyi +23 -3
  501. homeassistant-stubs/components/onkyo/services.pyi +14 -0
  502. homeassistant-stubs/components/openai_conversation/__init__.pyi +19 -0
  503. homeassistant-stubs/components/openai_conversation/config_flow.pyi +30 -0
  504. homeassistant-stubs/components/openai_conversation/const.pyi +14 -0
  505. homeassistant-stubs/components/openai_conversation/conversation.pyi +36 -0
  506. homeassistant-stubs/components/openexchangerates/config_flow.pyi +1 -2
  507. homeassistant-stubs/components/oralb/__init__.pyi +1 -0
  508. homeassistant-stubs/components/otbr/__init__.pyi +1 -0
  509. homeassistant-stubs/components/otbr/config_flow.pyi +2 -1
  510. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +1 -1
  511. homeassistant-stubs/components/otbr/util.pyi +1 -1
  512. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +12 -12
  513. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +0 -3
  514. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -2
  515. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -2
  516. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -2
  517. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  518. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  519. homeassistant-stubs/components/panel_custom/__init__.pyi +28 -0
  520. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -0
  521. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  522. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  523. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  524. homeassistant-stubs/components/plugwise/config_flow.pyi +8 -6
  525. homeassistant-stubs/components/plugwise/const.pyi +4 -1
  526. homeassistant-stubs/components/plugwise/util.pyi +1 -1
  527. homeassistant-stubs/components/powerwall/config_flow.pyi +0 -1
  528. homeassistant-stubs/components/powerwall/models.pyi +1 -0
  529. homeassistant-stubs/components/private_ble_device/coordinator.pyi +3 -0
  530. homeassistant-stubs/components/prometheus/__init__.pyi +7 -4
  531. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  532. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  533. homeassistant-stubs/components/pvoutput/config_flow.pyi +1 -2
  534. homeassistant-stubs/components/qnap_qsw/sensor.pyi +8 -2
  535. homeassistant-stubs/components/radarr/__init__.pyi +1 -0
  536. homeassistant-stubs/components/radarr/config_flow.pyi +1 -3
  537. homeassistant-stubs/components/radio_browser/__init__.pyi +10 -0
  538. homeassistant-stubs/components/radio_browser/config_flow.pyi +8 -0
  539. homeassistant-stubs/components/radio_browser/const.pyi +5 -0
  540. homeassistant-stubs/components/radio_browser/media_source.pyi +28 -0
  541. homeassistant-stubs/components/rainforest_raven/__init__.pyi +3 -5
  542. homeassistant-stubs/components/rainforest_raven/coordinator.pyi +3 -12
  543. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +2 -4
  544. homeassistant-stubs/components/rainforest_raven/sensor.pyi +4 -5
  545. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  546. homeassistant-stubs/components/rainmachine/switch.pyi +1 -1
  547. homeassistant-stubs/components/rainmachine/update.pyi +7 -1
  548. homeassistant-stubs/components/raspberry_pi/__init__.pyi +2 -1
  549. homeassistant-stubs/components/recorder/core.pyi +2 -6
  550. homeassistant-stubs/components/recorder/migration.pyi +36 -16
  551. homeassistant-stubs/components/recorder/models/state.pyi +0 -7
  552. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  553. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -2
  554. homeassistant-stubs/components/recorder/util.pyi +10 -5
  555. homeassistant-stubs/components/remote/__init__.pyi +0 -4
  556. homeassistant-stubs/components/renault/__init__.pyi +1 -0
  557. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  558. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  559. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -2
  560. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -1
  561. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  562. homeassistant-stubs/components/ring/config_flow.pyi +5 -2
  563. homeassistant-stubs/components/ring/coordinator.pyi +1 -1
  564. homeassistant-stubs/components/ring/entity.pyi +2 -2
  565. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  566. homeassistant-stubs/components/roborock/config_flow.pyi +1 -2
  567. homeassistant-stubs/components/roborock/coordinator.pyi +0 -5
  568. homeassistant-stubs/components/roku/browse_media.pyi +2 -0
  569. homeassistant-stubs/components/roku/helpers.pyi +5 -2
  570. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -3
  571. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -1
  572. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -2
  573. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  574. homeassistant-stubs/components/samsungtv/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/scrape/__init__.pyi +1 -0
  576. homeassistant-stubs/components/scrape/coordinator.pyi +2 -1
  577. homeassistant-stubs/components/script/__init__.pyi +3 -18
  578. homeassistant-stubs/components/select/__init__.pyi +0 -3
  579. homeassistant-stubs/components/sensibo/__init__.pyi +1 -0
  580. homeassistant-stubs/components/sensibo/config_flow.pyi +5 -2
  581. homeassistant-stubs/components/sensibo/entity.pyi +1 -1
  582. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  583. homeassistant-stubs/components/sensor/__init__.pyi +0 -9
  584. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  585. homeassistant-stubs/components/sensoterra/__init__.pyi +1 -0
  586. homeassistant-stubs/components/senz/__init__.pyi +2 -0
  587. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +2 -2
  588. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  589. homeassistant-stubs/components/sfr_box/config_flow.pyi +1 -2
  590. homeassistant-stubs/components/sfr_box/coordinator.pyi +1 -1
  591. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -2
  592. homeassistant-stubs/components/shell_command/__init__.pyi +13 -0
  593. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  594. homeassistant-stubs/components/shelly/button.pyi +1 -1
  595. homeassistant-stubs/components/shelly/config_flow.pyi +1 -3
  596. homeassistant-stubs/components/shelly/const.pyi +1 -1
  597. homeassistant-stubs/components/shelly/coordinator.pyi +2 -4
  598. homeassistant-stubs/components/shelly/light.pyi +13 -2
  599. homeassistant-stubs/components/shelly/number.pyi +1 -1
  600. homeassistant-stubs/components/shelly/select.pyi +1 -1
  601. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  602. homeassistant-stubs/components/shelly/switch.pyi +10 -1
  603. homeassistant-stubs/components/shelly/text.pyi +1 -1
  604. homeassistant-stubs/components/shelly/update.pyi +2 -2
  605. homeassistant-stubs/components/shelly/utils.pyi +3 -2
  606. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -3
  607. homeassistant-stubs/components/simplisafe/typing.pyi +4 -0
  608. homeassistant-stubs/components/siren/__init__.pyi +0 -3
  609. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -3
  610. homeassistant-stubs/components/sleepiq/entity.pyi +3 -2
  611. homeassistant-stubs/components/smhi/config_flow.pyi +1 -3
  612. homeassistant-stubs/components/smlight/__init__.pyi +1 -0
  613. homeassistant-stubs/components/smlight/config_flow.pyi +0 -2
  614. homeassistant-stubs/components/smlight/coordinator.pyi +1 -1
  615. homeassistant-stubs/components/smlight/update.pyi +4 -2
  616. homeassistant-stubs/components/solarlog/__init__.pyi +1 -0
  617. homeassistant-stubs/components/solarlog/config_flow.pyi +1 -4
  618. homeassistant-stubs/components/solarlog/coordinator.pyi +6 -0
  619. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -4
  620. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +1 -0
  621. homeassistant-stubs/components/spotify/__init__.pyi +5 -0
  622. homeassistant-stubs/components/spotify/application_credentials.pyi +4 -0
  623. homeassistant-stubs/components/spotify/browse_media.pyi +49 -0
  624. homeassistant-stubs/components/spotify/config_flow.pyi +19 -0
  625. homeassistant-stubs/components/spotify/const.pyi +9 -0
  626. homeassistant-stubs/components/spotify/coordinator.pyi +34 -0
  627. homeassistant-stubs/components/spotify/diagnostics.pyi +5 -0
  628. homeassistant-stubs/components/spotify/entity.pyi +10 -0
  629. homeassistant-stubs/components/spotify/media_player.pyi +80 -0
  630. homeassistant-stubs/components/spotify/models.pyi +12 -0
  631. homeassistant-stubs/components/spotify/sensor.pyi +28 -0
  632. homeassistant-stubs/components/spotify/system_health.pyi +6 -0
  633. homeassistant-stubs/components/spotify/util.pyi +7 -0
  634. homeassistant-stubs/components/squeezebox/__init__.pyi +6 -3
  635. homeassistant-stubs/components/squeezebox/const.pyi +5 -0
  636. homeassistant-stubs/components/squeezebox/coordinator.pyi +15 -3
  637. homeassistant-stubs/components/squeezebox/media_player.pyi +12 -13
  638. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  639. homeassistant-stubs/components/statistics/config_flow.pyi +8 -2
  640. homeassistant-stubs/components/statistics/sensor.pyi +20 -22
  641. homeassistant-stubs/components/steamist/config_flow.pyi +3 -1
  642. homeassistant-stubs/components/sun/entity.pyi +1 -0
  643. homeassistant-stubs/components/surepetcare/config_flow.pyi +1 -2
  644. homeassistant-stubs/components/switch/__init__.pyi +0 -2
  645. homeassistant-stubs/components/switch_as_x/__init__.pyi +3 -0
  646. homeassistant-stubs/components/switch_as_x/config_flow.pyi +18 -0
  647. homeassistant-stubs/components/switch_as_x/const.pyi +5 -0
  648. homeassistant-stubs/components/switch_as_x/cover.pyi +18 -0
  649. homeassistant-stubs/components/switch_as_x/entity.pyi +35 -0
  650. homeassistant-stubs/components/switch_as_x/fan.pyi +17 -0
  651. homeassistant-stubs/components/switch_as_x/light.pyi +13 -0
  652. homeassistant-stubs/components/switch_as_x/lock.pyi +17 -0
  653. homeassistant-stubs/components/switch_as_x/siren.pyi +12 -0
  654. homeassistant-stubs/components/switch_as_x/valve.pyi +19 -0
  655. homeassistant-stubs/components/switchbee/entity.pyi +2 -2
  656. homeassistant-stubs/components/switchbee/switch.pyi +2 -1
  657. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  658. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -0
  659. homeassistant-stubs/components/switchbot_cloud/lock.pyi +18 -0
  660. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -0
  661. homeassistant-stubs/components/switcher_kis/button.pyi +2 -5
  662. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -5
  663. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -2
  664. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -1
  665. homeassistant-stubs/components/switcher_kis/cover.pyi +16 -9
  666. homeassistant-stubs/components/switcher_kis/entity.pyi +9 -0
  667. homeassistant-stubs/components/switcher_kis/light.pyi +44 -0
  668. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -5
  669. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -5
  670. homeassistant-stubs/components/synology_dsm/coordinator.pyi +2 -2
  671. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -1
  672. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  673. homeassistant-stubs/components/system_log/__init__.pyi +1 -0
  674. homeassistant-stubs/components/systemmonitor/__init__.pyi +1 -0
  675. homeassistant-stubs/components/tailscale/config_flow.pyi +1 -2
  676. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -2
  677. homeassistant-stubs/components/tailwind/typing.pyi +2 -0
  678. homeassistant-stubs/components/tautulli/__init__.pyi +1 -0
  679. homeassistant-stubs/components/technove/helpers.pyi +1 -1
  680. homeassistant-stubs/components/tedee/__init__.pyi +1 -1
  681. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  682. homeassistant-stubs/components/tedee/config_flow.pyi +2 -5
  683. homeassistant-stubs/components/tedee/coordinator.pyi +5 -5
  684. homeassistant-stubs/components/tedee/lock.pyi +2 -2
  685. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  686. homeassistant-stubs/components/text/__init__.pyi +0 -6
  687. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -2
  688. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +2 -1
  689. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -3
  690. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  691. homeassistant-stubs/components/tile/device_tracker.pyi +3 -6
  692. homeassistant-stubs/components/time/__init__.pyi +0 -4
  693. homeassistant-stubs/components/timer/__init__.pyi +1 -1
  694. homeassistant-stubs/components/tod/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/todo/__init__.pyi +0 -2
  696. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  697. homeassistant-stubs/components/tplink/button.pyi +1 -1
  698. homeassistant-stubs/components/tplink/config_flow.pyi +5 -3
  699. homeassistant-stubs/components/tplink/entity.pyi +4 -4
  700. homeassistant-stubs/components/tplink_omada/__init__.pyi +4 -3
  701. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +3 -5
  702. homeassistant-stubs/components/tplink_omada/const.pyi +11 -0
  703. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  704. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +3 -4
  705. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -1
  706. homeassistant-stubs/components/tplink_omada/sensor.pyi +34 -0
  707. homeassistant-stubs/components/tplink_omada/switch.pyi +3 -5
  708. homeassistant-stubs/components/tplink_omada/update.pyi +3 -6
  709. homeassistant-stubs/components/trace/__init__.pyi +5 -25
  710. homeassistant-stubs/components/trace/const.pyi +1 -1
  711. homeassistant-stubs/components/trace/models.pyi +2 -0
  712. homeassistant-stubs/components/trace/util.pyi +17 -0
  713. homeassistant-stubs/components/trace/websocket_api.pyi +1 -1
  714. homeassistant-stubs/components/tractive/__init__.pyi +1 -0
  715. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +2 -2
  716. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -2
  717. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +0 -1
  718. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -2
  719. homeassistant-stubs/components/transmission/__init__.pyi +1 -0
  720. homeassistant-stubs/components/transmission/config_flow.pyi +1 -2
  721. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -2
  722. homeassistant-stubs/components/tts/__init__.pyi +0 -5
  723. homeassistant-stubs/components/tts/const.pyi +1 -0
  724. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -0
  725. homeassistant-stubs/components/unifi/__init__.pyi +1 -0
  726. homeassistant-stubs/components/unifi/config_flow.pyi +1 -2
  727. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -3
  728. homeassistant-stubs/components/unifi/update.pyi +1 -1
  729. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -1
  730. homeassistant-stubs/components/unifiprotect/data.pyi +2 -0
  731. homeassistant-stubs/components/update/__init__.pyi +7 -12
  732. homeassistant-stubs/components/update/const.pyi +2 -0
  733. homeassistant-stubs/components/vacuum/__init__.pyi +0 -6
  734. homeassistant-stubs/components/vallox/config_flow.pyi +2 -5
  735. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  736. homeassistant-stubs/components/vlc_telnet/__init__.pyi +1 -0
  737. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +2 -3
  738. homeassistant-stubs/components/vlc_telnet/media_player.pyi +1 -1
  739. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  740. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -4
  741. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -3
  742. homeassistant-stubs/components/water_heater/__init__.pyi +0 -9
  743. homeassistant-stubs/components/weather/__init__.pyi +0 -19
  744. homeassistant-stubs/components/webostv/config_flow.pyi +2 -2
  745. homeassistant-stubs/components/webostv/media_player.pyi +1 -1
  746. homeassistant-stubs/components/websocket_api/connection.pyi +3 -0
  747. homeassistant-stubs/components/websocket_api/const.pyi +4 -1
  748. homeassistant-stubs/components/wemo/__init__.pyi +4 -1
  749. homeassistant-stubs/components/wemo/coordinator.pyi +3 -0
  750. homeassistant-stubs/components/withings/__init__.pyi +4 -2
  751. homeassistant-stubs/components/withings/config_flow.pyi +1 -2
  752. homeassistant-stubs/components/withings/coordinator.pyi +7 -2
  753. homeassistant-stubs/components/withings/entity.pyi +14 -2
  754. homeassistant-stubs/components/withings/sensor.pyi +19 -4
  755. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  756. homeassistant-stubs/components/wled/__init__.pyi +1 -0
  757. homeassistant-stubs/components/wled/helpers.pyi +1 -1
  758. homeassistant-stubs/components/workday/__init__.pyi +13 -0
  759. homeassistant-stubs/components/workday/binary_sensor.pyi +46 -0
  760. homeassistant-stubs/components/workday/config_flow.pyi +33 -0
  761. homeassistant-stubs/components/workday/const.pyi +18 -0
  762. homeassistant-stubs/components/workday/diagnostics.pyi +5 -0
  763. homeassistant-stubs/components/workday/repairs.pyi +28 -0
  764. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +7 -2
  765. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +1 -1
  766. homeassistant-stubs/components/xiaomi_ble/types.pyi +2 -0
  767. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +1 -0
  768. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +2 -3
  769. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +7 -0
  770. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +0 -1
  771. homeassistant-stubs/components/yale_smart_alarm/const.pyi +2 -1
  772. homeassistant-stubs/components/yale_smart_alarm/select.pyi +21 -0
  773. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -0
  774. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  775. homeassistant-stubs/components/youtube/config_flow.pyi +1 -2
  776. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  777. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  778. homeassistant-stubs/components/zwave_js/discovery.pyi +2 -1
  779. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -1
  780. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  781. homeassistant-stubs/components/zwave_js/services.pyi +4 -1
  782. homeassistant-stubs/components/zwave_js/update.pyi +2 -1
  783. homeassistant-stubs/config.pyi +3 -24
  784. homeassistant-stubs/config_entries.pyi +52 -27
  785. homeassistant-stubs/const.pyi +16 -12
  786. homeassistant-stubs/core.pyi +36 -109
  787. homeassistant-stubs/core_config.pyi +108 -0
  788. homeassistant-stubs/data_entry_flow.pyi +22 -18
  789. homeassistant-stubs/helpers/area_registry.pyi +6 -8
  790. homeassistant-stubs/helpers/category_registry.pyi +1 -0
  791. homeassistant-stubs/helpers/check_config.pyi +2 -1
  792. homeassistant-stubs/helpers/collection.pyi +6 -4
  793. homeassistant-stubs/helpers/condition.pyi +1 -0
  794. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -2
  795. homeassistant-stubs/helpers/config_validation.pyi +6 -6
  796. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  797. homeassistant-stubs/helpers/debounce.pyi +1 -1
  798. homeassistant-stubs/helpers/deprecation.pyi +9 -4
  799. homeassistant-stubs/helpers/device_registry.pyi +7 -8
  800. homeassistant-stubs/helpers/discovery_flow.pyi +5 -5
  801. homeassistant-stubs/helpers/dispatcher.pyi +9 -8
  802. homeassistant-stubs/helpers/entity.pyi +2 -31
  803. homeassistant-stubs/helpers/entity_registry.pyi +7 -9
  804. homeassistant-stubs/helpers/event.pyi +2 -1
  805. homeassistant-stubs/helpers/floor_registry.pyi +3 -3
  806. homeassistant-stubs/helpers/frame.pyi +1 -5
  807. homeassistant-stubs/helpers/hassio.pyi +4 -0
  808. homeassistant-stubs/helpers/http.pyi +2 -0
  809. homeassistant-stubs/helpers/intent.pyi +5 -5
  810. homeassistant-stubs/helpers/json.pyi +3 -0
  811. homeassistant-stubs/helpers/label_registry.pyi +3 -3
  812. homeassistant-stubs/helpers/llm.pyi +1 -2
  813. homeassistant-stubs/helpers/network.pyi +1 -0
  814. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +6 -3
  815. homeassistant-stubs/helpers/ratelimit.pyi +1 -1
  816. homeassistant-stubs/helpers/redact.pyi +2 -2
  817. homeassistant-stubs/helpers/registry.pyi +5 -3
  818. homeassistant-stubs/helpers/script.pyi +3 -7
  819. homeassistant-stubs/helpers/selector.pyi +1 -1
  820. homeassistant-stubs/helpers/service.pyi +2 -2
  821. homeassistant-stubs/helpers/service_info/hassio.pyi +11 -0
  822. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -0
  823. homeassistant-stubs/helpers/significant_change.pyi +3 -0
  824. homeassistant-stubs/helpers/singleton.pyi +3 -2
  825. homeassistant-stubs/helpers/storage.pyi +4 -5
  826. homeassistant-stubs/helpers/sun.pyi +2 -0
  827. homeassistant-stubs/helpers/system_info.pyi +1 -0
  828. homeassistant-stubs/helpers/template.pyi +4 -3
  829. homeassistant-stubs/helpers/trace.pyi +3 -3
  830. homeassistant-stubs/helpers/typing.pyi +13 -0
  831. homeassistant-stubs/helpers/update_coordinator.pyi +4 -4
  832. homeassistant-stubs/loader.pyi +5 -21
  833. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -1
  834. homeassistant-stubs/util/__init__.pyi +1 -1
  835. homeassistant-stubs/util/async_.pyi +2 -2
  836. homeassistant-stubs/util/decorator.pyi +2 -1
  837. homeassistant-stubs/util/dt.pyi +3 -2
  838. homeassistant-stubs/util/enum.pyi +2 -2
  839. homeassistant-stubs/util/hass_dict.pyi +17 -17
  840. homeassistant-stubs/util/json.pyi +3 -0
  841. homeassistant-stubs/util/limited_size_dict.pyi +1 -1
  842. homeassistant-stubs/util/logging.pyi +8 -8
  843. homeassistant-stubs/util/loop.pyi +1 -1
  844. homeassistant-stubs/util/percentage.pyi +2 -2
  845. homeassistant-stubs/util/read_only_dict.pyi +1 -1
  846. homeassistant-stubs/util/signal_type.pyi +3 -3
  847. homeassistant-stubs/util/variance.pyi +3 -3
  848. homeassistant-stubs/util/yaml/loader.pyi +2 -4
  849. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/METADATA +2 -2
  850. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/RECORD +852 -768
  851. homeassistant-stubs/components/jellyfin/models.pyi +0 -10
  852. homeassistant-stubs/components/map/__init__.pyi +0 -14
  853. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/WHEEL +0 -0
  854. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -12,10 +12,9 @@ from abc import ABCMeta
12
12
  from collections import deque
13
13
  from collections.abc import Callable as Callable, Coroutine, Iterable, Mapping
14
14
  from enum import Enum, IntFlag
15
- from functools import cached_property as cached_property
16
- from homeassistant.config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
17
15
  from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
18
16
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ReleaseChannel as ReleaseChannel, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, get_release_channel as get_release_channel
17
+ from homeassistant.core_config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
19
18
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, InvalidStateError as InvalidStateError, NoEntitySpecifiedError as NoEntitySpecifiedError
20
19
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue, bind_hass as bind_hass
21
20
  from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
@@ -141,66 +140,39 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
141
140
  _attr_unit_of_measurement: str | None
142
141
  def __init_subclass__(cls, **kwargs: Any) -> None: ...
143
142
  def get_hassjob_type(self, function_name: str) -> HassJobType: ...
144
- @cached_property
145
143
  def should_poll(self) -> bool: ...
146
- @cached_property
147
144
  def unique_id(self) -> str | None: ...
148
- @cached_property
149
145
  def use_device_name(self) -> bool: ...
150
- @cached_property
151
146
  def has_entity_name(self) -> bool: ...
152
147
  def _device_class_name_helper(self, component_translations: dict[str, str]) -> str | None: ...
153
- @cached_property
154
148
  def _object_id_device_class_name(self) -> str | None: ...
155
- @cached_property
156
149
  def _device_class_name(self) -> str | None: ...
157
150
  def _default_to_device_class_name(self) -> bool: ...
158
- @cached_property
159
151
  def _name_translation_key(self) -> str | None: ...
160
152
  def _substitute_name_placeholders(self, name: str) -> str: ...
161
153
  def _name_internal(self, device_class_name: str | None, platform_translations: dict[str, str]) -> str | UndefinedType | None: ...
162
154
  @property
163
155
  def suggested_object_id(self) -> str | None: ...
164
- @cached_property
165
156
  def name(self) -> str | UndefinedType | None: ...
166
- @cached_property
167
157
  def state(self) -> StateType: ...
168
- @cached_property
169
158
  def capability_attributes(self) -> dict[str, Any] | None: ...
170
159
  def get_initial_entity_options(self) -> er.EntityOptionsType | None: ...
171
- @cached_property
172
160
  def state_attributes(self) -> dict[str, Any] | None: ...
173
- @cached_property
174
161
  def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
175
- @cached_property
176
162
  def device_info(self) -> DeviceInfo | None: ...
177
- @cached_property
178
163
  def device_class(self) -> str | None: ...
179
- @cached_property
180
164
  def unit_of_measurement(self) -> str | None: ...
181
- @cached_property
182
165
  def icon(self) -> str | None: ...
183
- @cached_property
184
166
  def entity_picture(self) -> str | None: ...
185
- @cached_property
186
167
  def available(self) -> bool: ...
187
- @cached_property
188
168
  def assumed_state(self) -> bool: ...
189
- @cached_property
190
169
  def force_update(self) -> bool: ...
191
- @cached_property
192
170
  def supported_features(self) -> int | None: ...
193
- @cached_property
194
171
  def entity_registry_enabled_default(self) -> bool: ...
195
- @cached_property
196
172
  def entity_registry_visible_default(self) -> bool: ...
197
- @cached_property
198
173
  def attribution(self) -> str | None: ...
199
- @cached_property
200
174
  def entity_category(self) -> EntityCategory | None: ...
201
- @cached_property
202
175
  def translation_key(self) -> str | None: ...
203
- @cached_property
204
176
  def translation_placeholders(self) -> Mapping[str, str]: ...
205
177
  @property
206
178
  def enabled(self) -> bool: ...
@@ -237,7 +209,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
237
209
  def _async_device_registry_updated(self, event: Event[EventDeviceRegistryUpdatedData]) -> None: ...
238
210
  def _async_subscribe_device_updates(self) -> None: ...
239
211
  def __repr__(self) -> str: ...
240
- async def async_request_call(self, coro: Coroutine[Any, Any, _T]) -> _T: ...
212
+ async def async_request_call[_T](self, coro: Coroutine[Any, Any, _T]) -> _T: ...
241
213
  def _suggest_report_issue(self) -> str: ...
242
214
  def _report_deprecated_supported_features_values(self, replacement: IntFlag) -> None: ...
243
215
 
@@ -253,7 +225,6 @@ class ToggleEntity(Entity, cached_properties=TOGGLE_ENTITY_CACHED_PROPERTIES_WIT
253
225
  _attr_state: None
254
226
  @property
255
227
  def state(self) -> Literal['on', 'off'] | None: ...
256
- @cached_property
257
228
  def is_on(self) -> bool | None: ...
258
229
  def turn_on(self, **kwargs: Any) -> None: ...
259
230
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -8,7 +8,6 @@ from _typeshed import Incomplete
8
8
  from collections.abc import Callable as Callable, Container, Hashable, KeysView, Mapping
9
9
  from datetime import datetime
10
10
  from enum import StrEnum
11
- from functools import cached_property as cached_property
12
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
12
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_RESTORED as ATTR_RESTORED, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EntityCategory as EntityCategory, MAX_LENGTH_STATE_DOMAIN as MAX_LENGTH_STATE_DOMAIN, MAX_LENGTH_STATE_ENTITY_ID as MAX_LENGTH_STATE_ENTITY_ID, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
14
13
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
@@ -54,6 +53,9 @@ class _EventEntityRegistryUpdatedData_Update(TypedDict):
54
53
  entity_id: str
55
54
  changes: dict[str, Any]
56
55
  old_entity_id: NotRequired[str]
56
+ type EventEntityRegistryUpdatedData = _EventEntityRegistryUpdatedData_CreateRemove | _EventEntityRegistryUpdatedData_Update
57
+ type EntityOptionsType = Mapping[str, Mapping[str, Any]]
58
+ type ReadOnlyEntityOptionsType = ReadOnlyDict[str, ReadOnlyDict[str, Any]]
57
59
 
58
60
  DISPLAY_DICT_OPTIONAL: Incomplete
59
61
 
@@ -89,6 +91,7 @@ class RegistryEntry:
89
91
  supported_features: int
90
92
  translation_key: str | None
91
93
  unit_of_measurement: str | None
94
+ _cache: dict[str, Any]
92
95
  def _domain_default(self) -> str: ...
93
96
  @property
94
97
  def disabled(self) -> bool: ...
@@ -96,18 +99,13 @@ class RegistryEntry:
96
99
  def hidden(self) -> bool: ...
97
100
  @property
98
101
  def _as_display_dict(self) -> dict[str, Any] | None: ...
99
- @cached_property
100
102
  def display_json_repr(self) -> bytes | None: ...
101
- @cached_property
102
103
  def as_partial_dict(self) -> dict[str, Any]: ...
103
- @cached_property
104
104
  def extended_dict(self) -> dict[str, Any]: ...
105
- @cached_property
106
105
  def partial_json_repr(self) -> bytes | None: ...
107
- @cached_property
108
106
  def as_storage_fragment(self) -> json_fragment: ...
109
107
  def write_unavailable_state(self, hass: HomeAssistant) -> None: ...
110
- def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, created_at, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, modified_at, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement) -> None: ...
108
+ def __init__(self, entity_id, unique_id, platform, previous_unique_id, aliases, area_id, categories, capabilities, config_entry_id, created_at, device_class, device_id, domain, disabled_by, entity_category, hidden_by, icon, id, has_entity_name, labels, modified_at, name, options, original_device_class, original_icon, original_name, supported_features, translation_key, unit_of_measurement, cache) -> None: ...
111
109
  def __lt__(self, other): ...
112
110
  def __le__(self, other): ...
113
111
  def __gt__(self, other): ...
@@ -123,10 +121,10 @@ class DeletedRegistryEntry:
123
121
  orphaned_timestamp: float | None
124
122
  created_at: datetime
125
123
  modified_at: datetime
124
+ _cache: dict[str, Any]
126
125
  def _domain_default(self) -> str: ...
127
- @cached_property
128
126
  def as_storage_fragment(self) -> json_fragment: ...
129
- def __init__(self, entity_id, unique_id, platform, config_entry_id, domain, id, orphaned_timestamp, created_at, modified_at) -> None: ...
127
+ def __init__(self, entity_id, unique_id, platform, config_entry_id, domain, id, orphaned_timestamp, created_at, modified_at, cache) -> None: ...
130
128
  def __lt__(self, other): ...
131
129
  def __le__(self, other): ...
132
130
  def __gt__(self, other): ...
@@ -71,7 +71,7 @@ class TrackTemplateResult:
71
71
  result: Any
72
72
  def __init__(self, template, last_result, result) -> None: ...
73
73
 
74
- def threaded_listener_factory(async_factory: Callable[Concatenate[HomeAssistant, _P], Any]) -> Callable[Concatenate[HomeAssistant, _P], CALLBACK_TYPE]: ...
74
+ def threaded_listener_factory[**_P](async_factory: Callable[Concatenate[HomeAssistant, _P], Any]) -> Callable[Concatenate[HomeAssistant, _P], CALLBACK_TYPE]: ...
75
75
  def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[str, State | None, State | None], Coroutine[Any, Any, None] | None], from_state: str | Iterable[str] | None = None, to_state: str | Iterable[str] | None = None) -> CALLBACK_TYPE: ...
76
76
 
77
77
  track_state_change: Incomplete
@@ -164,6 +164,7 @@ class TrackTemplateResultInfo:
164
164
  def _super_template_as_boolean(result: bool | str | TemplateError) -> bool: ...
165
165
  def _apply_update(self, updates: list[TrackTemplateResult], update: bool | TrackTemplateResult, template: Template) -> bool: ...
166
166
  def _refresh(self, event: Event[EventStateChangedData] | None, track_templates: Iterable[TrackTemplate] | None = None, replayed: bool | None = False) -> None: ...
167
+ type TrackTemplateResultListener = Callable[[Event[EventStateChangedData] | None, list[TrackTemplateResult]], Coroutine[Any, Any, None] | None]
167
168
 
168
169
  def async_track_template_result(hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action: TrackTemplateResultListener, strict: bool = False, log_fn: Callable[[int, str], None] | None = None, has_super_template: bool = False) -> TrackTemplateResultInfo: ...
169
170
  def async_track_same_state(hass: HomeAssistant, period: timedelta, action: Callable[[], Coroutine[Any, Any, None] | None], async_check_same_func: Callable[[str, State | None, State | None], bool], entity_ids: str | Iterable[str] = ...) -> CALLBACK_TYPE: ...
@@ -1,4 +1,4 @@
1
- from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
1
+ from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems
2
2
  from .registry import BaseRegistry as BaseRegistry
3
3
  from .singleton import singleton as singleton
4
4
  from .storage import Store as Store
@@ -7,7 +7,6 @@ from _typeshed import Incomplete
7
7
  from collections.abc import Iterable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.util import slugify as slugify
11
10
  from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp, utcnow as utcnow
12
11
  from homeassistant.util.event_type import EventType as EventType
13
12
  from homeassistant.util.hass_dict import HassKey as HassKey
@@ -34,6 +33,7 @@ class FloorRegistryStoreData(TypedDict):
34
33
  class EventFloorRegistryUpdatedData(TypedDict):
35
34
  action: Literal['create', 'remove', 'update']
36
35
  floor_id: str
36
+ type EventFloorRegistryUpdated = Event[EventFloorRegistryUpdatedData]
37
37
 
38
38
  @dataclass(slots=True, kw_only=True, frozen=True)
39
39
  class FloorEntry(NormalizedNameBaseRegistryEntry):
@@ -41,7 +41,7 @@ class FloorEntry(NormalizedNameBaseRegistryEntry):
41
41
  floor_id: str
42
42
  icon: str | None = ...
43
43
  level: int | None = ...
44
- def __init__(self, *, name, normalized_name, created_at=..., modified_at=..., aliases, floor_id, icon=..., level=...) -> None: ...
44
+ def __init__(self, *, name, created_at=..., modified_at=..., aliases, floor_id, icon=..., level=...) -> None: ...
45
45
 
46
46
  class FloorRegistryStore(Store[FloorRegistryStoreData]):
47
47
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, list[dict[str, Any]]]) -> FloorRegistryStoreData: ...
@@ -2,7 +2,6 @@ import logging
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
5
- from functools import cached_property as cached_property
6
5
  from homeassistant.core import async_get_hass_or_none as async_get_hass_or_none
7
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
7
  from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
@@ -18,11 +17,8 @@ class IntegrationFrame:
18
17
  module: str | None
19
18
  relative_filename: str
20
19
  frame: FrameType
21
- @cached_property
22
20
  def line_number(self) -> int: ...
23
- @cached_property
24
21
  def filename(self) -> str: ...
25
- @cached_property
26
22
  def line(self) -> str: ...
27
23
  def __init__(self, *, custom_integration, integration, module, relative_filename, frame) -> None: ...
28
24
 
@@ -34,5 +30,5 @@ class MissingIntegrationFrame(HomeAssistantError): ...
34
30
 
35
31
  def report(what: str, *, exclude_integrations: set[str] | None = None, error_if_core: bool = True, error_if_integration: bool = False, level: int = ..., log_custom_component_only: bool = False) -> None: ...
36
32
  def _report_integration(what: str, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
37
- def warn_use(func: _CallableT, what: str) -> _CallableT: ...
33
+ def warn_use[_CallableT: Callable](func: _CallableT, what: str) -> _CallableT: ...
38
34
  def report_non_thread_safe_operation(what: str) -> None: ...
@@ -0,0 +1,4 @@
1
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
2
+
3
+ def is_hassio(hass: HomeAssistant) -> bool: ...
4
+ def get_supervisor_ip() -> str | None: ...
@@ -3,6 +3,7 @@ from _typeshed import Incomplete
3
3
  from aiohttp import web
4
4
  from aiohttp.typedefs import LooseHeaders as LooseHeaders
5
5
  from aiohttp.web import AppKey, Request as Request
6
+ from aiohttp.web_urldispatcher import AbstractResource, AbstractRoute
6
7
  from collections.abc import Awaitable, Callable
7
8
  from contextvars import ContextVar
8
9
  from homeassistant import exceptions as exceptions
@@ -13,6 +14,7 @@ from http import HTTPStatus
13
14
  from typing import Any, Final
14
15
 
15
16
  _LOGGER: Incomplete
17
+ type AllowCorsType = Callable[[AbstractRoute | AbstractResource], None]
16
18
  KEY_AUTHENTICATED: Final[str]
17
19
  KEY_ALLOW_ALL_CORS: Incomplete
18
20
  KEY_ALLOW_CONFIGURED_CORS: Incomplete
@@ -5,10 +5,9 @@ from . import area_registry as area_registry, device_registry as device_registry
5
5
  from .typing import VolSchemaType as VolSchemaType
6
6
  from _typeshed import Incomplete
7
7
  from abc import abstractmethod
8
- from collections.abc import Collection, Iterable
8
+ from collections.abc import Callable, Collection, Iterable
9
9
  from dataclasses import dataclass
10
10
  from enum import Enum, StrEnum
11
- from functools import cached_property as cached_property
12
11
  from homeassistant.components.homeassistant.exposed_entities import async_should_expose as async_should_expose
13
12
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES
14
13
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State, callback as callback
@@ -18,6 +17,8 @@ from homeassistant.util.hass_dict import HassKey as HassKey
18
17
  from typing import Any
19
18
 
20
19
  _LOGGER: Incomplete
20
+ type _SlotsType = dict[str, Any]
21
+ type _IntentSlotsType = dict[str | tuple[str, str], VolSchemaType | Callable[[Any], Any]]
21
22
  INTENT_TURN_OFF: str
22
23
  INTENT_TURN_ON: str
23
24
  INTENT_TOGGLE: str
@@ -111,12 +112,13 @@ class NoStatesMatchedError(MatchFailedError):
111
112
  @dataclass
112
113
  class MatchTargetsCandidate:
113
114
  state: State
115
+ is_exposed: bool
114
116
  entity: entity_registry.RegistryEntry | None = ...
115
117
  area: area_registry.AreaEntry | None = ...
116
118
  floor: floor_registry.FloorEntry | None = ...
117
119
  device: device_registry.DeviceEntry | None = ...
118
120
  matched_name: str | None = ...
119
- def __init__(self, state, entity=..., area=..., floor=..., device=..., matched_name=...) -> None: ...
121
+ def __init__(self, state, is_exposed, entity=..., area=..., floor=..., device=..., matched_name=...) -> None: ...
120
122
 
121
123
  def find_areas(name: str, areas: area_registry.AreaRegistry) -> Iterable[area_registry.AreaEntry]: ...
122
124
  def find_floors(name: str, floors: floor_registry.FloorRegistry) -> Iterable[floor_registry.FloorEntry]: ...
@@ -137,7 +139,6 @@ class IntentHandler:
137
139
  def slot_schema(self) -> dict | None: ...
138
140
  def async_can_handle(self, intent_obj: Intent) -> bool: ...
139
141
  def async_validate_slots(self, slots: _SlotsType) -> _SlotsType: ...
140
- @cached_property
141
142
  def _slot_schema(self) -> vol.Schema: ...
142
143
  async def async_handle(self, intent_obj: Intent) -> IntentResponse: ...
143
144
  def __repr__(self) -> str: ...
@@ -157,7 +158,6 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
157
158
  required_slots: Incomplete
158
159
  optional_slots: Incomplete
159
160
  def __init__(self, intent_type: str, speech: str | None = None, required_slots: _IntentSlotsType | None = None, optional_slots: _IntentSlotsType | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None, device_classes: set[type[StrEnum]] | None = None) -> None: ...
160
- @cached_property
161
161
  def slot_schema(self) -> dict: ...
162
162
  @abstractmethod
163
163
  def get_domain_and_service(self, intent_obj: Intent, state: State) -> tuple[str, str]: ...
@@ -29,6 +29,9 @@ def json_bytes_strip_null(data: Any) -> bytes: ...
29
29
  json_fragment = orjson.Fragment
30
30
 
31
31
  def json_dumps(data: Any) -> str: ...
32
+
33
+ json_bytes_sorted: Incomplete
34
+
32
35
  def json_dumps_sorted(data: Any) -> str: ...
33
36
 
34
37
  JSON_DUMP: Final[Incomplete]
@@ -1,4 +1,4 @@
1
- from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems, normalize_name as normalize_name
1
+ from .normalized_name_base_registry import NormalizedNameBaseRegistryEntry as NormalizedNameBaseRegistryEntry, NormalizedNameBaseRegistryItems as NormalizedNameBaseRegistryItems
2
2
  from .registry import BaseRegistry as BaseRegistry
3
3
  from .singleton import singleton as singleton
4
4
  from .storage import Store as Store
@@ -7,7 +7,6 @@ from _typeshed import Incomplete
7
7
  from collections.abc import Iterable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.util import slugify as slugify
11
10
  from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp, utcnow as utcnow
12
11
  from homeassistant.util.event_type import EventType as EventType
13
12
  from homeassistant.util.hass_dict import HassKey as HassKey
@@ -34,6 +33,7 @@ class LabelRegistryStoreData(TypedDict):
34
33
  class EventLabelRegistryUpdatedData(TypedDict):
35
34
  action: Literal['create', 'remove', 'update']
36
35
  label_id: str
36
+ type EventLabelRegistryUpdated = Event[EventLabelRegistryUpdatedData]
37
37
 
38
38
  @dataclass(slots=True, frozen=True, kw_only=True)
39
39
  class LabelEntry(NormalizedNameBaseRegistryEntry):
@@ -41,7 +41,7 @@ class LabelEntry(NormalizedNameBaseRegistryEntry):
41
41
  description: str | None = ...
42
42
  color: str | None = ...
43
43
  icon: str | None = ...
44
- def __init__(self, *, name, normalized_name, created_at=..., modified_at=..., label_id, description=..., color=..., icon=...) -> None: ...
44
+ def __init__(self, *, name, created_at=..., modified_at=..., label_id, description=..., color=..., icon=...) -> None: ...
45
45
 
46
46
  class LabelRegistryStore(Store[LabelRegistryStoreData]):
47
47
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, list[dict[str, Any]]]) -> LabelRegistryStoreData: ...
@@ -93,11 +93,10 @@ class AssistAPI(API):
93
93
 
94
94
  def _get_exposed_entities(hass: HomeAssistant, assistant: str) -> dict[str, dict[str, Any]]: ...
95
95
  def _selector_serializer(schema: Any) -> Any: ...
96
+ def _get_cached_script_parameters(hass: HomeAssistant, entity_id: str) -> tuple[str | None, vol.Schema]: ...
96
97
 
97
98
  class ScriptTool(Tool):
98
99
  name: Incomplete
99
100
  _entity_id: Incomplete
100
- parameters: Incomplete
101
- description: Incomplete
102
101
  def __init__(self, hass: HomeAssistant, script_entity_id: str) -> None: ...
103
102
  async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
@@ -1,3 +1,4 @@
1
+ from .hassio import is_hassio as is_hassio
1
2
  from collections.abc import Callable as Callable
2
3
  from homeassistant.components import http as http
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -2,20 +2,23 @@ from .registry import BaseRegistryItems as BaseRegistryItems
2
2
  from _typeshed import Incomplete
3
3
  from dataclasses import dataclass
4
4
  from datetime import datetime
5
+ from homeassistant.util import slugify as slugify
5
6
 
6
7
  @dataclass(slots=True, frozen=True, kw_only=True)
7
8
  class NormalizedNameBaseRegistryEntry:
8
9
  name: str
9
- normalized_name: str
10
+ normalized_name: str = ...
10
11
  created_at: datetime = ...
11
12
  modified_at: datetime = ...
12
- def __init__(self, *, name, normalized_name, created_at=..., modified_at=...) -> None: ...
13
+ def __post_init__(self) -> None: ...
14
+ def __init__(self, *, name, created_at=..., modified_at=...) -> None: ...
13
15
 
14
16
  def normalize_name(name: str) -> str: ...
15
17
 
16
- class NormalizedNameBaseRegistryItems(BaseRegistryItems[_VT]):
18
+ class NormalizedNameBaseRegistryItems[_VT: NormalizedNameBaseRegistryEntry](BaseRegistryItems[_VT]):
17
19
  _normalized_names: Incomplete
18
20
  def __init__(self) -> None: ...
19
21
  def _unindex_entry(self, key: str, replacement_entry: _VT | None = None) -> None: ...
20
22
  def _index_entry(self, key: str, entry: _VT) -> None: ...
21
23
  def get_by_name(self, name: str) -> _VT | None: ...
24
+ def generate_id_from_name(self, name: str) -> str: ...
@@ -13,4 +13,4 @@ class KeyedRateLimit:
13
13
  def async_triggered(self, key: Hashable, now: float | None = None) -> None: ...
14
14
  def async_cancel_timer(self, key: Hashable) -> None: ...
15
15
  def async_remove(self) -> None: ...
16
- def async_schedule_action(self, key: Hashable, rate_limit: float | None, now: float, action: Callable[[Unpack[_Ts]], None], *args: Unpack[_Ts]) -> float | None: ...
16
+ def async_schedule_action[*_Ts](self, key: Hashable, rate_limit: float | None, now: float, action: Callable[[Unpack[_Ts]], None], *args: Unpack[_Ts]) -> float | None: ...
@@ -6,6 +6,6 @@ REDACTED: str
6
6
 
7
7
  def partial_redact(x: str | Any, unmasked_prefix: int = 4, unmasked_suffix: int = 4) -> str: ...
8
8
  @overload
9
- def async_redact_data(data: Mapping, to_redact: Iterable[Any] | Mapping[Any, Callable[[_ValueT], _ValueT]]) -> dict: ...
9
+ def async_redact_data[_ValueT](data: Mapping, to_redact: Iterable[Any] | Mapping[Any, Callable[[_ValueT], _ValueT]]) -> dict: ...
10
10
  @overload
11
- def async_redact_data(data: _T, to_redact: Iterable[Any] | Mapping[Any, Callable[[_ValueT], _ValueT]]) -> _T: ...
11
+ def async_redact_data[_T, _ValueT](data: _T, to_redact: Iterable[Any] | Mapping[Any, Callable[[_ValueT], _ValueT]]) -> _T: ...
@@ -1,14 +1,16 @@
1
1
  import abc
2
2
  from .storage import Store as Store
3
3
  from abc import ABC, abstractmethod
4
- from collections import UserDict
4
+ from collections import UserDict, defaultdict
5
5
  from collections.abc import Mapping as Mapping, Sequence as Sequence, ValuesView
6
6
  from homeassistant.core import CoreState as CoreState, HomeAssistant as HomeAssistant, callback as callback
7
+ from typing import Any, Literal
7
8
 
8
9
  SAVE_DELAY: int
9
10
  SAVE_DELAY_LONG: int
11
+ type RegistryIndexType = defaultdict[str, dict[str, Literal[True]]]
10
12
 
11
- class BaseRegistryItems(UserDict[str, _DataT], ABC, metaclass=abc.ABCMeta):
13
+ class BaseRegistryItems[_DataT](UserDict[str, _DataT], ABC, metaclass=abc.ABCMeta):
12
14
  data: dict[str, _DataT]
13
15
  def values(self) -> ValuesView[_DataT]: ...
14
16
  @abstractmethod
@@ -19,7 +21,7 @@ class BaseRegistryItems(UserDict[str, _DataT], ABC, metaclass=abc.ABCMeta):
19
21
  def _unindex_entry_value(self, key: str, value: str, index: RegistryIndexType) -> None: ...
20
22
  def __delitem__(self, key: str) -> None: ...
21
23
 
22
- class BaseRegistry(ABC, metaclass=abc.ABCMeta):
24
+ class BaseRegistry[_StoreDataT: Mapping[str, Any] | Sequence[Any]](ABC, metaclass=abc.ABCMeta):
23
25
  hass: HomeAssistant
24
26
  _store: Store[_StoreDataT]
25
27
  def async_schedule_save(self) -> None: ...
@@ -15,7 +15,6 @@ from collections.abc import AsyncGenerator, Callable as Callable, Mapping, Seque
15
15
  from contextvars import ContextVar
16
16
  from dataclasses import dataclass
17
17
  from datetime import datetime, timedelta
18
- from functools import cached_property as cached_property
19
18
  from homeassistant import exceptions as exceptions
20
19
  from homeassistant.components import scene as scene
21
20
  from homeassistant.components.logger import LOGSEVERITY as LOGSEVERITY
@@ -26,6 +25,7 @@ from homeassistant.util.async_ import create_eager_task as create_eager_task
26
25
  from homeassistant.util.dt import utcnow as utcnow
27
26
  from homeassistant.util.hass_dict import HassKey as HassKey
28
27
  from homeassistant.util.signal_type import SignalType as SignalType, SignalTypeFormat as SignalTypeFormat
28
+ from types import MappingProxyType
29
29
  from typing import Any, Literal, TypedDict, overload
30
30
 
31
31
  SCRIPT_MODE_PARALLEL: str
@@ -110,7 +110,7 @@ class _ScriptRun:
110
110
  def _get_timeout_seconds_from_action(self) -> float | None: ...
111
111
  async def _async_wait_template_step(self) -> None: ...
112
112
  def _async_set_remaining_time_var(self, timeout_handle: asyncio.TimerHandle | None) -> None: ...
113
- async def _async_run_long_action(self, long_task: asyncio.Task[_T]) -> _T | None: ...
113
+ async def _async_run_long_action[_T](self, long_task: asyncio.Task[_T]) -> _T | None: ...
114
114
  async def _async_call_service_step(self) -> None: ...
115
115
  async def _async_device_step(self) -> None: ...
116
116
  async def _async_scene_step(self) -> None: ...
@@ -142,6 +142,7 @@ class _QueuedScriptRun(_ScriptRun):
142
142
  def _schedule_stop_scripts_after_shutdown(hass: HomeAssistant) -> None: ...
143
143
  async def _async_stop_scripts_after_shutdown(hass: HomeAssistant, point_in_time: datetime) -> None: ...
144
144
  async def _async_stop_scripts_at_shutdown(hass: HomeAssistant, event: Event) -> None: ...
145
+ type _VarsType = dict[str, Any] | Mapping[str, Any] | MappingProxyType[str, Any]
145
146
  def _referenced_extract_ids(data: Any, key: str, found: set[str]) -> None: ...
146
147
 
147
148
  class _ChooseData(TypedDict):
@@ -203,19 +204,14 @@ class Script:
203
204
  def runs(self) -> int: ...
204
205
  @property
205
206
  def supports_max(self) -> bool: ...
206
- @cached_property
207
207
  def referenced_labels(self) -> set[str]: ...
208
- @cached_property
209
208
  def referenced_floors(self) -> set[str]: ...
210
- @cached_property
211
209
  def referenced_areas(self) -> set[str]: ...
212
210
  @staticmethod
213
211
  def _find_referenced_target(target: Literal['area_id', 'floor_id', 'label_id'], referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
214
- @cached_property
215
212
  def referenced_devices(self) -> set[str]: ...
216
213
  @staticmethod
217
214
  def _find_referenced_devices(referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
218
- @cached_property
219
215
  def referenced_entities(self) -> set[str]: ...
220
216
  @staticmethod
221
217
  def _find_referenced_entities(referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
@@ -14,7 +14,7 @@ def _get_selector_class(config: Any) -> type[Selector]: ...
14
14
  def selector(config: Any) -> Selector: ...
15
15
  def validate_selector(config: Any) -> dict: ...
16
16
 
17
- class Selector:
17
+ class Selector[_T: Mapping[str, Any]]:
18
18
  CONFIG_SCHEMA: Callable
19
19
  config: _T
20
20
  selector_type: str
@@ -70,7 +70,7 @@ def call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = F
70
70
  async def async_call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = False, variables: TemplateVarsType = None, validate_config: bool = True, context: Context | None = None) -> None: ...
71
71
  def async_prepare_call_from_config(hass: HomeAssistant, config: ConfigType, variables: TemplateVarsType = None, validate_config: bool = False) -> ServiceParams: ...
72
72
  def extract_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
73
- async def async_extract_entities(hass: HomeAssistant, entities: Iterable[_EntityT], service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
73
+ async def async_extract_entities[_EntityT: Entity](hass: HomeAssistant, entities: Iterable[_EntityT], service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
74
74
  async def async_extract_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> set[str]: ...
75
75
  def _has_match(ids: str | list[str] | None) -> TypeGuard[str | list[str]]: ...
76
76
  def async_extract_referenced_entity_ids(hass: HomeAssistant, service_call: ServiceCall, expand_group: bool = True) -> SelectedEntities: ...
@@ -88,7 +88,7 @@ async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[Servic
88
88
  def async_register_admin_service(hass: HomeAssistant, domain: str, service: str, service_func: Callable[[ServiceCall], Awaitable[None] | None], schema: VolSchemaType = ...) -> None: ...
89
89
  def verify_domain_control(hass: HomeAssistant, domain: str) -> Callable[[Callable[[ServiceCall], Any]], Callable[[ServiceCall], Any]]: ...
90
90
 
91
- class ReloadServiceHelper:
91
+ class ReloadServiceHelper[_T]:
92
92
  _service_func: Incomplete
93
93
  _service_running: bool
94
94
  _service_condition: Incomplete
@@ -0,0 +1,11 @@
1
+ from dataclasses import dataclass
2
+ from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
3
+ from typing import Any
4
+
5
+ @dataclass(slots=True)
6
+ class HassioServiceInfo(BaseServiceInfo):
7
+ config: dict[str, Any]
8
+ name: str
9
+ slug: str
10
+ uuid: str
11
+ def __init__(self, config, name, slug, uuid) -> None: ...
@@ -1,6 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
3
3
 
4
+ type ReceivePayloadType = str | bytes
4
5
  @dataclass(slots=True)
5
6
  class MqttServiceInfo(BaseServiceInfo):
6
7
  topic: str
@@ -4,10 +4,13 @@ from collections.abc import Callable, Mapping
4
4
  from homeassistant.const import STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
6
6
  from homeassistant.util.hass_dict import HassKey as HassKey
7
+ from types import MappingProxyType
7
8
  from typing import Any, Protocol
8
9
 
9
10
  PLATFORM: str
10
11
  DATA_FUNCTIONS: HassKey[dict[str, CheckTypeFunc]]
12
+ type CheckTypeFunc = Callable[[HomeAssistant, str, dict | MappingProxyType, str, dict | MappingProxyType], bool | None]
13
+ type ExtraCheckTypeFunc = Callable[[HomeAssistant, str, dict | MappingProxyType, Any, str, dict | MappingProxyType, Any], bool | None]
11
14
 
12
15
  class SignificantChangeProtocol(Protocol):
13
16
  def async_check_significant_change(self, hass: HomeAssistant, old_state: str, old_attrs: Mapping[str, Any], new_state: str, new_attrs: Mapping[str, Any]) -> bool | None: ...
@@ -4,7 +4,8 @@ from homeassistant.loader import bind_hass as bind_hass
4
4
  from homeassistant.util.hass_dict import HassKey as HassKey
5
5
  from typing import overload
6
6
 
7
+ type _FuncType[_T] = Callable[[HomeAssistant], _T]
7
8
  @overload
8
- def singleton(data_key: HassKey[_T]) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
9
+ def singleton[_T](data_key: HassKey[_T]) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
9
10
  @overload
10
- def singleton(data_key: str) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
11
+ def singleton[_T](data_key: str) -> Callable[[_FuncType[_T]], _FuncType[_T]]: ...
@@ -1,7 +1,6 @@
1
1
  import asyncio
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable, Iterable, Sequence as Sequence
4
- from functools import cached_property as cached_property
3
+ from collections.abc import Callable as Callable, Iterable, Mapping, Sequence as Sequence
5
4
  from homeassistant.const import EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
6
5
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -10,6 +9,7 @@ from homeassistant.util import json as json_util
10
9
  from homeassistant.util.file import WriteError as WriteError
11
10
  from homeassistant.util.hass_dict import HassKey as HassKey
12
11
  from json import JSONEncoder
12
+ from typing import Any
13
13
 
14
14
  MAX_LOAD_CONCURRENTLY: int
15
15
  STORAGE_DIR: str
@@ -18,7 +18,7 @@ STORAGE_SEMAPHORE: HassKey[asyncio.Semaphore]
18
18
  STORAGE_MANAGER: HassKey[_StoreManager]
19
19
  MANAGER_CLEANUP_DELAY: int
20
20
 
21
- async def async_migrator(hass: HomeAssistant, old_path: str, store: Store[_T], *, old_conf_load_func: Callable | None = None, old_conf_migrate_func: Callable | None = None) -> _T | None: ...
21
+ async def async_migrator[_T: Mapping[str, Any] | Sequence[Any]](hass: HomeAssistant, old_path: str, store: Store[_T], *, old_conf_load_func: Callable | None = None, old_conf_migrate_func: Callable | None = None) -> _T | None: ...
22
22
  def get_internal_store_manager(hass: HomeAssistant) -> _StoreManager: ...
23
23
 
24
24
  class _StoreManager:
@@ -39,7 +39,7 @@ class _StoreManager:
39
39
  def _preload(self, keys: Iterable[str]) -> None: ...
40
40
  def _initialize_files(self) -> None: ...
41
41
 
42
- class Store:
42
+ class Store[_T: Mapping[str, Any] | Sequence[Any]]:
43
43
  version: Incomplete
44
44
  minor_version: Incomplete
45
45
  key: Incomplete
@@ -56,7 +56,6 @@ class Store:
56
56
  _next_write_time: float
57
57
  _manager: Incomplete
58
58
  def __init__(self, hass: HomeAssistant, version: int, key: str, private: bool = False, *, atomic_writes: bool = False, encoder: type[JSONEncoder] | None = None, minor_version: int = 1, read_only: bool = False) -> None: ...
59
- @cached_property
60
59
  def path(self): ...
61
60
  def make_read_only(self) -> None: ...
62
61
  async def async_load(self) -> _T | None: ...
@@ -2,6 +2,7 @@ import astral
2
2
  import astral.location
3
3
  import datetime
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Callable
5
6
  from homeassistant.const import SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.loader import bind_hass as bind_hass
@@ -9,6 +10,7 @@ from homeassistant.util.hass_dict import HassKey as HassKey
9
10
 
10
11
  DATA_LOCATION_CACHE: HassKey[dict[tuple[str, str, str, float, float], astral.location.Location]]
11
12
  ELEVATION_AGNOSTIC_EVENTS: Incomplete
13
+ type _AstralSunEventCallable = Callable[..., datetime.datetime]
12
14
 
13
15
  def get_astral_location(hass: HomeAssistant) -> tuple[astral.location.Location, astral.Elevation]: ...
14
16
  def get_astral_event_next(hass: HomeAssistant, event: str, utc_point_in_time: datetime.datetime | None = None, offset: datetime.timedelta | None = None) -> datetime.datetime: ...
@@ -1,3 +1,4 @@
1
+ from .hassio import is_hassio as is_hassio
1
2
  from .importlib import async_import_module as async_import_module
2
3
  from .singleton import singleton as singleton
3
4
  from _typeshed import Incomplete