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
@@ -7,18 +7,30 @@ from typing import Final
7
7
  MANUFACTURER_ARTSOUND: Final[str]
8
8
  MANUFACTURER_ARYLIC: Final[str]
9
9
  MANUFACTURER_IEAST: Final[str]
10
+ MANUFACTURER_WIIM: Final[str]
11
+ MANUFACTURER_GGMM: Final[str]
12
+ MANUFACTURER_MEDION: Final[str]
10
13
  MANUFACTURER_GENERIC: Final[str]
11
14
  MODELS_ARTSOUND_SMART_ZONE4: Final[str]
12
15
  MODELS_ARTSOUND_SMART_HYDE: Final[str]
13
16
  MODELS_ARYLIC_S50: Final[str]
14
17
  MODELS_ARYLIC_S50_PRO: Final[str]
15
18
  MODELS_ARYLIC_A30: Final[str]
19
+ MODELS_ARYLIC_A50: Final[str]
16
20
  MODELS_ARYLIC_A50S: Final[str]
21
+ MODELS_ARYLIC_UP2STREAM_AMP: Final[str]
17
22
  MODELS_ARYLIC_UP2STREAM_AMP_V3: Final[str]
18
23
  MODELS_ARYLIC_UP2STREAM_AMP_V4: Final[str]
24
+ MODELS_ARYLIC_UP2STREAM_PRO: Final[str]
19
25
  MODELS_ARYLIC_UP2STREAM_PRO_V3: Final[str]
26
+ MODELS_ARYLIC_UP2STREAM_PLATE_AMP: Final[str]
20
27
  MODELS_IEAST_AUDIOCAST_M5: Final[str]
28
+ MODELS_WIIM_AMP: Final[str]
29
+ MODELS_WIIM_MINI: Final[str]
30
+ MODELS_GGMM_GGMM_E2: Final[str]
31
+ MODELS_MEDION_MD_43970: Final[str]
21
32
  MODELS_GENERIC: Final[str]
33
+ PROJECTID_LOOKUP: Final[dict[str, tuple[str, str]]]
22
34
 
23
35
  def get_info_from_project(project: str) -> tuple[str, str]: ...
24
36
  async def async_get_client_session(hass: HomeAssistant) -> ClientSession: ...
@@ -1,13 +1,10 @@
1
1
  from .const import CONF_DEFAULT_TRANSITION as CONF_DEFAULT_TRANSITION, DOMAIN as DOMAIN
2
- from _typeshed import Incomplete
3
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
3
  from homeassistant.const import CONF_PORT as CONF_PORT
5
4
  from homeassistant.core import callback as callback
6
5
  from typing import Any
7
6
 
8
7
  class LiteJetOptionsFlow(OptionsFlow):
9
- config_entry: Incomplete
10
- def __init__(self, config_entry: ConfigEntry) -> None: ...
11
8
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
12
9
 
13
10
  class LiteJetConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -16,6 +16,7 @@ class MatterAdapter:
16
16
  hass: Incomplete
17
17
  config_entry: Incomplete
18
18
  platform_handlers: Incomplete
19
+ discovered_entities: Incomplete
19
20
  def __init__(self, hass: HomeAssistant, matter_client: MatterClient, config_entry: ConfigEntry) -> None: ...
20
21
  def register_platform_handler(self, platform: Platform, add_entities: AddEntitiesCallback) -> None: ...
21
22
  async def setup_nodes(self) -> None: ...
@@ -7,3 +7,4 @@ DOMAIN: str
7
7
  LOGGER: Incomplete
8
8
  ID_TYPE_DEVICE_ID: str
9
9
  ID_TYPE_SERIAL: str
10
+ FEATUREMAP_ATTRIBUTE_ID: int
@@ -1,3 +1,4 @@
1
+ from .const import FEATUREMAP_ATTRIBUTE_ID as FEATUREMAP_ATTRIBUTE_ID
1
2
  from .models import MatterDiscoverySchema as MatterDiscoverySchema, MatterEntityInfo as MatterEntityInfo
2
3
  from _typeshed import Incomplete
3
4
  from chip.clusters.Objects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, ID_TYPE_DEVICE_ID as ID_TYPE_DEVICE_ID
1
+ from .const import DOMAIN as DOMAIN, FEATUREMAP_ATTRIBUTE_ID as FEATUREMAP_ATTRIBUTE_ID, ID_TYPE_DEVICE_ID as ID_TYPE_DEVICE_ID
2
2
  from .discovery import MatterEntityInfo as MatterEntityInfo
3
3
  from .helpers import get_device_id as get_device_id
4
4
  from _typeshed import Incomplete
@@ -42,6 +42,7 @@ class MatterEntity(Entity):
42
42
  async def async_added_to_hass(self) -> None: ...
43
43
  def name(self) -> str | UndefinedType | None: ...
44
44
  def _on_matter_event(self, event: EventType, data: Any = None) -> None: ...
45
+ def _on_featuremap_update(self, event: EventType, data: tuple[int, str, int] | None) -> None: ...
45
46
  def _update_from_device(self) -> None: ...
46
47
  def get_matter_attribute_value(self, attribute: type[ClusterAttributeDescriptor], null_as_none: bool = True) -> Any: ...
47
48
  def get_matter_attribute_path(self, attribute: type[ClusterAttributeDescriptor]) -> str: ...
@@ -20,9 +20,10 @@ class MatterEntityInfo:
20
20
  attributes_to_watch: list[type[ClusterAttributeDescriptor]]
21
21
  entity_description: EntityDescription
22
22
  entity_class: type
23
+ discovery_schema: MatterDiscoverySchema
23
24
  @property
24
25
  def primary_attribute(self) -> type[ClusterAttributeDescriptor]: ...
25
- def __init__(self, endpoint, platform, attributes_to_watch, entity_description, entity_class) -> None: ...
26
+ def __init__(self, endpoint, platform, attributes_to_watch, entity_description, entity_class, discovery_schema) -> None: ...
26
27
 
27
28
  @dataclass
28
29
  class MatterDiscoverySchema:
@@ -39,5 +40,6 @@ class MatterDiscoverySchema:
39
40
  absent_clusters: tuple[type[Cluster], ...] | None = ...
40
41
  optional_attributes: tuple[type[ClusterAttributeDescriptor], ...] | None = ...
41
42
  value_contains: Any | None = ...
43
+ featuremap_contains: int | None = ...
42
44
  allow_multi: bool = ...
43
- def __init__(self, platform, entity_description, entity_class, required_attributes, device_type=..., not_device_type=..., vendor_id=..., product_name=..., endpoint_id=..., absent_attributes=..., absent_clusters=..., optional_attributes=..., value_contains=..., allow_multi=...) -> None: ...
45
+ def __init__(self, platform, entity_description, entity_class, required_attributes, device_type=..., not_device_type=..., vendor_id=..., product_name=..., endpoint_id=..., absent_attributes=..., absent_clusters=..., optional_attributes=..., value_contains=..., featuremap_contains=..., allow_multi=...) -> None: ...
@@ -2,11 +2,10 @@ from .const import ATTR_FORMAT_QUERY as ATTR_FORMAT_QUERY, ATTR_URL as ATTR_URL,
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant.components.media_player import ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, MEDIA_PLAYER_PLAY_MEDIA_SCHEMA as MEDIA_PLAYER_PLAY_MEDIA_SCHEMA, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
10
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
10
  from typing import Any
12
11
 
@@ -5,4 +5,3 @@ from typing import Any
5
5
  class MediaExtractorConfigFlow(ConfigFlow, domain=DOMAIN):
6
6
  VERSION: int
7
7
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
8
- async def async_step_import(self, import_data: None) -> ConfigFlowResult: ...
@@ -1,7 +1,6 @@
1
1
  from .const import CONF_ARP_PING as CONF_ARP_PING, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_FORCE_DHCP as CONF_FORCE_DHCP, DEFAULT_API_PORT as DEFAULT_API_PORT, DEFAULT_DETECTION_TIME as DEFAULT_DETECTION_TIME, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
2
  from .coordinator import get_api as get_api
3
3
  from .errors import CannotConnect as CannotConnect, LoginError as LoginError
4
- from _typeshed import Incomplete
5
4
  from collections.abc import Mapping
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
@@ -17,7 +16,5 @@ class MikrotikFlowHandler(ConfigFlow, domain=DOMAIN):
17
16
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
18
17
 
19
18
  class MikrotikOptionsFlowHandler(OptionsFlow):
20
- config_entry: Incomplete
21
- def __init__(self, config_entry: ConfigEntry) -> None: ...
22
19
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
20
  async def async_step_device_tracker(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,6 +1,5 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_MJPEG_URL as CONF_MJPEG_URL, CONF_STILL_IMAGE_URL as CONF_STILL_IMAGE_URL, DOMAIN as DOMAIN, LOGGER as LOGGER
3
- from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
4
  from homeassistant.const import CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, HTTP_DIGEST_AUTHENTICATION as HTTP_DIGEST_AUTHENTICATION
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -19,8 +18,6 @@ class MJPEGFlowHandler(ConfigFlow, domain=DOMAIN):
19
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
19
 
21
20
  class MJPEGOptionsFlowHandler(OptionsFlow):
22
- config_entry: Incomplete
23
- def __init__(self, config_entry: ConfigEntry) -> None: ...
24
21
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
22
 
26
23
  class InvalidAuth(HomeAssistantError): ...
@@ -4,12 +4,12 @@ from collections.abc import Callable as Callable, Mapping
4
4
  from homeassistant import util as util
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
7
+ from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
9
9
  from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
12
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, StateType as StateType
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
14
14
  from homeassistant.util.unit_system import METRIC_SYSTEM as METRIC_SYSTEM
15
15
  from typing import Any
@@ -29,7 +29,6 @@ class MoldIndicator(SensorEntity):
29
29
  _attr_native_unit_of_measurement = PERCENTAGE
30
30
  _attr_device_class: Incomplete
31
31
  _attr_state_class: Incomplete
32
- _state: Incomplete
33
32
  _attr_name: Incomplete
34
33
  _attr_unique_id: Incomplete
35
34
  _indoor_temp_sensor: Incomplete
@@ -57,8 +56,7 @@ class MoldIndicator(SensorEntity):
57
56
  def _update_hum_sensor(state: State) -> float | None: ...
58
57
  async def async_update(self) -> None: ...
59
58
  def _calc_dewpoint(self) -> None: ...
59
+ _attr_native_value: Incomplete
60
60
  def _calc_moldindicator(self) -> None: ...
61
61
  @property
62
- def native_value(self) -> StateType: ...
63
- @property
64
62
  def extra_state_attributes(self) -> dict[str, Any]: ...
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
8
  from typing import Any
9
9
 
10
10
  _LOGGER: Incomplete
@@ -28,6 +28,4 @@ class MopekaConfigFlow(ConfigFlow, domain=DOMAIN):
28
28
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
29
 
30
30
  class MopekaOptionsFlow(config_entries.OptionsFlow):
31
- config_entry: Incomplete
32
- def __init__(self, config_entry: config_entries.ConfigEntry) -> None: ...
33
31
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -41,6 +41,7 @@ MQTT_PUBLISH_SCHEMA: Incomplete
41
41
  async def _async_config_entry_updated(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
42
42
  def _async_remove_mqtt_issues(hass: HomeAssistant, mqtt_data: MqttData) -> None: ...
43
43
  async def async_check_config_schema(hass: HomeAssistant, config_yaml: ConfigType) -> None: ...
44
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
44
45
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
45
46
  def websocket_mqtt_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
46
47
  async def websocket_subscribe(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -16,6 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
16
16
  from homeassistant.helpers.typing import ConfigType as ConfigType
17
17
 
18
18
  _LOGGER: Incomplete
19
+ PARALLEL_UPDATES: int
19
20
  _SUPPORTED_FEATURES: Incomplete
20
21
  CONF_CODE_ARM_REQUIRED: str
21
22
  CONF_CODE_DISARM_REQUIRED: str
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
19
19
  from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  DEFAULT_NAME: str
23
24
  CONF_OFF_DELAY: str
24
25
  DEFAULT_PAYLOAD_OFF: str
@@ -14,6 +14,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
14
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
16
16
 
17
+ PARALLEL_UPDATES: int
17
18
  CONF_PAYLOAD_PRESS: str
18
19
  DEFAULT_NAME: str
19
20
  DEFAULT_PAYLOAD_PRESS: str
@@ -16,6 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
16
16
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
17
17
 
18
18
  _LOGGER: Incomplete
19
+ PARALLEL_UPDATES: int
19
20
  CONF_IMAGE_ENCODING: str
20
21
  DEFAULT_NAME: str
21
22
  MQTT_CAMERA_ATTRIBUTES_BLOCKED: Incomplete
@@ -22,6 +22,7 @@ from homeassistant.util.unit_conversion import TemperatureConverter as Temperatu
22
22
  from typing import Any
23
23
 
24
24
  _LOGGER: Incomplete
25
+ PARALLEL_UPDATES: int
25
26
  DEFAULT_NAME: str
26
27
  CONF_FAN_MODE_COMMAND_TEMPLATE: str
27
28
  CONF_FAN_MODE_COMMAND_TOPIC: str
@@ -9,7 +9,7 @@ from homeassistant.components.file_upload import process_uploaded_file as proces
9
9
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
10
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
11
11
  from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DISCOVERY as CONF_DISCOVERY, CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
12
- from homeassistant.core import callback as callback
12
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
13
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
14
14
  from homeassistant.helpers.hassio import is_hassio as is_hassio
15
15
  from homeassistant.helpers.json import json_dumps as json_dumps
@@ -73,14 +73,13 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
73
73
  async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
74
74
 
75
75
  class MQTTOptionsFlowHandler(OptionsFlow):
76
- config_entry: Incomplete
77
76
  broker_config: Incomplete
78
- options: Incomplete
79
- def __init__(self, config_entry: ConfigEntry) -> None: ...
77
+ def __init__(self) -> None: ...
80
78
  async def async_step_init(self, user_input: None = None) -> ConfigFlowResult: ...
81
79
  async def async_step_broker(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
82
80
  async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
83
81
 
82
+ async def _get_uploaded_file(hass: HomeAssistant, id: str) -> str: ...
84
83
  async def async_get_broker_settings(flow: ConfigFlow | OptionsFlow, fields: OrderedDict[Any, Any], entry_config: MappingProxyType[str, Any] | None, user_input: dict[str, Any] | None, validated_user_input: dict[str, Any], errors: dict[str, str]) -> bool: ...
85
84
  def try_connection(user_input: dict[str, Any]) -> bool: ...
86
85
  def check_certicate_chain() -> str | None: ...
@@ -19,6 +19,7 @@ from homeassistant.util.percentage import percentage_to_ranged_value as percenta
19
19
  from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  CONF_GET_POSITION_TOPIC: str
23
24
  CONF_GET_POSITION_TEMPLATE: str
24
25
  CONF_SET_POSITION_TOPIC: str
@@ -17,6 +17,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
17
17
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
18
18
 
19
19
  _LOGGER: Incomplete
20
+ PARALLEL_UPDATES: int
20
21
  CONF_PAYLOAD_HOME: str
21
22
  CONF_PAYLOAD_NOT_HOME: str
22
23
  CONF_SOURCE_TYPE: str
@@ -122,6 +122,7 @@ class MqttDiscoveryUpdateMixin(Entity):
122
122
  def _cleanup_discovery_on_remove(self) -> None: ...
123
123
 
124
124
  def device_info_from_specifications(specifications: dict[str, Any] | None) -> DeviceInfo | None: ...
125
+ def ensure_via_device_exists(hass: HomeAssistant, device_info: DeviceInfo | None, config_entry: ConfigEntry) -> None: ...
125
126
 
126
127
  class MqttEntityDeviceInfo(Entity):
127
128
  _device_specifications: Incomplete
@@ -17,6 +17,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType
17
17
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
18
18
 
19
19
  _LOGGER: Incomplete
20
+ PARALLEL_UPDATES: int
20
21
  CONF_EVENT_TYPES: str
21
22
  MQTT_EVENT_ATTRIBUTES_BLOCKED: Incomplete
22
23
  DEFAULT_NAME: str
@@ -20,6 +20,7 @@ from homeassistant.util.percentage import percentage_to_ranged_value as percenta
20
20
  from homeassistant.util.scaling import int_states_in_range as int_states_in_range
21
21
  from typing import Any
22
22
 
23
+ PARALLEL_UPDATES: int
23
24
  CONF_DIRECTION_STATE_TOPIC: str
24
25
  CONF_DIRECTION_COMMAND_TOPIC: str
25
26
  CONF_DIRECTION_VALUE_TEMPLATE: str
@@ -18,6 +18,7 @@ from homeassistant.helpers.template import Template as Template
18
18
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
19
19
  from typing import Any
20
20
 
21
+ PARALLEL_UPDATES: int
21
22
  CONF_AVAILABLE_MODES_LIST: str
22
23
  CONF_DEVICE_CLASS: str
23
24
  CONF_MODE_COMMAND_TEMPLATE: str
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
19
19
  from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  CONF_CONTENT_TYPE: str
23
24
  CONF_IMAGE_ENCODING: str
24
25
  CONF_IMAGE_TOPIC: str
@@ -18,6 +18,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
18
18
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
19
19
 
20
20
  _LOGGER: Incomplete
21
+ PARALLEL_UPDATES: int
21
22
  CONF_ACTIVITY_STATE_TOPIC: str
22
23
  CONF_ACTIVITY_VALUE_TEMPLATE: str
23
24
  CONF_DOCK_COMMAND_TOPIC: str
@@ -11,6 +11,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
12
12
  from typing import Any
13
13
 
14
+ PARALLEL_UPDATES: int
15
+
14
16
  def validate_mqtt_light_discovery(config_value: dict[str, Any]) -> ConfigType: ...
15
17
  def validate_mqtt_light_modern(config_value: dict[str, Any]) -> ConfigType: ...
16
18
 
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsT
19
19
  from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  CONF_CODE_FORMAT: str
23
24
  CONF_PAYLOAD_LOCK: str
24
25
  CONF_PAYLOAD_UNLOCK: str
@@ -14,6 +14,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
14
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
16
16
 
17
+ PARALLEL_UPDATES: int
17
18
  DEFAULT_NAME: str
18
19
  PLATFORM_SCHEMA_MODERN: Incomplete
19
20
  DISCOVERY_SCHEMA: Incomplete
@@ -16,6 +16,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
16
16
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
17
17
 
18
18
  _LOGGER: Incomplete
19
+ PARALLEL_UPDATES: int
19
20
  CONF_MIN: str
20
21
  CONF_MAX: str
21
22
  CONF_STEP: str
@@ -14,6 +14,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from typing import Any
16
16
 
17
+ PARALLEL_UPDATES: int
17
18
  DEFAULT_NAME: str
18
19
  DEFAULT_RETAIN: bool
19
20
  ENTITY_ID_FORMAT: Incomplete
@@ -17,6 +17,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
17
17
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
18
18
 
19
19
  _LOGGER: Incomplete
20
+ PARALLEL_UPDATES: int
20
21
  DEFAULT_NAME: str
21
22
  MQTT_SELECT_ATTRIBUTES_BLOCKED: Incomplete
22
23
  PLATFORM_SCHEMA_MODERN: Incomplete
@@ -19,6 +19,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
19
19
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  CONF_EXPIRE_AFTER: str
23
24
  CONF_LAST_RESET_VALUE_TEMPLATE: str
24
25
  CONF_SUGGESTED_DISPLAY_PRECISION: str
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsT
19
19
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
20
20
  from typing import Any
21
21
 
22
+ PARALLEL_UPDATES: int
22
23
  DEFAULT_NAME: str
23
24
  DEFAULT_PAYLOAD_ON: str
24
25
  DEFAULT_PAYLOAD_OFF: str
@@ -24,7 +24,7 @@ class EntitySubscription:
24
24
  def _should_resubscribe(self, other: EntitySubscription | None) -> bool: ...
25
25
  def __init__(self, *, hass, topic, message_callback, should_subscribe, unsubscribe_callback, qos=..., encoding=..., entity_id, job_type) -> None: ...
26
26
 
27
- def async_prepare_subscribe_topics(hass: HomeAssistant, new_state: dict[str, EntitySubscription] | None, topics: dict[str, dict[str, Any]]) -> dict[str, EntitySubscription]: ...
27
+ def async_prepare_subscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription] | None, topics: dict[str, dict[str, Any]]) -> dict[str, EntitySubscription]: ...
28
28
  async def async_subscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
29
29
  def async_subscribe_topics_internal(hass: HomeAssistant, sub_state: dict[str, EntitySubscription]) -> None: ...
30
30
  def async_unsubscribe_topics(hass: HomeAssistant, sub_state: dict[str, EntitySubscription] | None) -> dict[str, EntitySubscription]: ...
@@ -18,6 +18,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
18
18
  from homeassistant.helpers.typing import ConfigType as ConfigType
19
19
  from typing import Any
20
20
 
21
+ PARALLEL_UPDATES: int
21
22
  DEFAULT_NAME: str
22
23
  DEFAULT_PAYLOAD_ON: str
23
24
  DEFAULT_PAYLOAD_OFF: str
@@ -19,6 +19,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType
19
19
  from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
+ PARALLEL_UPDATES: int
22
23
  CONF_MAX: str
23
24
  CONF_MIN: str
24
25
  CONF_PATTERN: str
@@ -18,6 +18,7 @@ from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPT
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
+ PARALLEL_UPDATES: int
21
22
  DEFAULT_NAME: str
22
23
  CONF_DISPLAY_PRECISION: str
23
24
  CONF_LATEST_VERSION_TEMPLATE: str
@@ -17,6 +17,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
17
17
  from homeassistant.util.json import json_loads_object as json_loads_object
18
18
  from typing import Any
19
19
 
20
+ PARALLEL_UPDATES: int
20
21
  BATTERY: str
21
22
  FAN_SPEED: str
22
23
  STATE: str
@@ -17,6 +17,7 @@ from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPT
17
17
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
18
18
 
19
19
  _LOGGER: Incomplete
20
+ PARALLEL_UPDATES: int
20
21
  CONF_REPORTS_POSITION: str
21
22
  DEFAULT_NAME: str
22
23
  MQTT_VALVE_ATTRIBUTES_BLOCKED: Incomplete
@@ -18,6 +18,7 @@ from homeassistant.util.unit_conversion import TemperatureConverter as Temperatu
18
18
  from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
+ PARALLEL_UPDATES: int
21
22
  DEFAULT_NAME: str
22
23
  MQTT_WATER_HEATER_ATTRIBUTES_BLOCKED: Incomplete
23
24
  VALUE_TEMPLATE_KEYS: Incomplete
@@ -0,0 +1,27 @@
1
+ import asyncio
2
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
6
+ from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
7
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
11
+ from music_assistant_client import MusicAssistantClient
12
+ from music_assistant_models.event import MassEvent as MassEvent
13
+
14
+ PLATFORMS: Incomplete
15
+ CONNECT_TIMEOUT: int
16
+ LISTEN_READY_TIMEOUT: int
17
+ type MusicAssistantConfigEntry = ConfigEntry[MusicAssistantEntryData]
18
+
19
+ @dataclass
20
+ class MusicAssistantEntryData:
21
+ mass: MusicAssistantClient
22
+ listen_task: asyncio.Task
23
+ def __init__(self, mass, listen_task) -> None: ...
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry) -> bool: ...
26
+ async def _client_listen(hass: HomeAssistant, entry: ConfigEntry, mass: MusicAssistantClient, init_ready: asyncio.Event) -> None: ...
27
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,24 @@
1
+ import voluptuous as vol
2
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components import zeroconf as zeroconf
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_URL as CONF_URL
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
9
+ from music_assistant_models.api import ServerInfoMessage
10
+ from typing import Any
11
+
12
+ DEFAULT_URL: str
13
+ DEFAULT_TITLE: str
14
+
15
+ def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
16
+ async def get_server_info(hass: HomeAssistant, url: str) -> ServerInfoMessage: ...
17
+
18
+ class MusicAssistantConfigFlow(ConfigFlow, domain=DOMAIN):
19
+ VERSION: int
20
+ server_info: Incomplete
21
+ def __init__(self) -> None: ...
22
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
24
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,12 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ DOMAIN_EVENT: Incomplete
5
+ DEFAULT_NAME: str
6
+ ATTR_IS_GROUP: str
7
+ ATTR_GROUP_MEMBERS: str
8
+ ATTR_GROUP_PARENTS: str
9
+ ATTR_MASS_PLAYER_TYPE: str
10
+ ATTR_ACTIVE_QUEUE: str
11
+ ATTR_STREAM_TITLE: str
12
+ LOGGER: Incomplete
@@ -0,0 +1,24 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
4
+ from homeassistant.helpers.entity import Entity as Entity
5
+ from music_assistant_client import MusicAssistantClient as MusicAssistantClient
6
+ from music_assistant_models.event import MassEvent as MassEvent
7
+ from music_assistant_models.player import Player as Player
8
+
9
+ class MusicAssistantEntity(Entity):
10
+ _attr_has_entity_name: bool
11
+ _attr_should_poll: bool
12
+ mass: Incomplete
13
+ player_id: Incomplete
14
+ _attr_device_info: Incomplete
15
+ def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
16
+ async def async_added_to_hass(self) -> None: ...
17
+ @property
18
+ def player(self) -> Player: ...
19
+ @property
20
+ def unique_id(self) -> str | None: ...
21
+ @property
22
+ def available(self) -> bool: ...
23
+ async def __on_mass_update(self, event: MassEvent) -> None: ...
24
+ async def async_on_update(self) -> None: ...