homeassistant-stubs 2024.11.2__py3-none-any.whl → 2024.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) 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/apsystems/coordinator.pyi +1 -1
  13. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +2 -3
  14. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
  15. homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
  16. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  17. homeassistant-stubs/components/backup/http.pyi +7 -3
  18. homeassistant-stubs/components/backup/manager.pyi +8 -0
  19. homeassistant-stubs/components/backup/websocket.pyi +1 -0
  20. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
  21. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
  22. homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
  23. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
  24. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +7 -3
  25. homeassistant-stubs/components/bmw_connected_drive/const.pyi +3 -0
  26. homeassistant-stubs/components/brother/sensor.pyi +0 -1
  27. homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
  28. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
  30. homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
  31. homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +5 -3
  33. homeassistant-stubs/components/camera/webrtc.pyi +10 -6
  34. homeassistant-stubs/components/canary/config_flow.pyi +0 -2
  35. homeassistant-stubs/components/climate/__init__.pyi +10 -3
  36. homeassistant-stubs/components/climate/const.pyi +6 -0
  37. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  38. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  39. homeassistant-stubs/components/cloud/prefs.pyi +1 -1
  40. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
  41. homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
  42. homeassistant-stubs/components/demo/climate.pyi +8 -1
  43. homeassistant-stubs/components/demo/config_flow.pyi +0 -1
  44. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
  45. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
  46. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
  48. homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
  49. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  50. homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
  51. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  52. homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
  53. homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
  54. homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
  55. homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
  56. homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
  57. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
  58. homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
  59. homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
  60. homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
  61. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
  62. homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
  63. homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
  64. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
  65. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  66. homeassistant-stubs/components/esphome/select.pyi +18 -1
  67. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  68. homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
  70. homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
  71. homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
  72. homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
  73. homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
  74. homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
  75. homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
  76. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
  77. homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
  78. homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
  79. homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
  80. homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
  81. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
  82. homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
  83. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  84. homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
  85. homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
  86. homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
  87. homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
  88. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  89. homeassistant-stubs/components/glances/__init__.pyi +0 -2
  90. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
  91. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  92. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
  93. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  94. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  95. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
  96. homeassistant-stubs/components/history/__init__.pyi +1 -1
  97. homeassistant-stubs/components/history/helpers.pyi +1 -2
  98. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  99. homeassistant-stubs/components/history_stats/data.pyi +1 -0
  100. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
  101. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
  102. homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
  103. homeassistant-stubs/components/homewizard/button.pyi +2 -0
  104. homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
  105. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  106. homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
  107. homeassistant-stubs/components/homewizard/number.pyi +2 -0
  108. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  109. homeassistant-stubs/components/homewizard/switch.pyi +4 -2
  110. homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
  111. homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
  112. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
  113. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  114. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
  116. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  117. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  118. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
  119. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
  120. homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
  121. homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
  122. homeassistant-stubs/components/imap/config_flow.pyi +3 -3
  123. homeassistant-stubs/components/imap/sensor.pyi +1 -1
  124. homeassistant-stubs/components/intent/timers.pyi +6 -0
  125. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
  126. homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
  127. homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
  128. homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
  129. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
  130. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
  131. homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
  132. homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
  133. homeassistant-stubs/components/knx/__init__.pyi +1 -1
  134. homeassistant-stubs/components/knx/config_flow.pyi +0 -1
  135. homeassistant-stubs/components/knx/light.pyi +3 -3
  136. homeassistant-stubs/components/knx/telegrams.pyi +1 -0
  137. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  138. homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
  139. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  140. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  141. homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
  142. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
  143. homeassistant-stubs/components/lamarzocco/config_flow.pyi +10 -6
  144. homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
  145. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  146. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
  147. homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
  148. homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
  149. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  150. homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
  151. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  152. homeassistant-stubs/components/lcn/__init__.pyi +4 -4
  153. homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
  154. homeassistant-stubs/components/lcn/helpers.pyi +2 -4
  155. homeassistant-stubs/components/lcn/schemas.pyi +2 -13
  156. homeassistant-stubs/components/lcn/services.pyi +2 -0
  157. homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
  158. homeassistant-stubs/components/linkplay/button.pyi +28 -0
  159. homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
  160. homeassistant-stubs/components/linkplay/entity.pyi +16 -0
  161. homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
  162. homeassistant-stubs/components/linkplay/utils.pyi +12 -0
  163. homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
  164. homeassistant-stubs/components/matter/adapter.pyi +1 -0
  165. homeassistant-stubs/components/matter/const.pyi +1 -0
  166. homeassistant-stubs/components/matter/discovery.pyi +1 -0
  167. homeassistant-stubs/components/matter/entity.pyi +2 -1
  168. homeassistant-stubs/components/matter/models.pyi +4 -2
  169. homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
  170. homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
  171. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
  172. homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
  173. homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
  174. homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
  176. homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
  177. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  179. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/climate.pyi +1 -0
  182. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -4
  183. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  184. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/entity.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/event.pyi +1 -0
  187. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  190. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
  191. homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
  192. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  193. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  194. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  195. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  196. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  197. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  198. homeassistant-stubs/components/mqtt/siren.pyi +1 -0
  199. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  200. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  201. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  202. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  203. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
  204. homeassistant-stubs/components/mqtt/valve.pyi +1 -0
  205. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
  206. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  207. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  208. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  209. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  210. homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
  211. homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
  212. homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
  213. homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
  214. homeassistant-stubs/components/nasweb/const.pyi +5 -0
  215. homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
  216. homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
  217. homeassistant-stubs/components/nasweb/switch.pyi +35 -0
  218. homeassistant-stubs/components/nest/camera.pyi +3 -5
  219. homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
  220. homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
  221. homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
  222. homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
  223. homeassistant-stubs/components/nordpool/const.pyi +9 -0
  224. homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
  225. homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
  226. homeassistant-stubs/components/nordpool/entity.pyi +14 -0
  227. homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
  228. homeassistant-stubs/components/number/const.pyi +3 -1
  229. homeassistant-stubs/components/nut/__init__.pyi +4 -1
  230. homeassistant-stubs/components/nut/config_flow.pyi +0 -2
  231. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  232. homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
  233. homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
  234. homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
  235. homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
  236. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
  237. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
  238. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  239. homeassistant-stubs/components/ping/__init__.pyi +2 -6
  240. homeassistant-stubs/components/ping/config_flow.pyi +2 -2
  241. homeassistant-stubs/components/plugwise/climate.pyi +4 -2
  242. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  243. homeassistant-stubs/components/plugwise/number.pyi +2 -2
  244. homeassistant-stubs/components/plugwise/select.pyi +2 -1
  245. homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
  246. homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
  247. homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
  248. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
  249. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
  250. homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
  251. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
  252. homeassistant-stubs/components/recorder/core.pyi +1 -0
  253. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  254. homeassistant-stubs/components/recorder/history/modern.pyi +2 -2
  255. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  256. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  257. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  258. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  259. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  260. homeassistant-stubs/components/renault/config_flow.pyi +4 -5
  261. homeassistant-stubs/components/renault/services.pyi +1 -0
  262. homeassistant-stubs/components/reolink/__init__.pyi +28 -0
  263. homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
  264. homeassistant-stubs/components/reolink/button.pyi +48 -0
  265. homeassistant-stubs/components/reolink/camera.pyi +28 -0
  266. homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
  267. homeassistant-stubs/components/reolink/const.pyi +2 -0
  268. homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
  269. homeassistant-stubs/components/reolink/entity.pyi +69 -0
  270. homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
  271. homeassistant-stubs/components/reolink/host.pyi +82 -0
  272. homeassistant-stubs/components/reolink/light.pyi +55 -0
  273. homeassistant-stubs/components/reolink/media_source.pyi +27 -0
  274. homeassistant-stubs/components/reolink/number.pyi +69 -0
  275. homeassistant-stubs/components/reolink/select.pyi +54 -0
  276. homeassistant-stubs/components/reolink/sensor.pyi +55 -0
  277. homeassistant-stubs/components/reolink/services.pyi +12 -0
  278. homeassistant-stubs/components/reolink/siren.pyi +26 -0
  279. homeassistant-stubs/components/reolink/switch.pyi +65 -0
  280. homeassistant-stubs/components/reolink/update.pyi +71 -0
  281. homeassistant-stubs/components/reolink/util.pyi +18 -0
  282. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
  283. homeassistant-stubs/components/ring/__init__.pyi +0 -1
  284. homeassistant-stubs/components/ring/camera.pyi +22 -6
  285. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  286. homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
  287. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  288. homeassistant-stubs/components/roku/config_flow.pyi +3 -3
  289. homeassistant-stubs/components/romy/sensor.pyi +1 -1
  290. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
  291. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
  292. homeassistant-stubs/components/sensor/const.pyi +4 -2
  293. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  294. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  295. homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
  296. homeassistant-stubs/components/shelly/update.pyi +4 -1
  297. homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
  298. homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
  299. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
  300. homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
  301. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
  302. homeassistant-stubs/components/spotify/browse_media.pyi +2 -2
  303. homeassistant-stubs/components/spotify/coordinator.pyi +2 -4
  304. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  305. homeassistant-stubs/components/statistics/sensor.pyi +2 -4
  306. homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
  307. homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
  308. homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
  309. homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
  310. homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
  311. homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
  312. homeassistant-stubs/components/stream/const.pyi +3 -2
  313. homeassistant-stubs/components/stream/core.pyi +2 -2
  314. homeassistant-stubs/components/stream/worker.pyi +15 -13
  315. homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
  316. homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
  317. homeassistant-stubs/components/suez_water/const.pyi +3 -0
  318. homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
  319. homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
  320. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
  321. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  322. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  323. homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
  324. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
  325. homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
  326. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  327. homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
  328. homeassistant-stubs/components/tedee/entity.pyi +1 -1
  329. homeassistant-stubs/components/tedee/lock.pyi +3 -1
  330. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  331. homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
  332. homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
  333. homeassistant-stubs/components/tibber/__init__.pyi +1 -2
  334. homeassistant-stubs/components/tibber/notify.pyi +1 -10
  335. homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
  336. homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
  337. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  338. homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
  339. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
  340. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
  341. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
  342. homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
  343. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
  344. homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
  345. homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
  346. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -0
  347. homeassistant-stubs/components/tts/__init__.pyi +3 -1
  348. homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
  349. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  350. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
  351. homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
  352. homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
  353. homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
  354. homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
  355. homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
  356. homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
  357. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  358. homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
  359. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  360. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  361. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
  362. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
  363. homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
  364. homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
  365. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  366. homeassistant-stubs/components/zwave_js/api.pyi +9 -1
  367. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
  368. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  369. homeassistant-stubs/config_entries.pyi +15 -7
  370. homeassistant-stubs/const.pyi +26 -1
  371. homeassistant-stubs/core_config.pyi +1 -1
  372. homeassistant-stubs/data_entry_flow.pyi +3 -3
  373. homeassistant-stubs/helpers/device_registry.pyi +0 -1
  374. homeassistant-stubs/helpers/entity.pyi +1 -0
  375. homeassistant-stubs/helpers/entity_platform.pyi +1 -0
  376. homeassistant-stubs/helpers/frame.pyi +12 -3
  377. homeassistant-stubs/helpers/intent.pyi +1 -0
  378. homeassistant-stubs/helpers/llm.pyi +2 -3
  379. homeassistant-stubs/helpers/restore_state.pyi +0 -3
  380. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
  381. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
  382. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  383. homeassistant-stubs/loader.pyi +1 -0
  384. homeassistant-stubs/runner.pyi +0 -4
  385. homeassistant-stubs/util/json.pyi +3 -3
  386. homeassistant-stubs/util/unit_conversion.pyi +20 -1
  387. homeassistant-stubs/util/unit_system.pyi +7 -4
  388. homeassistant-stubs/util/yaml/loader.pyi +0 -19
  389. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/METADATA +2 -2
  390. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/RECORD +392 -337
  391. homeassistant-stubs/components/spotify/sensor.pyi +0 -31
  392. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/WHEEL +0 -0
  393. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  import dataclasses
2
- from .const import ATTR_EVENT_ID as ATTR_EVENT_ID
2
+ from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED
3
3
  from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
4
4
  from .entity import EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEventMixin as ProtectEventMixin
5
5
  from _typeshed import Incomplete
@@ -10,15 +10,28 @@ from uiprotect.data import ProtectAdoptableDeviceModel as ProtectAdoptableDevice
10
10
 
11
11
  @dataclasses.dataclass(frozen=True, kw_only=True)
12
12
  class ProtectEventEntityDescription(ProtectEventMixin, EventEntityDescription):
13
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., event_types=..., ufp_required_field=..., ufp_value=..., ufp_value_fn=..., ufp_enabled=..., ufp_perm=..., has_required=..., get_ufp_enabled=..., ufp_event_obj=..., ufp_obj_type=...) -> None: ...
13
+ entity_class: type[ProtectDeviceEntity]
14
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., event_types=..., ufp_required_field=..., ufp_value=..., ufp_value_fn=..., ufp_enabled=..., ufp_perm=..., has_required=..., get_ufp_enabled=..., ufp_event_obj=..., ufp_obj_type=..., entity_class) -> None: ...
14
15
 
15
- EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
16
+ class ProtectDeviceRingEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
17
+ entity_description: ProtectEventEntityDescription
18
+ _event: Incomplete
19
+ _event_end: Incomplete
20
+ def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
21
+
22
+ class ProtectDeviceNFCEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
23
+ entity_description: ProtectEventEntityDescription
24
+ _event: Incomplete
25
+ _event_end: Incomplete
26
+ def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
16
27
 
17
- class ProtectDeviceEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
28
+ class ProtectDeviceFingerprintEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
18
29
  entity_description: ProtectEventEntityDescription
19
30
  _event: Incomplete
20
31
  _event_end: Incomplete
21
32
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
22
33
 
34
+ EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
35
+
23
36
  def _async_event_entities(data: ProtectData, ufp_device: ProtectAdoptableDeviceModel | None = None) -> list[ProtectDeviceEntity]: ...
24
37
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -11,6 +11,7 @@ _LOGGER: Incomplete
11
11
 
12
12
  def async_generate_thumbnail_url(event_id: str, nvr_id: str, width: int | None = None, height: int | None = None) -> str: ...
13
13
  def async_generate_event_video_url(event: Event) -> str: ...
14
+ def async_generate_proxy_event_video_url(nvr_id: str, event_id: str) -> str: ...
14
15
  def _client_error(message: Any, code: HTTPStatus) -> web.Response: ...
15
16
  def _400(message: Any) -> web.Response: ...
16
17
  def _403(message: Any) -> web.Response: ...
@@ -22,6 +23,7 @@ class ProtectProxyView(HomeAssistantView):
22
23
  hass: Incomplete
23
24
  def __init__(self, hass: HomeAssistant) -> None: ...
24
25
  def _get_data_or_404(self, nvr_id_or_entry_id: str) -> ProtectData | web.Response: ...
26
+ def _async_get_camera(self, data: ProtectData, camera_id: str) -> Camera | None: ...
25
27
 
26
28
  class ThumbnailProxyView(ProtectProxyView):
27
29
  url: str
@@ -31,5 +33,9 @@ class ThumbnailProxyView(ProtectProxyView):
31
33
  class VideoProxyView(ProtectProxyView):
32
34
  url: str
33
35
  name: str
34
- def _async_get_camera(self, data: ProtectData, camera_id: str) -> Camera | None: ...
35
36
  async def get(self, request: web.Request, nvr_id: str, camera_id: str, start: str, end: str) -> web.StreamResponse: ...
37
+
38
+ class VideoEventProxyView(ProtectProxyView):
39
+ url: str
40
+ name: str
41
+ async def get(self, request: web.Request, nvr_id: str, event_id: str) -> web.StreamResponse: ...
@@ -17,6 +17,4 @@ class UpCloudConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  def async_get_options_flow(config_entry: ConfigEntry) -> UpCloudOptionsFlow: ...
18
18
 
19
19
  class UpCloudOptionsFlow(OptionsFlow):
20
- config_entry: Incomplete
21
- def __init__(self, config_entry: ConfigEntry) -> None: ...
22
20
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -25,7 +25,7 @@ class WattTimeConfigFlow(ConfigFlow, domain=DOMAIN):
25
25
  def __init__(self) -> None: ...
26
26
  async def _async_validate_credentials(self, username: str, password: str, error_step_id: str, error_schema: vol.Schema) -> ConfigFlowResult: ...
27
27
  @staticmethod
28
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
28
+ def async_get_options_flow(config_entry: ConfigEntry) -> WattTimeOptionsFlowHandler: ...
29
29
  async def async_step_coordinates(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
30
  async def async_step_location(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
31
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -33,6 +33,4 @@ class WattTimeConfigFlow(ConfigFlow, domain=DOMAIN):
33
33
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
34
 
35
35
  class WattTimeOptionsFlowHandler(OptionsFlow):
36
- entry: Incomplete
37
- def __init__(self, entry: ConfigEntry) -> None: ...
38
36
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -30,8 +30,6 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
30
30
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
31
 
32
32
  class OptionsFlowHandler(OptionsFlow):
33
- config_entry: Incomplete
34
- options: Incomplete
35
33
  host: Incomplete
36
34
  key: Incomplete
37
35
  def __init__(self, config_entry: ConfigEntry) -> None: ...
@@ -19,6 +19,7 @@ from homeassistant.util.async_ import create_eager_task as create_eager_task
19
19
  from homeassistant.util.json import json_loads as json_loads
20
20
  from typing import Any, Final
21
21
 
22
+ CLOSE_MSG_TYPES: Incomplete
22
23
  _WS_LOGGER: Final[Incomplete]
23
24
 
24
25
  class WebsocketAPIView(HomeAssistantView):
@@ -60,5 +61,5 @@ class WebSocketHandler:
60
61
  async def async_handle(self) -> web.WebSocketResponse: ...
61
62
  async def _async_handle_auth_phase(self, auth: AuthPhase, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> ActiveConnection: ...
62
63
  def _async_increase_writer_limit(self, writer: WebSocketWriter) -> None: ...
63
- async def _async_websocket_command_phase(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
64
+ async def _async_websocket_command_phase(self, connection: ActiveConnection) -> None: ...
64
65
  async def _async_cleanup_writer_and_close(self, disconnect_warn: str | None, connection: ActiveConnection | None) -> None: ...
@@ -1,7 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .coordinator import Options as Options, OptionsValidationError as OptionsValidationError
4
- from _typeshed import Incomplete
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
6
  from homeassistant.helpers.config_entry_flow import DiscoveryFlowHandler as DiscoveryFlowHandler
@@ -15,8 +14,6 @@ class WemoFlow(DiscoveryFlowHandler, domain=DOMAIN):
15
14
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
16
15
 
17
16
  class WemoOptionsFlow(OptionsFlow):
18
- config_entry: Incomplete
19
- def __init__(self, config_entry: ConfigEntry) -> None: ...
20
17
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
18
 
22
19
  def _schema_for_options(options: Options) -> vol.Schema: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_KEEP_MAIN_LIGHT as CONF_KEEP_MAIN_LIGHT, DEFAULT_KEEP_MAIN_LIGHT as DEFAULT_KEEP_MAIN_LIGHT, DOMAIN as DOMAIN
2
2
  from homeassistant.components import onboarding as onboarding, zeroconf as zeroconf
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC
5
5
  from homeassistant.core import callback as callback
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -18,5 +18,5 @@ class WLEDFlowHandler(ConfigFlow, domain=DOMAIN):
18
18
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
19
  async def _async_get_device(self, host: str) -> Device: ...
20
20
 
21
- class WLEDOptionsFlowHandler(OptionsFlowWithConfigEntry):
21
+ class WLEDOptionsFlowHandler(OptionsFlow):
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  import voluptuous as vol
2
2
  from .const import ALLOWED_DAYS as ALLOWED_DAYS, CONF_ADD_HOLIDAYS as CONF_ADD_HOLIDAYS, CONF_CATEGORY as CONF_CATEGORY, CONF_EXCLUDES as CONF_EXCLUDES, CONF_OFFSET as CONF_OFFSET, CONF_PROVINCE as CONF_PROVINCE, CONF_REMOVE_HOLIDAYS as CONF_REMOVE_HOLIDAYS, CONF_WORKDAYS as CONF_WORKDAYS, DEFAULT_EXCLUDES as DEFAULT_EXCLUDES, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_OFFSET as DEFAULT_OFFSET, DEFAULT_WORKDAYS as DEFAULT_WORKDAYS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
5
  from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_LANGUAGE as CONF_LANGUAGE, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -23,7 +23,7 @@ class WorkdayConfigFlow(ConfigFlow, domain=DOMAIN):
23
23
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
24
  async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
25
 
26
- class WorkdayOptionsFlowHandler(OptionsFlowWithConfigEntry):
26
+ class WorkdayOptionsFlowHandler(OptionsFlow):
27
27
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
29
29
  class AddDatesError(HomeAssistantError): ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_AREA_ID as CONF_AREA_ID, CONF_LOCK_CODE_DIGITS as CONF_LOCK_CODE_DIGITS, DEFAULT_AREA_ID as DEFAULT_AREA_ID, DEFAULT_LOCK_CODE_DIGITS as DEFAULT_LOCK_CODE_DIGITS, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, LOGGER as LOGGER, YALE_BASE_ERRORS as YALE_BASE_ERRORS
1
+ from .const import CONF_AREA_ID as CONF_AREA_ID, CONF_LOCK_CODE_DIGITS as CONF_LOCK_CODE_DIGITS, DEFAULT_AREA_ID as DEFAULT_AREA_ID, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, YALE_BASE_ERRORS as YALE_BASE_ERRORS
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
@@ -8,6 +8,9 @@ from typing import Any
8
8
 
9
9
  DATA_SCHEMA: Incomplete
10
10
  DATA_SCHEMA_AUTH: Incomplete
11
+ OPTIONS_SCHEMA: Incomplete
12
+
13
+ def validate_credentials(username: str, password: str) -> dict[str, Any]: ...
11
14
 
12
15
  class YaleConfigFlow(ConfigFlow, domain=DOMAIN):
13
16
  VERSION: int
@@ -15,9 +18,8 @@ class YaleConfigFlow(ConfigFlow, domain=DOMAIN):
15
18
  def async_get_options_flow(config_entry: ConfigEntry) -> YaleOptionsFlowHandler: ...
16
19
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
17
20
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
23
 
20
24
  class YaleOptionsFlowHandler(OptionsFlow):
21
- entry: Incomplete
22
- def __init__(self, entry: ConfigEntry) -> None: ...
23
25
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -36,7 +36,5 @@ class YalexsConfigFlow(ConfigFlow, domain=DOMAIN):
36
36
  def async_get_options_flow(config_entry: ConfigEntry) -> YaleXSBLEOptionsFlowHandler: ...
37
37
 
38
38
  class YaleXSBLEOptionsFlowHandler(OptionsFlow):
39
- entry: Incomplete
40
- def __init__(self, config_entry: ConfigEntry) -> None: ...
41
39
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
40
  async def async_step_device_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  from .const import CHANNEL_CREATION_HELP_URL as CHANNEL_CREATION_HELP_URL, CONF_CHANNELS as CONF_CHANNELS, DEFAULT_ACCESS as DEFAULT_ACCESS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry, SOURCE_REAUTH as SOURCE_REAUTH
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
5
5
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
@@ -27,5 +27,5 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
27
27
  async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
28
28
  async def async_step_channels(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
29
 
30
- class YouTubeOptionsFlowHandler(OptionsFlowWithConfigEntry):
30
+ class YouTubeOptionsFlowHandler(OptionsFlow):
31
31
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
1
  from .models import HaZeroconf as HaZeroconf
2
- from homeassistant.helpers.frame import report as report
2
+ from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
3
3
 
4
4
  def install_multiple_zeroconf_catcher(hass_zc: HaZeroconf) -> None: ...
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from .addon import get_addon_manager as get_addon_manager
3
3
  from .api import async_register_api as async_register_api
4
- from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
4
+ from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
5
5
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo, async_discover_node_values as async_discover_node_values, async_discover_single_value as async_discover_single_value
6
6
  from .helpers import async_disable_server_logging_if_needed as async_disable_server_logging_if_needed, async_enable_server_logging_if_needed as async_enable_server_logging_if_needed, async_enable_statistics as async_enable_statistics, get_device_id as get_device_id, get_device_id_ext as get_device_id_ext, get_network_identifier_for_notification as get_network_identifier_for_notification, get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
7
7
  from .migrate import async_migrate_discovered_value as async_migrate_discovered_value
@@ -1,6 +1,6 @@
1
1
  import homeassistant.helpers.device_registry as dr
2
2
  from .config_validation import BITMASK_SCHEMA as BITMASK_SCHEMA
3
- from .const import CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, DATA_CLIENT as DATA_CLIENT, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
3
+ from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_METHOD_NAME as ATTR_METHOD_NAME, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_WAIT_FOR_RESULT as ATTR_WAIT_FOR_RESULT, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
4
4
  from .helpers import async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, get_device_id as get_device_id
5
5
  from _typeshed import Incomplete
6
6
  from aiohttp import web as web
@@ -18,6 +18,7 @@ from zwave_js_server.const import InclusionStrategy
18
18
  from zwave_js_server.model.controller import ControllerStatistics as ControllerStatistics
19
19
  from zwave_js_server.model.controller.firmware import ControllerFirmwareUpdateProgress as ControllerFirmwareUpdateProgress, ControllerFirmwareUpdateResult as ControllerFirmwareUpdateResult
20
20
  from zwave_js_server.model.driver import Driver as Driver
21
+ from zwave_js_server.model.endpoint import Endpoint as Endpoint
21
22
  from zwave_js_server.model.log_message import LogMessage as LogMessage
22
23
  from zwave_js_server.model.node import Node as Node, NodeStatistics as NodeStatistics
23
24
  from zwave_js_server.model.node.firmware import NodeFirmwareUpdateProgress as NodeFirmwareUpdateProgress, NodeFirmwareUpdateResult as NodeFirmwareUpdateResult
@@ -34,6 +35,8 @@ PROPERTY: str
34
35
  PROPERTY_KEY: str
35
36
  ENDPOINT: str
36
37
  VALUE: str
38
+ VALUE_SIZE: str
39
+ VALUE_FORMAT: str
37
40
  CONFIG: str
38
41
  LEVEL: str
39
42
  LOG_TO_FILE: str
@@ -108,6 +111,8 @@ async def websocket_refresh_node_values(hass: HomeAssistant, connection: ActiveC
108
111
  async def websocket_refresh_node_cc_values(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
109
112
  async def websocket_set_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
110
113
  async def websocket_get_config_parameters(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
114
+ async def websocket_set_raw_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
115
+ async def websocket_get_raw_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
111
116
  def filename_is_present_if_logging_to_file(obj: dict) -> dict: ...
112
117
  async def websocket_subscribe_log_updates(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
113
118
  async def websocket_update_log_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
@@ -136,3 +141,6 @@ async def websocket_subscribe_controller_statistics(hass: HomeAssistant, connect
136
141
  def _get_node_statistics_dict(hass: HomeAssistant, statistics: NodeStatistics) -> dict[str, Any]: ...
137
142
  async def websocket_subscribe_node_statistics(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
138
143
  async def websocket_hard_reset_controller(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
144
+ async def websocket_node_capabilities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
145
+ async def websocket_invoke_cc_api(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
146
+ def websocket_get_integration_settings(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -104,10 +104,9 @@ class ZWaveJSConfigFlow(BaseZwaveJSFlow, ConfigFlow, domain=DOMAIN):
104
104
  def _async_create_entry_from_vars(self) -> ConfigFlowResult: ...
105
105
 
106
106
  class OptionsFlowHandler(BaseZwaveJSFlow, OptionsFlow):
107
- config_entry: Incomplete
108
107
  original_addon_config: Incomplete
109
108
  revert_reason: Incomplete
110
- def __init__(self, config_entry: ConfigEntry) -> None: ...
109
+ def __init__(self) -> None: ...
111
110
  @property
112
111
  def flow_manager(self) -> OptionsFlowManager: ...
113
112
  def _async_update_entry(self, data: dict[str, Any]) -> None: ...
@@ -13,6 +13,7 @@ CONF_ADDON_S2_AUTHENTICATED_KEY: str
13
13
  CONF_ADDON_S2_UNAUTHENTICATED_KEY: str
14
14
  CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY: str
15
15
  CONF_ADDON_LR_S2_AUTHENTICATED_KEY: str
16
+ CONF_INSTALLER_MODE: str
16
17
  CONF_INTEGRATION_CREATED_ADDON: str
17
18
  CONF_NETWORK_KEY: str
18
19
  CONF_S0_LEGACY_KEY: str
@@ -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
@@ -149,6 +149,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
149
149
  def _device_class_name(self) -> str | None: ...
150
150
  def _default_to_device_class_name(self) -> bool: ...
151
151
  def _name_translation_key(self) -> str | None: ...
152
+ def _unit_of_measurement_translation_key(self) -> str | None: ...
152
153
  def _substitute_name_placeholders(self, name: str) -> str: ...
153
154
  def _name_internal(self, device_class_name: str | None, platform_translations: dict[str, str]) -> str | UndefinedType | None: ...
154
155
  @property
@@ -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