homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.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 (731) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
  30. homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
  31. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  32. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  33. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  34. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  35. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  36. homeassistant-stubs/components/backup/__init__.pyi +8 -3
  37. homeassistant-stubs/components/backup/agent.pyi +6 -5
  38. homeassistant-stubs/components/backup/backup.pyi +6 -4
  39. homeassistant-stubs/components/backup/config.pyi +45 -3
  40. homeassistant-stubs/components/backup/http.pyi +8 -0
  41. homeassistant-stubs/components/backup/manager.pyi +42 -22
  42. homeassistant-stubs/components/backup/models.pyi +18 -3
  43. homeassistant-stubs/components/backup/store.pyi +7 -2
  44. homeassistant-stubs/components/backup/util.pyi +94 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +6 -3
  46. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  48. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  49. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  50. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  52. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  54. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  55. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  56. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  57. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  58. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  59. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  60. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  61. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  62. homeassistant-stubs/components/bluetooth/const.pyi +5 -0
  63. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  64. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  65. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  66. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  67. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  68. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/button/__init__.pyi +1 -1
  72. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  74. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  75. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  76. homeassistant-stubs/components/canary/camera.pyi +3 -4
  77. homeassistant-stubs/components/canary/const.pyi +0 -2
  78. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  79. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  80. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  81. homeassistant-stubs/components/climate/const.pyi +1 -0
  82. homeassistant-stubs/components/climate/intent.pyi +9 -1
  83. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  84. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  85. homeassistant-stubs/components/cloud/const.pyi +0 -1
  86. homeassistant-stubs/components/cloud/http_api.pyi +7 -1
  87. homeassistant-stubs/components/config/core.pyi +1 -1
  88. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  89. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  90. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  91. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  92. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  93. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  94. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  95. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  96. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  97. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  98. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  99. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  100. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  101. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  102. homeassistant-stubs/components/date/__init__.pyi +1 -1
  103. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  104. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  105. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  106. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/deconz/button.pyi +2 -2
  108. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  109. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  110. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  111. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  112. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  113. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  114. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  115. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  116. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  117. homeassistant-stubs/components/deconz/light.pyi +2 -2
  118. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  119. homeassistant-stubs/components/deconz/number.pyi +2 -2
  120. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  121. homeassistant-stubs/components/deconz/select.pyi +2 -3
  122. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  123. homeassistant-stubs/components/deconz/services.pyi +2 -1
  124. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  125. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  126. homeassistant-stubs/components/deconz/util.pyi +7 -0
  127. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  128. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  129. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  130. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  131. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  132. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  133. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  134. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  135. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  136. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  137. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  139. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  140. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  141. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  142. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  143. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  144. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  145. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  146. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  147. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  148. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  151. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  152. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  153. homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
  154. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  156. homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
  157. homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
  158. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  159. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  160. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  161. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  162. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  163. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  164. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  165. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  166. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  167. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  168. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  169. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  170. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  171. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  172. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  173. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  174. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  175. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  176. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  177. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  178. homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
  179. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  180. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  181. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  182. homeassistant-stubs/components/event/__init__.pyi +2 -2
  183. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  184. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  185. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  187. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  188. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  189. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  190. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  191. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  192. homeassistant-stubs/components/filter/const.pyi +29 -0
  193. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  194. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  195. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  196. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  197. homeassistant-stubs/components/fritz/button.pyi +3 -4
  198. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  199. homeassistant-stubs/components/fritz/const.pyi +0 -3
  200. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  201. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  202. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  203. homeassistant-stubs/components/fritz/image.pyi +2 -4
  204. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  205. homeassistant-stubs/components/fritz/services.pyi +5 -8
  206. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  207. homeassistant-stubs/components/fritz/update.pyi +2 -4
  208. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  210. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  212. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  213. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  214. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  215. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  216. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  217. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  218. homeassistant-stubs/components/fyta/image.pyi +18 -0
  219. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  220. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  221. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  222. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  223. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  224. homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
  225. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  226. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  227. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  228. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  229. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  230. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  231. homeassistant-stubs/components/habitica/button.pyi +53 -0
  232. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  233. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  234. homeassistant-stubs/components/habitica/const.pyi +44 -0
  235. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  236. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  237. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  238. homeassistant-stubs/components/habitica/image.pyi +26 -0
  239. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  240. homeassistant-stubs/components/habitica/services.pyi +24 -0
  241. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  242. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  243. homeassistant-stubs/components/habitica/types.pyi +10 -0
  244. homeassistant-stubs/components/habitica/util.pyi +15 -0
  245. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  246. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  247. homeassistant-stubs/components/heos/const.pyi +5 -0
  248. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  249. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  250. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  251. homeassistant-stubs/components/heos/services.pyi +16 -0
  252. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  253. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  254. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  255. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  256. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  257. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  259. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  260. homeassistant-stubs/components/homee/const.pyi +9 -0
  261. homeassistant-stubs/components/homee/cover.pyi +43 -0
  262. homeassistant-stubs/components/homee/entity.pyi +43 -0
  263. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  264. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  265. homeassistant-stubs/components/homekit/util.pyi +1 -1
  266. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  267. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  268. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  269. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  270. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  271. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  272. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  273. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  274. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  275. homeassistant-stubs/components/http/ban.pyi +0 -1
  276. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  277. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  278. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  279. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  280. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  281. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  282. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  283. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  284. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  285. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/image/__init__.pyi +1 -1
  287. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  288. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  289. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  290. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  291. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  292. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  293. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  294. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  295. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  296. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  297. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  298. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  299. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  300. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  301. homeassistant-stubs/components/intent/timers.pyi +1 -2
  302. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  304. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  305. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  306. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  307. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  308. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  309. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  310. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  311. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  312. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  313. homeassistant-stubs/components/knx/climate.pyi +10 -2
  314. homeassistant-stubs/components/knx/const.pyi +2 -0
  315. homeassistant-stubs/components/knx/entity.pyi +1 -1
  316. homeassistant-stubs/components/knx/light.pyi +1 -1
  317. homeassistant-stubs/components/knx/schema.pyi +5 -7
  318. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  319. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  320. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  321. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  322. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  323. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  324. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  325. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  326. homeassistant-stubs/components/lcn/const.pyi +1 -0
  327. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  328. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  329. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  330. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  331. homeassistant-stubs/components/letpot/const.pyi +6 -0
  332. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  333. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  334. homeassistant-stubs/components/letpot/time.pyi +33 -0
  335. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  336. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  337. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  338. homeassistant-stubs/components/light/__init__.pyi +1 -1
  339. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  341. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  342. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  343. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  344. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  345. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  346. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  347. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  348. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  349. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  350. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  351. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  352. homeassistant-stubs/components/logbook/models.pyi +1 -1
  353. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  354. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  355. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  356. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  357. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  358. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  359. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  360. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  361. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  362. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  363. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  364. homeassistant-stubs/components/matter/cover.pyi +0 -1
  365. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  366. homeassistant-stubs/components/matter/entity.pyi +11 -4
  367. homeassistant-stubs/components/matter/light.pyi +0 -1
  368. homeassistant-stubs/components/matter/lock.pyi +0 -2
  369. homeassistant-stubs/components/matter/models.pyi +10 -1
  370. homeassistant-stubs/components/matter/number.pyi +1 -1
  371. homeassistant-stubs/components/matter/select.pyi +32 -2
  372. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  373. homeassistant-stubs/components/matter/switch.pyi +15 -2
  374. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  375. homeassistant-stubs/components/matter/valve.pyi +0 -2
  376. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  377. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  378. homeassistant-stubs/components/mcp/const.pyi +1 -0
  379. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  380. homeassistant-stubs/components/mcp/types.pyi +4 -0
  381. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  382. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  383. homeassistant-stubs/components/mcp_server/const.pyi +4 -0
  384. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  385. homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
  386. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  387. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  388. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  389. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  390. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  391. homeassistant-stubs/components/media_source/models.pyi +1 -2
  392. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  393. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  394. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  395. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  396. homeassistant-stubs/components/modbus/const.pyi +4 -0
  397. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  398. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  399. homeassistant-stubs/components/modbus/light.pyi +0 -1
  400. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  401. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  402. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  403. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  404. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  405. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  406. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  407. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  408. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  409. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  410. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  411. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  412. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  413. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  414. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  415. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  416. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  417. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  418. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  419. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  420. homeassistant-stubs/components/nest/api.pyi +2 -2
  421. homeassistant-stubs/components/nest/climate.pyi +2 -0
  422. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  423. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  424. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  426. homeassistant-stubs/components/network/system_health.pyi +11 -0
  427. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  428. homeassistant-stubs/components/number/__init__.pyi +2 -2
  429. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  431. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  432. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  433. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  434. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  435. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  436. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  437. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  438. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  439. homeassistant-stubs/components/onewire/const.pyi +0 -2
  440. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  441. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  442. homeassistant-stubs/components/onewire/select.pyi +27 -0
  443. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  444. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  445. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  446. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  447. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  448. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  449. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  450. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  451. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  452. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  453. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  454. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  455. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  456. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  457. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  458. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  459. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  460. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  461. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  462. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  463. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  464. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  465. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  466. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  467. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  468. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  469. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  470. homeassistant-stubs/components/person/__init__.pyi +103 -0
  471. homeassistant-stubs/components/person/const.pyi +1 -0
  472. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  473. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  474. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  475. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  476. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  477. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  478. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  479. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  480. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  481. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  482. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  483. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  484. homeassistant-stubs/components/qbus/const.pyi +7 -0
  485. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  486. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  487. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  488. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  489. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  490. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  491. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  492. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  493. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  494. homeassistant-stubs/components/recorder/const.pyi +0 -2
  495. homeassistant-stubs/components/recorder/core.pyi +2 -2
  496. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  497. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  498. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  499. homeassistant-stubs/components/recorder/util.pyi +1 -7
  500. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  501. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  502. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  503. homeassistant-stubs/components/reolink/const.pyi +1 -0
  504. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  505. homeassistant-stubs/components/reolink/host.pyi +9 -2
  506. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  507. homeassistant-stubs/components/reolink/util.pyi +6 -5
  508. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  509. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  510. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  511. homeassistant-stubs/components/ring/button.pyi +1 -0
  512. homeassistant-stubs/components/ring/camera.pyi +1 -0
  513. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  515. homeassistant-stubs/components/ring/entity.pyi +1 -2
  516. homeassistant-stubs/components/ring/event.pyi +2 -0
  517. homeassistant-stubs/components/ring/light.pyi +1 -0
  518. homeassistant-stubs/components/ring/number.pyi +2 -0
  519. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  520. homeassistant-stubs/components/ring/siren.pyi +1 -0
  521. homeassistant-stubs/components/ring/switch.pyi +1 -0
  522. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  523. homeassistant-stubs/components/roborock/const.pyi +4 -0
  524. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  525. homeassistant-stubs/components/roborock/image.pyi +10 -11
  526. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  527. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  528. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  529. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  530. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  531. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  532. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  533. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  534. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  535. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  536. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  537. homeassistant-stubs/components/script/__init__.pyi +1 -1
  538. homeassistant-stubs/components/select/__init__.pyi +2 -2
  539. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  540. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  541. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  542. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  543. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  544. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  545. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  546. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  547. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  548. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  549. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  550. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  551. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  552. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  553. homeassistant-stubs/components/shelly/const.pyi +3 -0
  554. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  555. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  556. homeassistant-stubs/components/shelly/number.pyi +21 -13
  557. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  558. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  559. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  560. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  561. homeassistant-stubs/components/slack/entity.pyi +3 -5
  562. homeassistant-stubs/components/slack/notify.pyi +4 -2
  563. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  564. homeassistant-stubs/components/slack/utils.pyi +6 -0
  565. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  566. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  567. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  568. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  569. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  570. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  571. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  573. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  574. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  576. homeassistant-stubs/components/stream/const.pyi +9 -1
  577. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  578. homeassistant-stubs/components/stream/worker.pyi +4 -5
  579. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  580. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  581. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  582. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  583. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  584. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  585. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  586. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  587. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  588. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  589. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  590. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  591. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  592. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  593. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  594. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  595. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  597. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  598. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  599. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  600. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  601. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  602. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  603. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  604. homeassistant-stubs/components/text/__init__.pyi +1 -1
  605. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  606. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  607. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  608. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  609. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  610. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  611. homeassistant-stubs/components/tile/entity.pyi +13 -0
  612. homeassistant-stubs/components/time/__init__.pyi +1 -1
  613. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  614. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  615. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  616. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  617. homeassistant-stubs/components/tplink/button.pyi +2 -1
  618. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  619. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  620. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  621. homeassistant-stubs/components/tplink/const.pyi +1 -1
  622. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  623. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  624. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  625. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  626. homeassistant-stubs/components/tplink/light.pyi +22 -11
  627. homeassistant-stubs/components/tplink/number.pyi +1 -0
  628. homeassistant-stubs/components/tplink/select.pyi +1 -0
  629. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  630. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  631. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  632. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  633. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  636. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  639. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  640. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  641. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  642. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  643. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  644. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  646. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  647. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  648. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  649. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  650. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  651. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  652. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  653. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  654. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  655. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  656. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  657. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  658. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  659. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  660. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  661. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  662. homeassistant-stubs/components/update/__init__.pyi +2 -2
  663. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  664. homeassistant-stubs/components/usb/models.pyi +1 -1
  665. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  666. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  667. homeassistant-stubs/components/velbus/const.pyi +1 -0
  668. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  669. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  670. homeassistant-stubs/components/velbus/services.pyi +5 -1
  671. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  672. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  673. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  674. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  675. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  676. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  677. homeassistant-stubs/components/webostv/const.pyi +0 -1
  678. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  679. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  680. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  681. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  682. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  683. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  684. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  685. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  687. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  688. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  689. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  690. homeassistant-stubs/config_entries.pyi +7 -9
  691. homeassistant-stubs/const.pyi +2 -0
  692. homeassistant-stubs/core.pyi +2 -3
  693. homeassistant-stubs/core_config.pyi +3 -3
  694. homeassistant-stubs/data_entry_flow.pyi +1 -2
  695. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  696. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  697. homeassistant-stubs/helpers/collection.pyi +5 -7
  698. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  699. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  700. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  701. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  702. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  703. homeassistant-stubs/helpers/entity.pyi +1 -1
  704. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  705. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  706. homeassistant-stubs/helpers/frame.pyi +1 -1
  707. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  708. homeassistant-stubs/helpers/intent.pyi +4 -2
  709. homeassistant-stubs/helpers/llm.pyi +23 -8
  710. homeassistant-stubs/helpers/script.pyi +1 -1
  711. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  712. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  713. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  714. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  715. homeassistant-stubs/helpers/singleton.pyi +6 -2
  716. homeassistant-stubs/helpers/storage.pyi +1 -1
  717. homeassistant-stubs/helpers/template.pyi +4 -4
  718. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  719. homeassistant-stubs/loader.pyi +1 -1
  720. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  721. homeassistant-stubs/util/event_type.pyi +1 -2
  722. homeassistant-stubs/util/ulid.pyi +1 -1
  723. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  724. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  725. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  726. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +728 -593
  727. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  728. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  729. homeassistant-stubs/components/tplink/models.pyi +0 -10
  730. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  731. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,23 @@
1
+ from . import BangOlufsenConfigEntry as BangOlufsenConfigEntry
2
+ from .const import CONNECTION_STATUS as CONNECTION_STATUS, DEVICE_BUTTONS as DEVICE_BUTTONS, DEVICE_BUTTON_EVENTS as DEVICE_BUTTON_EVENTS, MODEL_SUPPORT_DEVICE_BUTTONS as MODEL_SUPPORT_DEVICE_BUTTONS, MODEL_SUPPORT_MAP as MODEL_SUPPORT_MAP, WebsocketNotification as WebsocketNotification
3
+ from .entity import BangOlufsenEntity as BangOlufsenEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
6
+ from homeassistant.const import CONF_MODEL as CONF_MODEL
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BangOlufsenConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
12
+
13
+ class BangOlufsenButtonEvent(BangOlufsenEntity, EventEntity):
14
+ _attr_device_class: Incomplete
15
+ _attr_entity_registry_enabled_default: bool
16
+ _attr_event_types = DEVICE_BUTTON_EVENTS
17
+ _attr_unique_id: Incomplete
18
+ _attr_translation_key: Incomplete
19
+ _button_type: Incomplete
20
+ def __init__(self, config_entry: BangOlufsenConfigEntry, button_type: str) -> None: ...
21
+ async def async_added_to_hass(self) -> None: ...
22
+ @callback
23
+ def _async_handle_event(self, event: str) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import BANG_OLUFSEN_WEBSOCKET_EVENT as BANG_OLUFSEN_WEBSOCKET_EVENT, CONNECTION_STATUS as CONNECTION_STATUS, WebsocketNotification as WebsocketNotification
1
+ from .const import BANG_OLUFSEN_WEBSOCKET_EVENT as BANG_OLUFSEN_WEBSOCKET_EVENT, CONNECTION_STATUS as CONNECTION_STATUS, EVENT_TRANSLATION_MAP as EVENT_TRANSLATION_MAP, WebsocketNotification as WebsocketNotification
2
2
  from .entity import BangOlufsenBase as BangOlufsenBase
3
3
  from .util import get_device as get_device
4
4
  from _typeshed import Incomplete
@@ -6,7 +6,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
8
8
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
9
- from mozart_api.models import ListeningModeProps as ListeningModeProps, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
9
+ from mozart_api.models import ButtonEvent as ButtonEvent, ListeningModeProps as ListeningModeProps, PlaybackContentMetadata as PlaybackContentMetadata, PlaybackError as PlaybackError, PlaybackProgress as PlaybackProgress, RenderingState as RenderingState, SoftwareUpdateState as SoftwareUpdateState, Source as Source, VolumeState as VolumeState, WebsocketNotificationTag as WebsocketNotificationTag
10
10
  from mozart_api.mozart_client import BaseWebSocketResponse as BaseWebSocketResponse, MozartClient as MozartClient
11
11
 
12
12
  _LOGGER: Incomplete
@@ -19,6 +19,7 @@ class BangOlufsenWebsocket(BangOlufsenBase):
19
19
  def on_connection(self) -> None: ...
20
20
  def on_connection_lost(self) -> None: ...
21
21
  def on_active_listening_mode(self, notification: ListeningModeProps) -> None: ...
22
+ def on_button_notification(self, notification: ButtonEvent) -> None: ...
22
23
  def on_notification_notification(self, notification: WebsocketNotificationTag) -> None: ...
23
24
  def on_playback_error_notification(self, notification: PlaybackError) -> None: ...
24
25
  def on_playback_metadata_notification(self, notification: PlaybackContentMetadata) -> None: ...
@@ -8,7 +8,7 @@ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as
8
8
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
  from homeassistant.util.hass_dict import HassKey as HassKey
11
- from propcache import cached_property
11
+ from propcache.api import cached_property
12
12
  from typing import Literal, final
13
13
 
14
14
  _LOGGER: Incomplete
@@ -5,7 +5,6 @@ from dataclasses import dataclass
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
7
  from homeassistant.helpers import aiohttp_client as aiohttp_client
8
- from homeassistant.util import yaml as yaml
9
8
 
10
9
  COMMUNITY_TOPIC_PATTERN: Incomplete
11
10
  COMMUNITY_CODE_BLOCK: Incomplete
@@ -9,7 +9,6 @@ from homeassistant import loader as loader
9
9
  from homeassistant.const import CONF_DEFAULT as CONF_DEFAULT, CONF_DOMAIN as CONF_DOMAIN, CONF_NAME as CONF_NAME, CONF_PATH as CONF_PATH, __version__ as __version__
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
- from homeassistant.util import yaml as yaml
13
12
  from typing import Any
14
13
 
15
14
  class Blueprint:
@@ -6,7 +6,6 @@ from collections.abc import Callable as Callable, Coroutine
6
6
  from homeassistant.components import websocket_api as websocket_api
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
- from homeassistant.util import yaml as yaml
10
9
  from typing import Any
11
10
 
12
11
  @callback
@@ -1,4 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import BluesoundCoordinator as BluesoundCoordinator
2
3
  from _typeshed import Incomplete
3
4
  from dataclasses import dataclass
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -16,6 +17,7 @@ PLATFORMS: Incomplete
16
17
  class BluesoundRuntimeData:
17
18
  player: Player
18
19
  sync_status: SyncStatus
20
+ coordinator: BluesoundCoordinator
19
21
  type BluesoundConfigEntry = ConfigEntry[BluesoundRuntimeData]
20
22
 
21
23
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -2,10 +2,10 @@ from .const import DOMAIN as DOMAIN
2
2
  from .media_player import DEFAULT_PORT as DEFAULT_PORT
3
3
  from .utils import format_unique_id as format_unique_id
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components import zeroconf as zeroconf
6
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
8
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
9
9
  from pyblu import SyncStatus as SyncStatus
10
10
  from typing import Any
11
11
 
@@ -19,6 +19,5 @@ class BluesoundConfigFlow(ConfigFlow, domain=DOMAIN):
19
19
  _sync_status: SyncStatus | None
20
20
  def __init__(self) -> None: ...
21
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
- async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
23
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
22
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
24
23
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,30 @@
1
+ import asyncio
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable, Coroutine
4
+ from dataclasses import dataclass
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
7
+ from pyblu import Input as Input, Player as Player, Preset as Preset, Status as Status, SyncStatus as SyncStatus
8
+
9
+ _LOGGER: Incomplete
10
+ NODE_OFFLINE_CHECK_TIMEOUT: Incomplete
11
+ PRESET_AND_INPUTS_INTERVAL: Incomplete
12
+
13
+ @dataclass
14
+ class BluesoundData:
15
+ sync_status: SyncStatus
16
+ status: Status
17
+ presets: list[Preset]
18
+ inputs: list[Input]
19
+
20
+ def cancel_task(task: asyncio.Task) -> Callable[[], Coroutine[None, None, None]]: ...
21
+
22
+ class BluesoundCoordinator(DataUpdateCoordinator[BluesoundData]):
23
+ player: Incomplete
24
+ _inital_sync_status: Incomplete
25
+ def __init__(self, hass: HomeAssistant, player: Player, sync_status: SyncStatus) -> None: ...
26
+ async def _async_setup(self) -> None: ...
27
+ async def _async_update_data(self) -> BluesoundData: ...
28
+ async def _poll_presets_and_inputs_loop(self) -> None: ...
29
+ async def _poll_status_loop(self) -> None: ...
30
+ async def _poll_sync_status_loop(self) -> None: ...
@@ -1,21 +1,20 @@
1
1
  from . import BluesoundConfigEntry as BluesoundConfigEntry
2
- from .const import ATTR_BLUESOUND_GROUP as ATTR_BLUESOUND_GROUP, ATTR_MASTER as ATTR_MASTER, DOMAIN as DOMAIN, INTEGRATION_TITLE as INTEGRATION_TITLE
2
+ from .const import ATTR_BLUESOUND_GROUP as ATTR_BLUESOUND_GROUP, ATTR_MASTER as ATTR_MASTER, DOMAIN as DOMAIN
3
+ from .coordinator import BluesoundCoordinator as BluesoundCoordinator
3
4
  from .utils import dispatcher_join_signal as dispatcher_join_signal, dispatcher_unjoin_signal as dispatcher_unjoin_signal, format_unique_id as format_unique_id
4
5
  from _typeshed import Incomplete
5
6
  from asyncio import Task
6
7
  from datetime import datetime
7
8
  from homeassistant.components import media_source as media_source
8
9
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, async_process_play_media_url as async_process_play_media_url
9
- from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
10
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_HOSTS as CONF_HOSTS, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
11
- from homeassistant.core import HomeAssistant as HomeAssistant
12
- from homeassistant.data_entry_flow import FlowResultType as FlowResultType
10
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
12
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
14
13
  from homeassistant.helpers import entity_platform as entity_platform
15
14
  from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
16
15
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
17
16
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
18
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
17
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
19
18
  from pyblu import Input as Input, Player as Player, Preset as Preset, Status as Status, SyncStatus as SyncStatus
20
19
  from typing import Any
21
20
 
@@ -27,17 +26,11 @@ SERVICE_CLEAR_TIMER: str
27
26
  SERVICE_JOIN: str
28
27
  SERVICE_SET_TIMER: str
29
28
  SERVICE_UNJOIN: str
30
- NODE_OFFLINE_CHECK_TIMEOUT: int
31
- NODE_RETRY_INITIATION: Incomplete
32
- SYNC_STATUS_INTERVAL: Incomplete
33
29
  POLL_TIMEOUT: int
34
- PLATFORM_SCHEMA: Incomplete
35
30
 
36
- async def _async_import(hass: HomeAssistant, config: ConfigType) -> None: ...
37
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: BluesoundConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
38
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None) -> None: ...
39
32
 
40
- class BluesoundPlayer(MediaPlayerEntity):
33
+ class BluesoundPlayer(CoordinatorEntity[BluesoundCoordinator], MediaPlayerEntity):
41
34
  _attr_media_content_type: Incomplete
42
35
  _attr_has_entity_name: bool
43
36
  _attr_name: Incomplete
@@ -48,28 +41,20 @@ class BluesoundPlayer(MediaPlayerEntity):
48
41
  _id: Incomplete
49
42
  _last_status_update: datetime | None
50
43
  _sync_status: Incomplete
51
- _status: Status | None
44
+ _status: Status
52
45
  _inputs: list[Input]
53
46
  _presets: list[Preset]
54
47
  _group_name: str | None
55
48
  _group_list: list[str]
56
49
  _bluesound_device_name: Incomplete
57
50
  _player: Incomplete
58
- _is_leader: bool
59
- _leader: BluesoundPlayer | None
60
51
  _attr_unique_id: Incomplete
61
52
  _attr_device_info: Incomplete
62
- def __init__(self, host: str, port: int, player: Player, sync_status: SyncStatus) -> None: ...
63
- async def _poll_status_loop(self) -> None: ...
64
- async def _poll_sync_status_loop(self) -> None: ...
53
+ def __init__(self, coordinator: BluesoundCoordinator, host: str, port: int, player: Player) -> None: ...
65
54
  async def async_added_to_hass(self) -> None: ...
66
55
  async def async_will_remove_from_hass(self) -> None: ...
67
- async def async_update(self) -> None: ...
68
- _attr_available: bool
69
- async def async_update_status(self) -> None: ...
70
- async def update_sync_status(self) -> None: ...
71
- async def async_update_captures(self) -> None: ...
72
- async def async_update_presets(self) -> None: ...
56
+ @callback
57
+ def _handle_coordinator_update(self) -> None: ...
73
58
  @property
74
59
  def state(self) -> MediaPlayerState: ...
75
60
  @property
@@ -1,4 +1,4 @@
1
- from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
1
+ from .api import async_address_present as async_address_present, async_ble_device_from_address as async_ble_device_from_address, async_discovered_service_info as async_discovered_service_info, async_get_advertisement_callback as async_get_advertisement_callback, async_get_fallback_availability_interval as async_get_fallback_availability_interval, async_get_learned_advertising_interval as async_get_learned_advertising_interval, async_get_scanner as async_get_scanner, async_last_service_info as async_last_service_info, async_process_advertisements as async_process_advertisements, async_rediscover_address as async_rediscover_address, async_register_callback as async_register_callback, async_register_scanner as async_register_scanner, async_remove_scanner as async_remove_scanner, async_scanner_by_source as async_scanner_by_source, async_scanner_count as async_scanner_count, async_scanner_devices_by_address as async_scanner_devices_by_address, async_set_fallback_availability_interval as async_set_fallback_availability_interval, async_track_unavailable as async_track_unavailable
2
2
  from .const import FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS as FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS, SOURCE_LOCAL as SOURCE_LOCAL
3
3
  from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
4
4
  from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange
@@ -7,7 +7,7 @@ from habluetooth import BaseHaRemoteScanner as BaseHaRemoteScanner, BaseHaScanne
7
7
  from home_assistant_bluetooth import BluetoothServiceInfo as BluetoothServiceInfo, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
8
8
  from homeassistant.core import callback as hass_callback
9
9
 
10
- __all__ = ['async_address_present', 'async_ble_device_from_address', 'async_discovered_service_info', 'async_get_fallback_availability_interval', 'async_get_learned_advertising_interval', 'async_get_scanner', 'async_last_service_info', 'async_process_advertisements', 'async_rediscover_address', 'async_register_callback', 'async_register_scanner', 'async_set_fallback_availability_interval', 'async_track_unavailable', 'async_scanner_by_source', 'async_scanner_count', 'async_scanner_devices_by_address', 'async_get_advertisement_callback', 'BaseHaScanner', 'HomeAssistantRemoteScanner', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'BluetoothScanningMode', 'BluetoothCallback', 'BluetoothScannerDevice', 'HaBluetoothConnector', 'BaseHaRemoteScanner', 'SOURCE_LOCAL', 'FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME']
10
+ __all__ = ['FALLBACK_MAXIMUM_STALE_ADVERTISEMENT_SECONDS', 'MONOTONIC_TIME', 'SOURCE_LOCAL', 'BaseHaRemoteScanner', 'BaseHaScanner', 'BluetoothCallback', 'BluetoothCallbackMatcher', 'BluetoothChange', 'BluetoothScannerDevice', 'BluetoothScanningMode', 'BluetoothServiceInfo', 'BluetoothServiceInfoBleak', 'HaBluetoothConnector', 'HomeAssistantRemoteScanner', 'async_address_present', 'async_ble_device_from_address', 'async_discovered_service_info', 'async_get_advertisement_callback', 'async_get_fallback_availability_interval', 'async_get_learned_advertising_interval', 'async_get_scanner', 'async_last_service_info', 'async_process_advertisements', 'async_rediscover_address', 'async_register_callback', 'async_register_scanner', 'async_remove_scanner', 'async_scanner_by_source', 'async_scanner_count', 'async_scanner_devices_by_address', 'async_set_fallback_availability_interval', 'async_track_unavailable']
11
11
 
12
12
  # Names in __all__ with no definition:
13
13
  # HomeAssistantRemoteScanner
@@ -34,7 +34,9 @@ def async_track_unavailable(hass: HomeAssistant, callback: Callable[[BluetoothSe
34
34
  @hass_callback
35
35
  def async_rediscover_address(hass: HomeAssistant, address: str) -> None: ...
36
36
  @hass_callback
37
- def async_register_scanner(hass: HomeAssistant, scanner: BaseHaScanner, connection_slots: int | None = None) -> CALLBACK_TYPE: ...
37
+ def async_register_scanner(hass: HomeAssistant, scanner: BaseHaScanner, connection_slots: int | None = None, source_domain: str | None = None, source_model: str | None = None, source_config_entry_id: str | None = None, source_device_id: str | None = None) -> CALLBACK_TYPE: ...
38
+ @hass_callback
39
+ def async_remove_scanner(hass: HomeAssistant, source: str) -> None: ...
38
40
  @hass_callback
39
41
  def async_get_advertisement_callback(hass: HomeAssistant) -> Callable[[BluetoothServiceInfoBleak], None]: ...
40
42
  @hass_callback
@@ -1,9 +1,9 @@
1
- from .const import CONF_ADAPTER as CONF_ADAPTER, CONF_DETAILS as CONF_DETAILS, CONF_PASSIVE as CONF_PASSIVE, DOMAIN as DOMAIN
1
+ from .const import CONF_ADAPTER as CONF_ADAPTER, CONF_DETAILS as CONF_DETAILS, CONF_PASSIVE as CONF_PASSIVE, CONF_SOURCE as CONF_SOURCE, CONF_SOURCE_CONFIG_ENTRY_ID as CONF_SOURCE_CONFIG_ENTRY_ID, CONF_SOURCE_DEVICE_ID as CONF_SOURCE_DEVICE_ID, CONF_SOURCE_DOMAIN as CONF_SOURCE_DOMAIN, CONF_SOURCE_MODEL as CONF_SOURCE_MODEL, DOMAIN as DOMAIN
2
2
  from .util import adapter_title as adapter_title
3
3
  from _typeshed import Incomplete
4
4
  from bluetooth_adapters import AdapterDetails
5
5
  from homeassistant.components import onboarding as onboarding
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers.schema_config_entry_flow import SchemaFlowFormStep as SchemaFlowFormStep, SchemaOptionsFlowHandler as SchemaOptionsFlowHandler
9
9
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
@@ -26,10 +26,17 @@ class BluetoothConfigFlow(ConfigFlow, domain=DOMAIN):
26
26
  def _async_set_adapter_info(self, adapter: str, details: AdapterDetails) -> None: ...
27
27
  async def async_step_single_adapter(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
  async def async_step_multiple_adapters(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
+ async def async_step_external_scanner(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
29
30
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
31
  @staticmethod
31
32
  @callback
32
- def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler: ...
33
+ def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler | RemoteAdapterOptionsFlowHandler | LocalNoPassiveOptionsFlowHandler: ...
33
34
  @classmethod
34
35
  @callback
35
36
  def async_supports_options_flow(cls, config_entry: ConfigEntry) -> bool: ...
37
+
38
+ class RemoteAdapterOptionsFlowHandler(OptionsFlow):
39
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
+
41
+ class LocalNoPassiveOptionsFlowHandler(OptionsFlow):
42
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -6,6 +6,11 @@ DOMAIN: str
6
6
  CONF_ADAPTER: str
7
7
  CONF_DETAILS: str
8
8
  CONF_PASSIVE: str
9
+ CONF_SOURCE: Final[str]
10
+ CONF_SOURCE_DOMAIN: Final[str]
11
+ CONF_SOURCE_MODEL: Final[str]
12
+ CONF_SOURCE_CONFIG_ENTRY_ID: Final[str]
13
+ CONF_SOURCE_DEVICE_ID: Final[str]
9
14
  SOURCE_LOCAL: Final[str]
10
15
  DATA_MANAGER: Final[str]
11
16
  UNAVAILABLE_TRACK_SECONDS: Final[Incomplete]
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import CONF_SOURCE as CONF_SOURCE, CONF_SOURCE_CONFIG_ENTRY_ID as CONF_SOURCE_CONFIG_ENTRY_ID, CONF_SOURCE_DEVICE_ID as CONF_SOURCE_DEVICE_ID, CONF_SOURCE_DOMAIN as CONF_SOURCE_DOMAIN, CONF_SOURCE_MODEL as CONF_SOURCE_MODEL, DOMAIN as DOMAIN
2
2
  from .match import ADDRESS as ADDRESS, BluetoothCallbackMatcher as BluetoothCallbackMatcher, BluetoothCallbackMatcherIndex as BluetoothCallbackMatcherIndex, BluetoothCallbackMatcherWithCallback as BluetoothCallbackMatcherWithCallback, CALLBACK as CALLBACK, CONNECTABLE as CONNECTABLE, IntegrationMatcher as IntegrationMatcher, ble_device_matches as ble_device_matches
3
3
  from .models import BluetoothCallback as BluetoothCallback, BluetoothChange as BluetoothChange, BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
4
4
  from .storage import BluetoothStorage as BluetoothStorage
@@ -39,6 +39,10 @@ class HomeAssistantBluetoothManager(BluetoothManager):
39
39
  def _async_save_scanner_histories(self) -> None: ...
40
40
  def _async_save_scanner_history(self, scanner: BaseHaScanner) -> None: ...
41
41
  def _async_unregister_scanner(self, scanner: BaseHaScanner, unregister: CALLBACK_TYPE) -> None: ...
42
+ @hass_callback
43
+ def async_register_hass_scanner(self, scanner: BaseHaScanner, connection_slots: int | None = None, source_domain: str | None = None, source_model: str | None = None, source_config_entry_id: str | None = None, source_device_id: str | None = None) -> CALLBACK_TYPE: ...
42
44
  def async_register_scanner(self, scanner: BaseHaScanner, connection_slots: int | None = None) -> CALLBACK_TYPE: ...
43
45
  @hass_callback
46
+ def async_remove_scanner(self, source: str) -> None: ...
47
+ @hass_callback
44
48
  def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
@@ -5,9 +5,6 @@ from collections.abc import Callable as Callable, Generator
5
5
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers.update_coordinator import BaseCoordinatorEntity as BaseCoordinatorEntity, BaseDataUpdateCoordinatorProtocol as BaseDataUpdateCoordinatorProtocol
7
7
  from typing import Any
8
- from typing_extensions import TypeVar
9
-
10
- _PassiveBluetoothDataUpdateCoordinatorT = TypeVar('_PassiveBluetoothDataUpdateCoordinatorT', bound='PassiveBluetoothDataUpdateCoordinator', default='PassiveBluetoothDataUpdateCoordinator')
11
8
 
12
9
  class PassiveBluetoothDataUpdateCoordinator(BasePassiveBluetoothCoordinator, BaseDataUpdateCoordinatorProtocol):
13
10
  _listeners: dict[CALLBACK_TYPE, tuple[CALLBACK_TYPE, object | None]]
@@ -25,7 +22,7 @@ class PassiveBluetoothDataUpdateCoordinator(BasePassiveBluetoothCoordinator, Bas
25
22
  @callback
26
23
  def _async_handle_bluetooth_event(self, service_info: BluetoothServiceInfoBleak, change: BluetoothChange) -> None: ...
27
24
 
28
- class PassiveBluetoothCoordinatorEntity(BaseCoordinatorEntity[_PassiveBluetoothDataUpdateCoordinatorT]):
25
+ class PassiveBluetoothCoordinatorEntity[_PassiveBluetoothDataUpdateCoordinatorT: PassiveBluetoothDataUpdateCoordinator = PassiveBluetoothDataUpdateCoordinator](BaseCoordinatorEntity[_PassiveBluetoothDataUpdateCoordinatorT]):
29
26
  async def async_update(self) -> None: ...
30
27
  @property
31
28
  def available(self) -> bool: ...
@@ -13,6 +13,8 @@ class BluetoothStorage:
13
13
  async def async_setup(self) -> None: ...
14
14
  def scanners(self) -> list[str]: ...
15
15
  @callback
16
+ def async_remove_advertisement_history(self, scanner: str) -> None: ...
17
+ @callback
16
18
  def async_get_advertisement_history(self, scanner: str) -> DiscoveredDeviceAdvertisementData | None: ...
17
19
  @callback
18
20
  def async_get_advertisement_history_as_dict(self, scanner: str) -> DiscoveredDeviceAdvertisementDataDict | None: ...
@@ -1,9 +1,14 @@
1
1
  from .models import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
2
2
  from .storage import BluetoothStorage as BluetoothStorage
3
3
  from bluetooth_adapters import AdapterDetails as AdapterDetails, BluetoothAdapters as BluetoothAdapters
4
- from homeassistant.core import callback as callback
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
+
7
+ class InvalidConfigEntryID(HomeAssistantError): ...
8
+ class InvalidSource(HomeAssistantError): ...
5
9
 
6
10
  @callback
7
11
  def async_load_history_from_system(adapters: BluetoothAdapters, storage: BluetoothStorage) -> tuple[dict[str, BluetoothServiceInfoBleak], dict[str, BluetoothServiceInfoBleak]]: ...
8
12
  @callback
9
13
  def adapter_title(adapter: str, details: AdapterDetails) -> str: ...
14
+ def config_entry_id_to_source(hass: HomeAssistant, config_entry_id: str) -> str: ...
@@ -0,0 +1,46 @@
1
+ from .api import _get_manager as _get_manager, async_register_callback as async_register_callback
2
+ from .const import DOMAIN as DOMAIN
3
+ from .match import BluetoothCallbackMatcher as BluetoothCallbackMatcher
4
+ from .models import BluetoothChange as BluetoothChange
5
+ from .util import InvalidConfigEntryID as InvalidConfigEntryID, InvalidSource as InvalidSource, config_entry_id_to_source as config_entry_id_to_source
6
+ from _typeshed import Incomplete
7
+ from collections.abc import Callable as Callable, Iterable
8
+ from habluetooth import HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerRegistration as HaScannerRegistration
9
+ from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
10
+ from homeassistant.components import websocket_api as websocket_api
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.helpers.json import json_bytes as json_bytes
13
+ from typing import Any
14
+
15
+ @callback
16
+ def async_setup(hass: HomeAssistant) -> None: ...
17
+ def serialize_service_info(service_info: BluetoothServiceInfoBleak, time_diff: float) -> dict[str, Any]: ...
18
+
19
+ class _AdvertisementSubscription:
20
+ hass: Incomplete
21
+ match_dict: Incomplete
22
+ pending_service_infos: list[BluetoothServiceInfoBleak]
23
+ ws_msg_id: Incomplete
24
+ connection: Incomplete
25
+ pending: bool
26
+ time_diff: Incomplete
27
+ def __init__(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, ws_msg_id: int, match_dict: BluetoothCallbackMatcher) -> None: ...
28
+ @callback
29
+ def _async_unsubscribe(self, cancel_callbacks: tuple[Callable[[], None], ...]) -> None: ...
30
+ @callback
31
+ def async_start(self) -> None: ...
32
+ def _async_event_message(self, message: dict[str, Any]) -> None: ...
33
+ def _async_added(self, service_infos: Iterable[BluetoothServiceInfoBleak]) -> None: ...
34
+ def _async_removed(self, address: str) -> None: ...
35
+ @callback
36
+ def _async_on_advertisement(self, service_info: BluetoothServiceInfoBleak, change: BluetoothChange) -> None: ...
37
+
38
+ @websocket_api.require_admin
39
+ @websocket_api.async_response
40
+ async def ws_subscribe_advertisements(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
41
+ @websocket_api.require_admin
42
+ @websocket_api.async_response
43
+ async def ws_subscribe_connection_allocations(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
44
+ @websocket_api.require_admin
45
+ @websocket_api.async_response
46
+ async def ws_subscribe_scanner_details(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,12 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .utils import BondHub as BondHub
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components import zeroconf as zeroconf
5
4
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
5
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
10
  from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
@@ -22,7 +22,7 @@ class BondConfigFlow(ConfigFlow, domain=DOMAIN):
22
22
  _discovered: dict[str, str]
23
23
  def __init__(self) -> None: ...
24
24
  async def _async_try_automatic_configure(self) -> None: ...
25
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
25
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
26
26
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
27
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
@@ -1,10 +1,10 @@
1
1
  from .const import ATTR_CID as ATTR_CID, ATTR_MAC as ATTR_MAC, ATTR_MODEL as ATTR_MODEL, CONF_NICKNAME as CONF_NICKNAME, CONF_USE_PSK as CONF_USE_PSK, DOMAIN as DOMAIN, NICKNAME_PREFIX as NICKNAME_PREFIX
2
2
  from collections.abc import Mapping
3
- from homeassistant.components import ssdp as ssdp
4
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
5
4
  from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME, CONF_PIN as CONF_PIN
6
5
  from homeassistant.helpers import instance_id as instance_id
7
6
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
7
+ from homeassistant.helpers.service_info.ssdp import ATTR_UPNP_FRIENDLY_NAME as ATTR_UPNP_FRIENDLY_NAME, ATTR_UPNP_MODEL_NAME as ATTR_UPNP_MODEL_NAME, ATTR_UPNP_UDN as ATTR_UPNP_UDN, SsdpServiceInfo as SsdpServiceInfo
8
8
  from homeassistant.util.network import is_host_valid as is_host_valid
9
9
  from pybravia import BraviaClient
10
10
  from typing import Any
@@ -23,6 +23,6 @@ class BraviaTVConfigFlow(ConfigFlow, domain=DOMAIN):
23
23
  async def async_step_authorize(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
24
  async def async_step_pin(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
25
  async def async_step_psk(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
26
+ async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
27
27
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -1,12 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES
2
2
  from _typeshed import Incomplete
3
3
  from brother import Brother
4
- from homeassistant.components import zeroconf as zeroconf
5
4
  from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
6
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
10
  from homeassistant.util.network import is_host_valid as is_host_valid
11
11
  from typing import Any
12
12
 
@@ -21,7 +21,7 @@ class BrotherConfigFlow(ConfigFlow, domain=DOMAIN):
21
21
  host: str | None
22
22
  def __init__(self) -> None: ...
23
23
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
24
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
25
25
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
26
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
27
 
@@ -9,7 +9,7 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
9
9
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
  from homeassistant.util.hass_dict import HassKey as HassKey
12
- from propcache import cached_property
12
+ from propcache.api import cached_property
13
13
  from typing import final
14
14
 
15
15
  _LOGGER: Incomplete
@@ -1,9 +1,9 @@
1
1
  from .const import CONNECT_TIMEOUT as CONNECT_TIMEOUT, DOMAIN as DOMAIN, STREAM_MAGIC_EXCEPTIONS as STREAM_MAGIC_EXCEPTIONS
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components import zeroconf as zeroconf
4
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
6
5
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
7
7
  from typing import Any
8
8
 
9
9
  DATA_SCHEMA: Incomplete
@@ -12,7 +12,7 @@ class CambridgeAudioConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
13
  data: dict[str, Any]
14
14
  def __init__(self) -> None: ...
15
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
15
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
16
16
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
17
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -28,7 +28,7 @@ from homeassistant.helpers.network import get_url as get_url
28
28
  from homeassistant.helpers.template import Template as Template
29
29
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
30
30
  from homeassistant.loader import bind_hass as bind_hass
31
- from propcache import cached_property, under_cached_property
31
+ from propcache.api import cached_property, under_cached_property
32
32
  from typing import Any, Final, final
33
33
  from webrtc_models import RTCIceCandidateInit as RTCIceCandidateInit
34
34
 
@@ -1,8 +1,8 @@
1
- from .const import CONF_FFMPEG_ARGUMENTS as CONF_FFMPEG_ARGUMENTS, DATA_COORDINATOR as DATA_COORDINATOR, DATA_UNDO_UPDATE_LISTENER as DATA_UNDO_UPDATE_LISTENER, DEFAULT_FFMPEG_ARGUMENTS as DEFAULT_FFMPEG_ARGUMENTS, DEFAULT_TIMEOUT as DEFAULT_TIMEOUT, DOMAIN as DOMAIN
2
- from .coordinator import CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
1
+ from .const import CONF_FFMPEG_ARGUMENTS as CONF_FFMPEG_ARGUMENTS, DEFAULT_FFMPEG_ARGUMENTS as DEFAULT_FFMPEG_ARGUMENTS, DEFAULT_TIMEOUT as DEFAULT_TIMEOUT, DOMAIN as DOMAIN
2
+ from .coordinator import CanaryConfigEntry as CanaryConfigEntry, CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from canary.api import Api
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
5
+ from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
6
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_TIMEOUT as CONF_TIMEOUT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -15,7 +15,7 @@ CONFIG_SCHEMA: Final[Incomplete]
15
15
  PLATFORMS: Final[list[Platform]]
16
16
 
17
17
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
18
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
19
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
20
- async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
21
- def _get_canary_api_instance(entry: ConfigEntry) -> Api: ...
18
+ async def async_setup_entry(hass: HomeAssistant, entry: CanaryConfigEntry) -> bool: ...
19
+ async def async_unload_entry(hass: HomeAssistant, entry: CanaryConfigEntry) -> bool: ...
20
+ async def _async_update_listener(hass: HomeAssistant, entry: CanaryConfigEntry) -> None: ...
21
+ def _get_canary_api_instance(entry: CanaryConfigEntry) -> Api: ...
@@ -1,15 +1,13 @@
1
- from .const import DATA_COORDINATOR as DATA_COORDINATOR, DOMAIN as DOMAIN
2
- from .coordinator import CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
1
+ from .coordinator import CanaryConfigEntry as CanaryConfigEntry, CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
3
  from canary.model import Location as Location
5
4
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
7
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
8
  from typing import Any
11
9
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: CanaryConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
11
 
14
12
  class CanaryAlarm(CoordinatorEntity[CanaryDataUpdateCoordinator], AlarmControlPanelEntity):
15
13
  _attr_supported_features: Incomplete
@@ -1,5 +1,5 @@
1
- from .const import CONF_FFMPEG_ARGUMENTS as CONF_FFMPEG_ARGUMENTS, DATA_COORDINATOR as DATA_COORDINATOR, DEFAULT_FFMPEG_ARGUMENTS as DEFAULT_FFMPEG_ARGUMENTS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
- from .coordinator import CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
1
+ from .const import CONF_FFMPEG_ARGUMENTS as CONF_FFMPEG_ARGUMENTS, DEFAULT_FFMPEG_ARGUMENTS as DEFAULT_FFMPEG_ARGUMENTS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
+ from .coordinator import CanaryConfigEntry as CanaryConfigEntry, CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp.web import Request as Request, StreamResponse as StreamResponse
5
5
  from canary.live_stream_api import LiveStreamSession as LiveStreamSession
@@ -7,7 +7,6 @@ from canary.model import Device as Device, Location as Location
7
7
  from homeassistant.components import ffmpeg as ffmpeg
8
8
  from homeassistant.components.camera import Camera as Camera
9
9
  from homeassistant.components.ffmpeg import FFmpegManager as FFmpegManager, get_ffmpeg_manager as get_ffmpeg_manager
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
11
  from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream
13
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -19,7 +18,7 @@ FORCE_CAMERA_REFRESH_INTERVAL: Final[Incomplete]
19
18
  PLATFORM_SCHEMA: Final[Incomplete]
20
19
  _LOGGER: Incomplete
21
20
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: CanaryConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
22
 
24
23
  class CanaryCamera(CoordinatorEntity[CanaryDataUpdateCoordinator], Camera):
25
24
  _ffmpeg: FFmpegManager
@@ -3,7 +3,5 @@ from typing import Final
3
3
  DOMAIN: Final[str]
4
4
  MANUFACTURER: Final[str]
5
5
  CONF_FFMPEG_ARGUMENTS: Final[str]
6
- DATA_COORDINATOR: Final[str]
7
- DATA_UNDO_UPDATE_LISTENER: Final[str]
8
6
  DEFAULT_FFMPEG_ARGUMENTS: Final[str]
9
7
  DEFAULT_TIMEOUT: Final[int]