homeassistant-stubs 2024.11.3__py3-none-any.whl → 2024.12.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 (371) hide show
  1. homeassistant-stubs/__main__.pyi +1 -0
  2. homeassistant-stubs/auth/mfa_modules/totp.pyi +4 -4
  3. homeassistant-stubs/backup_restore.pyi +17 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +3 -3
  5. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -2
  6. homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
  7. homeassistant-stubs/components/amberelectric/coordinator.pyi +7 -7
  8. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -4
  9. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -3
  10. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -2
  11. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  12. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +2 -3
  13. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
  14. homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
  15. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  16. homeassistant-stubs/components/backup/http.pyi +7 -3
  17. homeassistant-stubs/components/backup/manager.pyi +8 -0
  18. homeassistant-stubs/components/backup/websocket.pyi +1 -0
  19. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
  20. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
  21. homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
  22. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
  23. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/brother/sensor.pyi +0 -1
  25. homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
  26. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
  28. homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
  29. homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
  30. homeassistant-stubs/components/camera/__init__.pyi +5 -3
  31. homeassistant-stubs/components/camera/webrtc.pyi +10 -6
  32. homeassistant-stubs/components/canary/config_flow.pyi +0 -2
  33. homeassistant-stubs/components/climate/__init__.pyi +10 -3
  34. homeassistant-stubs/components/climate/const.pyi +6 -0
  35. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  36. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  37. homeassistant-stubs/components/cloud/prefs.pyi +1 -1
  38. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
  39. homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
  40. homeassistant-stubs/components/demo/climate.pyi +8 -1
  41. homeassistant-stubs/components/demo/config_flow.pyi +0 -1
  42. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
  43. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
  44. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  45. homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
  46. homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
  47. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  48. homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
  49. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  50. homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
  51. homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
  52. homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
  53. homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
  54. homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
  55. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
  56. homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
  57. homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
  58. homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
  59. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
  60. homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
  61. homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
  62. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
  63. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  64. homeassistant-stubs/components/esphome/select.pyi +17 -1
  65. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  66. homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
  67. homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
  68. homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
  69. homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
  70. homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
  71. homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
  72. homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
  73. homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
  74. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
  75. homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
  76. homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
  77. homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
  78. homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
  79. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
  80. homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
  81. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  82. homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
  83. homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
  84. homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
  85. homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
  86. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  87. homeassistant-stubs/components/glances/__init__.pyi +0 -2
  88. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
  89. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  90. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
  91. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  92. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  93. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
  94. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
  95. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
  96. homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
  97. homeassistant-stubs/components/homewizard/button.pyi +2 -0
  98. homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
  99. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  100. homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
  101. homeassistant-stubs/components/homewizard/number.pyi +2 -0
  102. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  103. homeassistant-stubs/components/homewizard/switch.pyi +4 -2
  104. homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
  105. homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
  106. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
  107. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  108. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
  109. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
  110. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  111. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  112. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
  113. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
  114. homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
  115. homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
  116. homeassistant-stubs/components/imap/config_flow.pyi +3 -3
  117. homeassistant-stubs/components/imap/sensor.pyi +1 -1
  118. homeassistant-stubs/components/intent/timers.pyi +6 -0
  119. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
  120. homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
  121. homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
  122. homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
  123. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
  124. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
  125. homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
  126. homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
  127. homeassistant-stubs/components/knx/config_flow.pyi +0 -1
  128. homeassistant-stubs/components/knx/light.pyi +3 -3
  129. homeassistant-stubs/components/knx/telegrams.pyi +1 -0
  130. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  131. homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
  132. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  133. homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
  134. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
  135. homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -5
  136. homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
  137. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  138. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
  139. homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
  140. homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
  141. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  142. homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
  143. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  144. homeassistant-stubs/components/lcn/__init__.pyi +4 -4
  145. homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
  146. homeassistant-stubs/components/lcn/helpers.pyi +2 -4
  147. homeassistant-stubs/components/lcn/schemas.pyi +2 -13
  148. homeassistant-stubs/components/lcn/services.pyi +2 -0
  149. homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
  150. homeassistant-stubs/components/linkplay/button.pyi +28 -0
  151. homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
  152. homeassistant-stubs/components/linkplay/entity.pyi +16 -0
  153. homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
  154. homeassistant-stubs/components/linkplay/utils.pyi +12 -0
  155. homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
  156. homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
  157. homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
  158. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
  159. homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
  160. homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
  161. homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
  162. homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
  163. homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
  164. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  165. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  166. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  167. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  168. homeassistant-stubs/components/mqtt/climate.pyi +1 -0
  169. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -3
  170. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  171. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  172. homeassistant-stubs/components/mqtt/entity.pyi +1 -0
  173. homeassistant-stubs/components/mqtt/event.pyi +1 -0
  174. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  175. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  176. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  177. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
  179. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  182. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  183. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  184. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/siren.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  187. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  190. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
  191. homeassistant-stubs/components/mqtt/valve.pyi +1 -0
  192. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
  193. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  194. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  195. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  196. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  197. homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
  198. homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
  199. homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
  200. homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
  201. homeassistant-stubs/components/nasweb/const.pyi +5 -0
  202. homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
  203. homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
  204. homeassistant-stubs/components/nasweb/switch.pyi +35 -0
  205. homeassistant-stubs/components/nest/camera.pyi +3 -5
  206. homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
  207. homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
  208. homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
  209. homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
  210. homeassistant-stubs/components/nordpool/const.pyi +9 -0
  211. homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
  212. homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
  213. homeassistant-stubs/components/nordpool/entity.pyi +14 -0
  214. homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
  215. homeassistant-stubs/components/number/const.pyi +3 -1
  216. homeassistant-stubs/components/nut/__init__.pyi +4 -1
  217. homeassistant-stubs/components/nut/config_flow.pyi +0 -2
  218. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  219. homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
  220. homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
  221. homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
  222. homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
  223. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
  224. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
  225. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  226. homeassistant-stubs/components/ping/__init__.pyi +2 -6
  227. homeassistant-stubs/components/ping/config_flow.pyi +0 -2
  228. homeassistant-stubs/components/plugwise/climate.pyi +1 -0
  229. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  230. homeassistant-stubs/components/plugwise/number.pyi +2 -2
  231. homeassistant-stubs/components/plugwise/select.pyi +2 -1
  232. homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
  233. homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
  234. homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
  235. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
  236. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
  237. homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
  238. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
  239. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  240. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  241. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  242. homeassistant-stubs/components/renault/config_flow.pyi +4 -5
  243. homeassistant-stubs/components/renault/services.pyi +1 -0
  244. homeassistant-stubs/components/reolink/__init__.pyi +28 -0
  245. homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
  246. homeassistant-stubs/components/reolink/button.pyi +48 -0
  247. homeassistant-stubs/components/reolink/camera.pyi +28 -0
  248. homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
  249. homeassistant-stubs/components/reolink/const.pyi +2 -0
  250. homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
  251. homeassistant-stubs/components/reolink/entity.pyi +69 -0
  252. homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
  253. homeassistant-stubs/components/reolink/host.pyi +82 -0
  254. homeassistant-stubs/components/reolink/light.pyi +55 -0
  255. homeassistant-stubs/components/reolink/media_source.pyi +27 -0
  256. homeassistant-stubs/components/reolink/number.pyi +69 -0
  257. homeassistant-stubs/components/reolink/select.pyi +54 -0
  258. homeassistant-stubs/components/reolink/sensor.pyi +55 -0
  259. homeassistant-stubs/components/reolink/services.pyi +12 -0
  260. homeassistant-stubs/components/reolink/siren.pyi +26 -0
  261. homeassistant-stubs/components/reolink/switch.pyi +65 -0
  262. homeassistant-stubs/components/reolink/update.pyi +71 -0
  263. homeassistant-stubs/components/reolink/util.pyi +18 -0
  264. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
  265. homeassistant-stubs/components/ring/__init__.pyi +0 -1
  266. homeassistant-stubs/components/ring/camera.pyi +22 -6
  267. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  268. homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
  269. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  270. homeassistant-stubs/components/roku/config_flow.pyi +3 -3
  271. homeassistant-stubs/components/romy/sensor.pyi +1 -1
  272. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
  273. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
  274. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  275. homeassistant-stubs/components/sensor/const.pyi +4 -2
  276. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  277. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  278. homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
  279. homeassistant-stubs/components/shelly/update.pyi +4 -1
  280. homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
  281. homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
  282. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
  283. homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
  284. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
  285. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/statistics/sensor.pyi +2 -4
  287. homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
  288. homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
  289. homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
  290. homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
  291. homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
  292. homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
  293. homeassistant-stubs/components/stream/const.pyi +3 -2
  294. homeassistant-stubs/components/stream/core.pyi +2 -2
  295. homeassistant-stubs/components/stream/worker.pyi +15 -13
  296. homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
  297. homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
  298. homeassistant-stubs/components/suez_water/const.pyi +3 -0
  299. homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
  300. homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
  301. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
  302. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  303. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  304. homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
  305. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
  306. homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
  307. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  308. homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
  309. homeassistant-stubs/components/tedee/entity.pyi +1 -1
  310. homeassistant-stubs/components/tedee/lock.pyi +3 -1
  311. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  312. homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
  313. homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
  314. homeassistant-stubs/components/tibber/__init__.pyi +1 -2
  315. homeassistant-stubs/components/tibber/notify.pyi +1 -10
  316. homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
  317. homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
  318. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  319. homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
  320. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
  321. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
  322. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
  323. homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
  324. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
  325. homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
  326. homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
  327. homeassistant-stubs/components/tts/__init__.pyi +3 -1
  328. homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
  329. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  330. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
  331. homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
  332. homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
  333. homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
  334. homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
  335. homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
  336. homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
  337. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  338. homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
  339. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
  342. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
  343. homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
  344. homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
  345. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  346. homeassistant-stubs/components/zwave_js/api.pyi +9 -1
  347. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
  348. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  349. homeassistant-stubs/config_entries.pyi +15 -7
  350. homeassistant-stubs/const.pyi +26 -1
  351. homeassistant-stubs/core_config.pyi +1 -1
  352. homeassistant-stubs/data_entry_flow.pyi +3 -3
  353. homeassistant-stubs/helpers/device_registry.pyi +0 -1
  354. homeassistant-stubs/helpers/entity_platform.pyi +1 -0
  355. homeassistant-stubs/helpers/frame.pyi +12 -3
  356. homeassistant-stubs/helpers/intent.pyi +1 -0
  357. homeassistant-stubs/helpers/llm.pyi +2 -3
  358. homeassistant-stubs/helpers/restore_state.pyi +0 -3
  359. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
  360. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
  361. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  362. homeassistant-stubs/loader.pyi +1 -0
  363. homeassistant-stubs/runner.pyi +0 -4
  364. homeassistant-stubs/util/json.pyi +3 -3
  365. homeassistant-stubs/util/unit_conversion.pyi +20 -1
  366. homeassistant-stubs/util/unit_system.pyi +7 -4
  367. homeassistant-stubs/util/yaml/loader.pyi +0 -19
  368. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/METADATA +2 -2
  369. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/RECORD +371 -315
  370. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/WHEEL +0 -0
  371. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -11,12 +11,12 @@ from .const import CONF_NAME as CONF_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_
11
11
  from .core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, Event as Event, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
12
12
  from .data_entry_flow import FLOW_NOT_COMPLETE_STEPS as FLOW_NOT_COMPLETE_STEPS, FlowContext as FlowContext, FlowResult as FlowResult
13
13
  from .exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
14
- from .helpers import device_registry as device_registry, entity_registry as entity_registry, storage as storage
14
+ from .helpers import entity_registry as er, storage as storage
15
15
  from .helpers.debounce import Debouncer as Debouncer
16
16
  from .helpers.discovery_flow import DiscoveryKey as DiscoveryKey
17
17
  from .helpers.dispatcher import SignalType as SignalType, async_dispatcher_send_internal as async_dispatcher_send_internal
18
18
  from .helpers.event import RANDOM_MICROSECOND_MAX as RANDOM_MICROSECOND_MAX, RANDOM_MICROSECOND_MIN as RANDOM_MICROSECOND_MIN, async_call_later as async_call_later
19
- from .helpers.frame import report as report
19
+ from .helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
20
20
  from .helpers.json import json_bytes as json_bytes, json_bytes_sorted as json_bytes_sorted, json_fragment as json_fragment
21
21
  from .helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
22
22
  from .helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
@@ -252,6 +252,7 @@ class ConfigEntries:
252
252
  def __init__(self, hass: HomeAssistant, hass_config: ConfigType) -> None: ...
253
253
  def async_domains(self, include_ignore: bool = False, include_disabled: bool = False) -> list[str]: ...
254
254
  def async_get_entry(self, entry_id: str) -> ConfigEntry | None: ...
255
+ def async_get_known_entry(self, entry_id: str) -> ConfigEntry: ...
255
256
  def async_entry_ids(self) -> list[str]: ...
256
257
  def async_has_entries(self, domain: str, include_ignore: bool = True, include_disabled: bool = True) -> bool: ...
257
258
  def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
@@ -259,6 +260,8 @@ class ConfigEntries:
259
260
  def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
260
261
  async def async_add(self, entry: ConfigEntry) -> None: ...
261
262
  async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
263
+ async def _async_remove(self, entry_id: str) -> tuple[bool, ConfigEntry]: ...
264
+ def _async_clean_up(self, entry: ConfigEntry) -> None: ...
262
265
  def _async_shutdown(self, event: Event) -> None: ...
263
266
  async def async_initialize(self) -> None: ...
264
267
  async def async_setup(self, entry_id: str, _lock: bool = True) -> bool: ...
@@ -317,7 +320,7 @@ class ConfigFlow(ConfigEntryBaseFlow):
317
320
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
318
321
  def async_create_entry(self, *, title: str, data: Mapping[str, Any], description: str | None = None, description_placeholders: Mapping[str, str] | None = None, options: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
319
322
  def async_update_reload_and_abort(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., data_updates: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., reason: str | UndefinedType = ..., reload_even_if_entry_is_unchanged: bool = True) -> ConfigFlowResult: ...
320
- def async_show_form(self, *, step_id: str | None = None, data_schema: vol.Schema | None = None, errors: dict[str, str] | None = None, description_placeholders: Mapping[str, str | None] | None = None, last_step: bool | None = None, preview: str | None = None) -> ConfigFlowResult: ...
323
+ def async_show_form(self, *, step_id: str | None = None, data_schema: vol.Schema | None = None, errors: dict[str, str] | None = None, description_placeholders: Mapping[str, str] | None = None, last_step: bool | None = None, preview: str | None = None) -> ConfigFlowResult: ...
321
324
  def is_matching(self, other_flow: Self) -> bool: ...
322
325
  @property
323
326
  def _reauth_entry_id(self) -> str: ...
@@ -335,15 +338,20 @@ class OptionsFlowManager(data_entry_flow.FlowManager[ConfigFlowContext, ConfigFl
335
338
 
336
339
  class OptionsFlow(ConfigEntryBaseFlow):
337
340
  handler: str
341
+ _config_entry: ConfigEntry
338
342
  def _async_abort_entries_match(self, match_dict: dict[str, Any] | None = None) -> None: ...
343
+ @property
344
+ def _config_entry_id(self) -> str: ...
345
+ @property
346
+ def config_entry(self) -> ConfigEntry: ...
347
+ @config_entry.setter
348
+ def config_entry(self, value: ConfigEntry) -> None: ...
339
349
 
340
350
  class OptionsFlowWithConfigEntry(OptionsFlow):
341
351
  _config_entry: Incomplete
342
352
  _options: Incomplete
343
353
  def __init__(self, config_entry: ConfigEntry) -> None: ...
344
354
  @property
345
- def config_entry(self) -> ConfigEntry: ...
346
- @property
347
355
  def options(self) -> dict[str, Any]: ...
348
356
 
349
357
  class EntityRegistryDisabledHandler:
@@ -353,10 +361,10 @@ class EntityRegistryDisabledHandler:
353
361
  _remove_call_later: Incomplete
354
362
  def __init__(self, hass: HomeAssistant) -> None: ...
355
363
  def async_setup(self) -> None: ...
356
- def _handle_entry_updated(self, event: Event[entity_registry.EventEntityRegistryUpdatedData]) -> None: ...
364
+ def _handle_entry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
357
365
  def _async_handle_reload(self, _now: Any) -> None: ...
358
366
 
359
- def _handle_entry_updated_filter(event_data: entity_registry.EventEntityRegistryUpdatedData) -> bool: ...
367
+ def _handle_entry_updated_filter(event_data: er.EventEntityRegistryUpdatedData) -> bool: ...
360
368
  async def support_entry_unload(hass: HomeAssistant, domain: str) -> bool: ...
361
369
  async def support_remove_from_device(hass: HomeAssistant, domain: str) -> bool: ...
362
370
  async def _support_single_config_entry_only(hass: HomeAssistant, domain: str) -> bool: ...
@@ -424,6 +424,9 @@ _DEPRECATED_POWER_VOLT_AMPERE: Final[Incomplete]
424
424
  class UnitOfPower(StrEnum):
425
425
  WATT = 'W'
426
426
  KILO_WATT = 'kW'
427
+ MEGA_WATT = 'MW'
428
+ GIGA_WATT = 'GW'
429
+ TERA_WATT = 'TW'
427
430
  BTU_PER_HOUR = 'BTU/h'
428
431
 
429
432
  _DEPRECATED_POWER_WATT: Final[Incomplete]
@@ -443,6 +446,8 @@ class UnitOfEnergy(StrEnum):
443
446
  WATT_HOUR = 'Wh'
444
447
  KILO_WATT_HOUR = 'kWh'
445
448
  MEGA_WATT_HOUR = 'MWh'
449
+ GIGA_WATT_HOUR = 'GWh'
450
+ TERA_WATT_HOUR = 'TWh'
446
451
  CALORIE = 'cal'
447
452
  KILO_CALORIE = 'kcal'
448
453
  MEGA_CALORIE = 'Mcal'
@@ -460,6 +465,7 @@ _DEPRECATED_ELECTRIC_CURRENT_MILLIAMPERE: Final[Incomplete]
460
465
  _DEPRECATED_ELECTRIC_CURRENT_AMPERE: Final[Incomplete]
461
466
 
462
467
  class UnitOfElectricPotential(StrEnum):
468
+ MICROVOLT = 'µV'
463
469
  MILLIVOLT = 'mV'
464
470
  VOLT = 'V'
465
471
 
@@ -580,10 +586,24 @@ class UnitOfVolumeFlowRate(StrEnum):
580
586
  CUBIC_FEET_PER_MINUTE = 'ft³/min'
581
587
  LITERS_PER_MINUTE = 'L/min'
582
588
  GALLONS_PER_MINUTE = 'gal/min'
589
+ MILLILITERS_PER_SECOND = 'mL/s'
583
590
 
584
591
  _DEPRECATED_VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR: Final[Incomplete]
585
592
  _DEPRECATED_VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE: Final[Incomplete]
586
- AREA_SQUARE_METERS: Final[str]
593
+
594
+ class UnitOfArea(StrEnum):
595
+ SQUARE_METERS = 'm²'
596
+ SQUARE_CENTIMETERS = 'cm²'
597
+ SQUARE_KILOMETERS = 'km²'
598
+ SQUARE_MILLIMETERS = 'mm²'
599
+ SQUARE_INCHES = 'in²'
600
+ SQUARE_FEET = 'ft²'
601
+ SQUARE_YARDS = 'yd²'
602
+ SQUARE_MILES = 'mi²'
603
+ ACRES = 'ac'
604
+ HECTARES = 'ha'
605
+
606
+ _DEPRECATED_AREA_SQUARE_METERS: Final[Incomplete]
587
607
 
588
608
  class UnitOfMass(StrEnum):
589
609
  GRAMS = 'g'
@@ -644,6 +664,10 @@ CONCENTRATION_PARTS_PER_CUBIC_METER: Final[str]
644
664
  CONCENTRATION_PARTS_PER_MILLION: Final[str]
645
665
  CONCENTRATION_PARTS_PER_BILLION: Final[str]
646
666
 
667
+ class UnitOfBloodGlucoseConcentration(StrEnum):
668
+ MILLIGRAMS_PER_DECILITER = 'mg/dL'
669
+ MILLIMOLE_PER_LITER = 'mmol/L'
670
+
647
671
  class UnitOfSpeed(StrEnum):
648
672
  BEAUFORT = 'Beaufort'
649
673
  FEET_PER_SECOND = 'ft/s'
@@ -808,6 +832,7 @@ CONTENT_TYPE_TEXT_PLAIN: Final[str]
808
832
  RESTART_EXIT_CODE: Final[int]
809
833
  UNIT_NOT_RECOGNIZED_TEMPLATE: Final[str]
810
834
  LENGTH: Final[str]
835
+ AREA: Final[str]
811
836
  MASS: Final[str]
812
837
  PRESSURE: Final[str]
813
838
  VOLUME: Final[str]
@@ -5,7 +5,7 @@ from .const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME
5
5
  from .core import HomeAssistant as HomeAssistant
6
6
  from .generated.currencies import HISTORIC_CURRENCIES as HISTORIC_CURRENCIES
7
7
  from .helpers.entity_values import EntityValues as EntityValues
8
- from .helpers.frame import report as report
8
+ from .helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
9
9
  from .helpers.storage import Store as Store
10
10
  from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
11
11
  from .util import location as location
@@ -4,7 +4,7 @@ import voluptuous as vol
4
4
  from .core import HomeAssistant as HomeAssistant, callback as callback
5
5
  from .exceptions import HomeAssistantError as HomeAssistantError
6
6
  from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
7
- from .helpers.frame import report as report
7
+ from .helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
8
8
  from .loader import async_suggest_report_issue as async_suggest_report_issue
9
9
  from _typeshed import Incomplete
10
10
  from collections.abc import Callable as Callable, Container, Hashable, Iterable, Mapping
@@ -64,7 +64,7 @@ class FlowResult(TypedDict, Generic[_FlowContextT, _HandlerT], total=False):
64
64
  context: _FlowContextT
65
65
  data_schema: vol.Schema | None
66
66
  data: Mapping[str, Any]
67
- description_placeholders: Mapping[str, str | None] | None
67
+ description_placeholders: Mapping[str, str] | None
68
68
  description: str | None
69
69
  errors: dict[str, str] | None
70
70
  extra: str
@@ -135,7 +135,7 @@ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
135
135
  @property
136
136
  def show_advanced_options(self) -> bool: ...
137
137
  def add_suggested_values_to_schema(self, data_schema: vol.Schema, suggested_values: Mapping[str, Any] | None) -> vol.Schema: ...
138
- def async_show_form(self, *, step_id: str | None = None, data_schema: vol.Schema | None = None, errors: dict[str, str] | None = None, description_placeholders: Mapping[str, str | None] | None = None, last_step: bool | None = None, preview: str | None = None) -> _FlowResultT: ...
138
+ def async_show_form(self, *, step_id: str | None = None, data_schema: vol.Schema | None = None, errors: dict[str, str] | None = None, description_placeholders: Mapping[str, str] | None = None, last_step: bool | None = None, preview: str | None = None) -> _FlowResultT: ...
139
139
  def async_create_entry(self, *, title: str | None = None, data: Mapping[str, Any], description: str | None = None, description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
140
140
  def async_abort(self, *, reason: str, description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
141
141
  def async_external_step(self, *, step_id: str | None = None, url: str, description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
@@ -1,7 +1,6 @@
1
1
  from . import entity_registry as entity_registry, storage as storage, translation as translation
2
2
  from .debounce import Debouncer as Debouncer
3
3
  from .deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
4
- from .frame import report as report
5
4
  from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
6
5
  from .registry import BaseRegistry as BaseRegistry, BaseRegistryItems as BaseRegistryItems, RegistryIndexType as RegistryIndexType
7
6
  from .singleton import singleton as singleton
@@ -54,6 +54,7 @@ class EntityPlatform:
54
54
  platform_translations: Incomplete
55
55
  object_id_component_translations: Incomplete
56
56
  object_id_platform_translations: Incomplete
57
+ default_language_platform_translations: Incomplete
57
58
  _tasks: Incomplete
58
59
  _setup_complete: bool
59
60
  _async_polling_timer: Incomplete
@@ -1,10 +1,11 @@
1
+ import enum
1
2
  import logging
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Callable as Callable
4
5
  from dataclasses import dataclass
5
- from homeassistant.core import async_get_hass_or_none as async_get_hass_or_none
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass_or_none as async_get_hass_or_none
6
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
- from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
8
+ from homeassistant.loader import Integration as Integration, async_get_issue_integration as async_get_issue_integration, async_suggest_report_issue as async_suggest_report_issue
8
9
  from types import FrameType
9
10
 
10
11
  _LOGGER: Incomplete
@@ -29,6 +30,14 @@ def get_integration_frame(exclude_integrations: set | None = None) -> Integratio
29
30
  class MissingIntegrationFrame(HomeAssistantError): ...
30
31
 
31
32
  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: ...
32
- def _report_integration(what: str, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
33
+
34
+ class ReportBehavior(enum.Enum):
35
+ IGNORE = ...
36
+ LOG = ...
37
+ ERROR = ...
38
+
39
+ def report_usage(what: str, *, breaks_in_ha_version: str | None = None, core_behavior: ReportBehavior = ..., core_integration_behavior: ReportBehavior = ..., custom_integration_behavior: ReportBehavior = ..., exclude_integrations: set[str] | None = None, integration_domain: str | None = None, level: int = ...) -> None: ...
40
+ def _report_integration_domain(hass: HomeAssistant | None, what: str, breaks_in_ha_version: str | None, integration: Integration, core_integration_behavior: ReportBehavior, custom_integration_behavior: ReportBehavior, level: int) -> None: ...
41
+ def _report_integration_frame(what: str, breaks_in_ha_version: str | None, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
33
42
  def warn_use[_CallableT: Callable](func: _CallableT, what: str) -> _CallableT: ...
34
43
  def report_non_thread_safe_operation(what: str) -> None: ...
@@ -27,6 +27,7 @@ INTENT_NEVERMIND: str
27
27
  INTENT_SET_POSITION: str
28
28
  INTENT_START_TIMER: str
29
29
  INTENT_CANCEL_TIMER: str
30
+ INTENT_CANCEL_ALL_TIMERS: str
30
31
  INTENT_INCREASE_TIMER: str
31
32
  INTENT_DECREASE_TIMER: str
32
33
  INTENT_PAUSE_TIMER: str
@@ -11,9 +11,8 @@ from homeassistant.components.conversation import ConversationTraceEventType as
11
11
  from homeassistant.components.cover import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
12
12
  from homeassistant.components.homeassistant import async_should_expose as async_should_expose
13
13
  from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
14
- from homeassistant.components.script import ATTR_VARIABLES as ATTR_VARIABLES
15
14
  from homeassistant.components.weather import INTENT_GET_WEATHER as INTENT_GET_WEATHER
16
- from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SERVICE as ATTR_SERVICE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, SERVICE_TURN_ON as SERVICE_TURN_ON
15
+ from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_SERVICE as ATTR_SERVICE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED
17
16
  from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
18
17
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
19
18
  from homeassistant.util import yaml as yaml
@@ -96,7 +95,7 @@ def _selector_serializer(schema: Any) -> Any: ...
96
95
  def _get_cached_script_parameters(hass: HomeAssistant, entity_id: str) -> tuple[str | None, vol.Schema]: ...
97
96
 
98
97
  class ScriptTool(Tool):
98
+ _object_id: Incomplete
99
99
  name: Incomplete
100
- _entity_id: Incomplete
101
100
  def __init__(self, hass: HomeAssistant, script_entity_id: str) -> None: ...
102
101
  async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
@@ -2,7 +2,6 @@ import abc
2
2
  from . import start as start
3
3
  from .entity import Entity as Entity
4
4
  from .event import async_track_time_interval as async_track_time_interval
5
- from .frame import report as report
6
5
  from .json import JSONEncoder as JSONEncoder
7
6
  from .singleton import singleton as singleton
8
7
  from .storage import Store as Store
@@ -47,8 +46,6 @@ def async_get(hass: HomeAssistant) -> RestoreStateData: ...
47
46
  class RestoreStateData:
48
47
  @classmethod
49
48
  async def async_save_persistent_states(cls, hass: HomeAssistant) -> None: ...
50
- @classmethod
51
- async def async_get_instance(cls, hass: HomeAssistant) -> RestoreStateData: ...
52
49
  hass: Incomplete
53
50
  store: Incomplete
54
51
  last_states: Incomplete
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from collections.abc import Callable, Container, Coroutine, Mapping
8
8
  from dataclasses import dataclass
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
11
11
  from homeassistant.data_entry_flow import UnknownHandler as UnknownHandler
12
12
  from typing import Any
@@ -69,10 +69,13 @@ class SchemaConfigFlowHandler(ConfigFlow, ABC, metaclass=abc.ABCMeta):
69
69
  def async_options_flow_finished(hass: HomeAssistant, options: Mapping[str, Any]) -> None: ...
70
70
  def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
71
71
 
72
- class SchemaOptionsFlowHandler(OptionsFlowWithConfigEntry):
72
+ class SchemaOptionsFlowHandler(OptionsFlow):
73
+ _options: Incomplete
73
74
  _common_handler: Incomplete
74
75
  _async_options_flow_finished: Incomplete
75
76
  def __init__(self, config_entry: ConfigEntry, options_flow: Mapping[str, SchemaFlowStep], async_options_flow_finished: Callable[[HomeAssistant, Mapping[str, Any]], None] | None = None, async_setup_preview: Callable[[HomeAssistant], Coroutine[Any, Any, None]] | None = None) -> None: ...
77
+ @property
78
+ def options(self) -> dict[str, Any]: ...
76
79
  @staticmethod
77
80
  def _async_step(step_id: str) -> Callable[[SchemaConfigFlowHandler, dict[str, Any] | None], Coroutine[Any, Any, ConfigFlowResult]]: ...
78
81
  def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> ConfigFlowResult: ...
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .entity import Entity as Entity
3
- from .template import render_complex as render_complex
3
+ from .template import TemplateStateFromEntityId as TemplateStateFromEntityId, render_complex as render_complex
4
4
  from .typing import ConfigType as ConfigType
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, SensorEntity as SensorEntity
@@ -2,7 +2,7 @@ import abc
2
2
  import logging
3
3
  from . import entity as entity, event as event
4
4
  from .debounce import Debouncer as Debouncer
5
- from .frame import report as report
5
+ from .frame import report_usage as report_usage
6
6
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
7
7
  from _typeshed import Incomplete
8
8
  from abc import abstractmethod
@@ -11,7 +11,7 @@ from datetime import datetime, timedelta
11
11
  from homeassistant import config_entries as config_entries
12
12
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
13
13
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
14
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
14
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
15
15
  from homeassistant.util.dt import utcnow as utcnow
16
16
  from typing import Any, Generic, Protocol
17
17
  from typing_extensions import TypeVar
@@ -21,7 +21,7 @@ REQUEST_REFRESH_DEFAULT_IMMEDIATE: bool
21
21
  _DataT = TypeVar('_DataT', default=dict[str, Any])
22
22
  _DataUpdateCoordinatorT = TypeVar('_DataUpdateCoordinatorT', bound='DataUpdateCoordinator[Any]', default='DataUpdateCoordinator[dict[str, Any]]')
23
23
 
24
- class UpdateFailed(Exception): ...
24
+ class UpdateFailed(HomeAssistantError): ...
25
25
 
26
26
  class BaseDataUpdateCoordinatorProtocol(Protocol):
27
27
  def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
@@ -269,5 +269,6 @@ async def _async_component_dependencies(hass: HomeAssistant, integration: Integr
269
269
  def _async_mount_config_dir(hass: HomeAssistant) -> None: ...
270
270
  def _lookup_path(hass: HomeAssistant) -> list[str]: ...
271
271
  def is_component_module_loaded(hass: HomeAssistant, module: str) -> bool: ...
272
+ def async_get_issue_integration(hass: HomeAssistant | None, integration_domain: str | None) -> Integration | None: ...
272
273
  def async_get_issue_tracker(hass: HomeAssistant | None, *, integration: Integration | None = None, integration_domain: str | None = None, module: str | None = None) -> str | None: ...
273
274
  def async_suggest_report_issue(hass: HomeAssistant | None, *, integration: Integration | None = None, integration_domain: str | None = None, module: str | None = None) -> str: ...
@@ -27,13 +27,9 @@ class RuntimeConfig:
27
27
  safe_mode: bool = ...
28
28
  def __init__(self, config_dir, skip_pip=..., skip_pip_packages=..., recovery_mode=..., verbose=..., log_rotate_days=..., log_file=..., log_no_color=..., debug=..., open_ui=..., safe_mode=...) -> None: ...
29
29
 
30
- def can_use_pidfd() -> bool: ...
31
-
32
30
  class HassEventLoopPolicy(asyncio.DefaultEventLoopPolicy):
33
31
  debug: Incomplete
34
- _watcher: Incomplete
35
32
  def __init__(self, debug: bool) -> None: ...
36
- def _init_watcher(self) -> None: ...
37
33
  @property
38
34
  def loop_name(self) -> str: ...
39
35
  def new_event_loop(self) -> asyncio.AbstractEventLoop: ...
@@ -13,9 +13,9 @@ JSON_DECODE_EXCEPTIONS: Incomplete
13
13
 
14
14
  class SerializationError(HomeAssistantError): ...
15
15
 
16
- def json_loads(__obj: bytes | bytearray | memoryview | str, /) -> JsonValueType: ...
17
- def json_loads_array(__obj: bytes | bytearray | memoryview | str, /) -> JsonArrayType: ...
18
- def json_loads_object(__obj: bytes | bytearray | memoryview | str, /) -> JsonObjectType: ...
16
+ def json_loads(obj: bytes | bytearray | memoryview | str, /) -> JsonValueType: ...
17
+ def json_loads_array(obj: bytes | bytearray | memoryview | str, /) -> JsonArrayType: ...
18
+ def json_loads_object(obj: bytes | bytearray | memoryview | str, /) -> JsonObjectType: ...
19
19
  def load_json(filename: str | PathLike[str], default: JsonValueType = ...) -> JsonValueType: ...
20
20
  def load_json_array(filename: str | PathLike[str], default: JsonArrayType = ...) -> JsonArrayType: ...
21
21
  def load_json_object(filename: str | PathLike[str], default: JsonObjectType = ...) -> JsonObjectType: ...
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable
3
- from homeassistant.const import CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfInformation as UnitOfInformation, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
3
+ from homeassistant.const import CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfInformation as UnitOfInformation, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
5
 
6
6
  _MM_TO_M: float
@@ -11,6 +11,15 @@ _FOOT_TO_M: Incomplete
11
11
  _YARD_TO_M: Incomplete
12
12
  _MILE_TO_M: Incomplete
13
13
  _NAUTICAL_MILE_TO_M: int
14
+ _CM2_TO_M2: Incomplete
15
+ _MM2_TO_M2: Incomplete
16
+ _KM2_TO_M2: Incomplete
17
+ _IN2_TO_M2: Incomplete
18
+ _FT2_TO_M2: Incomplete
19
+ _YD2_TO_M2: Incomplete
20
+ _MI2_TO_M2: Incomplete
21
+ _ACRE_TO_M2: Incomplete
22
+ _HECTARE_TO_M2: Incomplete
14
23
  _MIN_TO_SEC: int
15
24
  _HRS_TO_MINUTES: int
16
25
  _HRS_TO_SECS: Incomplete
@@ -48,11 +57,21 @@ class DataRateConverter(BaseUnitConverter):
48
57
  _UNIT_CONVERSION: dict[str | None, float]
49
58
  VALID_UNITS: Incomplete
50
59
 
60
+ class AreaConverter(BaseUnitConverter):
61
+ UNIT_CLASS: str
62
+ _UNIT_CONVERSION: dict[str | None, float]
63
+ VALID_UNITS: Incomplete
64
+
51
65
  class DistanceConverter(BaseUnitConverter):
52
66
  UNIT_CLASS: str
53
67
  _UNIT_CONVERSION: dict[str | None, float]
54
68
  VALID_UNITS: Incomplete
55
69
 
70
+ class BloodGlucoseConcentrationConverter(BaseUnitConverter):
71
+ UNIT_CLASS: str
72
+ _UNIT_CONVERSION: dict[str | None, float]
73
+ VALID_UNITS: Incomplete
74
+
56
75
  class ConductivityConverter(BaseUnitConverter):
57
76
  UNIT_CLASS: str
58
77
  _UNIT_CONVERSION: dict[str | None, float]
@@ -1,12 +1,13 @@
1
- from .unit_conversion import DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, VolumeConverter as VolumeConverter
1
+ from .unit_conversion import AreaConverter as AreaConverter, DistanceConverter as DistanceConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, VolumeConverter as VolumeConverter
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
4
- from homeassistant.const import ACCUMULATED_PRECIPITATION as ACCUMULATED_PRECIPITATION, LENGTH as LENGTH, MASS as MASS, PRESSURE as PRESSURE, TEMPERATURE as TEMPERATURE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume, UnitOfVolumetricFlux as UnitOfVolumetricFlux, VOLUME as VOLUME, WIND_SPEED as WIND_SPEED
4
+ from homeassistant.const import ACCUMULATED_PRECIPITATION as ACCUMULATED_PRECIPITATION, AREA as AREA, LENGTH as LENGTH, MASS as MASS, PRESSURE as PRESSURE, TEMPERATURE as TEMPERATURE, UNIT_NOT_RECOGNIZED_TEMPLATE as UNIT_NOT_RECOGNIZED_TEMPLATE, UnitOfArea as UnitOfArea, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume, UnitOfVolumetricFlux as UnitOfVolumetricFlux, VOLUME as VOLUME, WIND_SPEED as WIND_SPEED
5
5
  from typing import Final
6
6
 
7
7
  _CONF_UNIT_SYSTEM_IMPERIAL: Final[str]
8
8
  _CONF_UNIT_SYSTEM_METRIC: Final[str]
9
9
  _CONF_UNIT_SYSTEM_US_CUSTOMARY: Final[str]
10
+ AREA_UNITS: Incomplete
10
11
  LENGTH_UNITS: Incomplete
11
12
  MASS_UNITS: set[str]
12
13
  PRESSURE_UNITS: Incomplete
@@ -20,17 +21,19 @@ def _is_valid_unit(unit: str, unit_type: str) -> bool: ...
20
21
  class UnitSystem:
21
22
  _name: Incomplete
22
23
  accumulated_precipitation_unit: Incomplete
23
- temperature_unit: Incomplete
24
+ area_unit: Incomplete
24
25
  length_unit: Incomplete
25
26
  mass_unit: Incomplete
26
27
  pressure_unit: Incomplete
28
+ temperature_unit: Incomplete
27
29
  volume_unit: Incomplete
28
30
  wind_speed_unit: Incomplete
29
31
  _conversions: Incomplete
30
- def __init__(self, name: str, *, accumulated_precipitation: UnitOfPrecipitationDepth, conversions: dict[tuple[SensorDeviceClass | str | None, str | None], str], length: UnitOfLength, mass: UnitOfMass, pressure: UnitOfPressure, temperature: UnitOfTemperature, volume: UnitOfVolume, wind_speed: UnitOfSpeed) -> None: ...
32
+ def __init__(self, name: str, *, accumulated_precipitation: UnitOfPrecipitationDepth, area: UnitOfArea, conversions: dict[tuple[SensorDeviceClass | str | None, str | None], str], length: UnitOfLength, mass: UnitOfMass, pressure: UnitOfPressure, temperature: UnitOfTemperature, volume: UnitOfVolume, wind_speed: UnitOfSpeed) -> None: ...
31
33
  def temperature(self, temperature: float, from_unit: str) -> float: ...
32
34
  def length(self, length: float | None, from_unit: str) -> float: ...
33
35
  def accumulated_precipitation(self, precip: float | None, from_unit: str) -> float: ...
36
+ def area(self, area: float | None, from_unit: str) -> float: ...
34
37
  def pressure(self, pressure: float | None, from_unit: str) -> float: ...
35
38
  def wind_speed(self, wind_speed: float | None, from_unit: str) -> float: ...
36
39
  def volume(self, volume: float | None, from_unit: str) -> float: ...
@@ -5,7 +5,6 @@ from .objects import Input as Input, NodeDictClass as NodeDictClass, NodeListCla
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable, Iterator
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
- from homeassistant.helpers.frame import report as report
9
8
  from io import StringIO
10
9
  from pathlib import Path
11
10
  from typing import Any, TextIO, overload
@@ -36,27 +35,9 @@ class FastSafeLoader(FastestAvailableSafeLoader, _LoaderMixin):
36
35
  secrets: Incomplete
37
36
  def __init__(self, stream: Any, secrets: Secrets | None = None) -> None: ...
38
37
 
39
- class SafeLoader(FastSafeLoader):
40
- def __init__(*args: Any, **kwargs: Any) -> None: ...
41
- @classmethod
42
- def add_constructor(cls, tag: str, constructor: Callable) -> None: ...
43
- @classmethod
44
- def add_multi_constructor(cls, tag_prefix: str, multi_constructor: Callable) -> None: ...
45
- @staticmethod
46
- def __report_deprecated() -> None: ...
47
-
48
38
  class PythonSafeLoader(yaml.SafeLoader, _LoaderMixin):
49
39
  secrets: Incomplete
50
40
  def __init__(self, stream: Any, secrets: Secrets | None = None) -> None: ...
51
-
52
- class SafeLineLoader(PythonSafeLoader):
53
- def __init__(*args: Any, **kwargs: Any) -> None: ...
54
- @classmethod
55
- def add_constructor(cls, tag: str, constructor: Callable) -> None: ...
56
- @classmethod
57
- def add_multi_constructor(cls, tag_prefix: str, multi_constructor: Callable) -> None: ...
58
- @staticmethod
59
- def __report_deprecated() -> None: ...
60
41
  type LoaderType = FastSafeLoader | PythonSafeLoader
61
42
 
62
43
  def load_yaml(fname: str | os.PathLike[str], secrets: Secrets | None = None) -> JSON_TYPE | None: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: homeassistant-stubs
3
- Version: 2024.11.3
3
+ Version: 2024.12.0b0
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
6
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
@@ -17,7 +17,7 @@ Classifier: Topic :: Home Automation
17
17
  Classifier: Topic :: Software Development
18
18
  Classifier: Typing :: Typed
19
19
  Requires-Python: <3.14,>=3.12
20
- Requires-Dist: homeassistant==2024.11.3
20
+ Requires-Dist: homeassistant==2024.12.0b0
21
21
  Description-Content-Type: text/markdown
22
22
 
23
23
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)