homeassistant-stubs 2025.10.3__py3-none-any.whl → 2025.11.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (458) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
  3. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airos/__init__.pyi +4 -2
  6. homeassistant-stubs/components/airos/config_flow.pyi +10 -1
  7. homeassistant-stubs/components/airos/coordinator.pyi +1 -1
  8. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  9. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
  10. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  11. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  12. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  13. homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
  14. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  15. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  16. homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
  17. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
  19. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  20. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  21. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/backup/http.pyi +1 -0
  24. homeassistant-stubs/components/backup/manager.pyi +2 -1
  25. homeassistant-stubs/components/backup/util.pyi +2 -32
  26. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
  27. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  28. homeassistant-stubs/components/bluetooth/api.pyi +2 -0
  29. homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
  30. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  31. homeassistant-stubs/components/calendar/trigger.pyi +1 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +1 -9
  33. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  35. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  36. homeassistant-stubs/components/cloud/__init__.pyi +2 -1
  37. homeassistant-stubs/components/cloud/client.pyi +1 -1
  38. homeassistant-stubs/components/cloud/const.pyi +1 -1
  39. homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -2
  41. homeassistant-stubs/components/comelit/light.pyi +1 -1
  42. homeassistant-stubs/components/comelit/sensor.pyi +1 -0
  43. homeassistant-stubs/components/comelit/switch.pyi +1 -1
  44. homeassistant-stubs/components/comelit/utils.pyi +5 -1
  45. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  46. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  47. homeassistant-stubs/components/demo/valve.pyi +14 -5
  48. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  49. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  50. homeassistant-stubs/components/derivative/sensor.pyi +2 -1
  51. homeassistant-stubs/components/device_automation/condition.pyi +7 -6
  52. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  53. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  54. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  55. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  56. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  57. homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
  58. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  59. homeassistant-stubs/components/ecovacs/select.pyi +14 -2
  60. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  61. homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
  62. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  63. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  64. homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
  65. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  66. homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
  67. homeassistant-stubs/components/esphome/const.pyi +2 -0
  68. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  69. homeassistant-stubs/components/esphome/manager.pyi +8 -3
  70. homeassistant-stubs/components/esphome/select.pyi +1 -1
  71. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  72. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  73. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  74. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  75. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  76. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  77. homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
  78. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  79. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  80. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  81. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  82. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  83. homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
  84. homeassistant-stubs/components/fritz/models.pyi +2 -2
  85. homeassistant-stubs/components/fritz/services.pyi +3 -0
  86. homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
  87. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  88. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  89. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  90. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  91. homeassistant-stubs/components/github/__init__.pyi +12 -0
  92. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  93. homeassistant-stubs/components/github/const.pyi +10 -0
  94. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  95. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  96. homeassistant-stubs/components/github/sensor.pyi +37 -0
  97. homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
  98. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  99. homeassistant-stubs/components/google_drive/api.pyi +1 -0
  100. homeassistant-stubs/components/google_sheets/services.pyi +9 -2
  101. homeassistant-stubs/components/group/__init__.pyi +0 -1
  102. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  103. homeassistant-stubs/components/group/entity.pyi +3 -0
  104. homeassistant-stubs/components/group/light.pyi +1 -1
  105. homeassistant-stubs/components/group/util.pyi +1 -0
  106. homeassistant-stubs/components/group/valve.pyi +47 -0
  107. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  108. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  109. homeassistant-stubs/components/habitica/const.pyi +1 -0
  110. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  111. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  112. homeassistant-stubs/components/habitica/image.pyi +6 -2
  113. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  114. homeassistant-stubs/components/habitica/sensor.pyi +9 -4
  115. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  116. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  117. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  118. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
  119. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  120. homeassistant-stubs/components/home_connect/const.pyi +1 -0
  121. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  122. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  123. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  124. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  125. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
  126. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  127. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  128. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
  129. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  130. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  131. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
  132. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  133. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  135. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  136. homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
  137. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  138. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  139. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  140. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  141. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  142. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  143. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  144. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  145. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  146. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  147. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  148. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  149. homeassistant-stubs/components/inels/const.pyi +7 -0
  150. homeassistant-stubs/components/inels/entity.pyi +20 -0
  151. homeassistant-stubs/components/inels/switch.pyi +34 -0
  152. homeassistant-stubs/components/knx/climate.pyi +23 -11
  153. homeassistant-stubs/components/knx/const.pyi +14 -0
  154. homeassistant-stubs/components/knx/schema.pyi +1 -13
  155. homeassistant-stubs/components/knx/sensor.pyi +8 -9
  156. homeassistant-stubs/components/knx/storage/const.pyi +20 -0
  157. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
  158. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  159. homeassistant-stubs/components/lcn/sensor.pyi +1 -1
  160. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
  161. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +2 -3
  162. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  163. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  164. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  165. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  166. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  167. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  168. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  169. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  170. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  171. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  172. homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
  173. homeassistant-stubs/components/lunatone/light.pyi +43 -0
  174. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  175. homeassistant-stubs/components/matrix/const.pyi +5 -0
  176. homeassistant-stubs/components/matrix/services.pyi +3 -1
  177. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  178. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  179. homeassistant-stubs/components/matter/button.pyi +1 -1
  180. homeassistant-stubs/components/matter/climate.pyi +7 -1
  181. homeassistant-stubs/components/matter/cover.pyi +6 -2
  182. homeassistant-stubs/components/matter/entity.pyi +4 -2
  183. homeassistant-stubs/components/matter/event.pyi +5 -1
  184. homeassistant-stubs/components/matter/fan.pyi +5 -1
  185. homeassistant-stubs/components/matter/light.pyi +6 -2
  186. homeassistant-stubs/components/matter/lock.pyi +5 -1
  187. homeassistant-stubs/components/matter/models.pyi +3 -3
  188. homeassistant-stubs/components/matter/number.pyi +1 -1
  189. homeassistant-stubs/components/matter/select.pyi +1 -1
  190. homeassistant-stubs/components/matter/sensor.pyi +4 -1
  191. homeassistant-stubs/components/matter/services.pyi +11 -0
  192. homeassistant-stubs/components/matter/switch.pyi +5 -2
  193. homeassistant-stubs/components/matter/update.pyi +4 -1
  194. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  195. homeassistant-stubs/components/matter/valve.pyi +6 -2
  196. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  197. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  198. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  199. homeassistant-stubs/components/mcp/const.pyi +1 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  201. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  202. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  203. homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
  204. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  205. homeassistant-stubs/components/media_player/const.pyi +10 -69
  206. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  207. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  208. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  209. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  210. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  211. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  212. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  213. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  214. homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
  215. homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
  216. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  217. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  218. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  219. homeassistant-stubs/components/music_assistant/const.pyi +4 -0
  220. homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
  221. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  222. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  223. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  224. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  225. homeassistant-stubs/components/number/const.pyi +2 -1
  226. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  227. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  228. homeassistant-stubs/components/onewire/const.pyi +0 -2
  229. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  230. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  231. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  232. homeassistant-stubs/components/onewire/select.pyi +3 -10
  233. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  234. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  235. homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
  236. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  237. homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
  238. homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
  239. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  240. homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
  241. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  242. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  243. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  245. homeassistant-stubs/components/ping/entity.pyi +1 -0
  246. homeassistant-stubs/components/portainer/button.pyi +29 -0
  247. homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
  248. homeassistant-stubs/components/portainer/const.pyi +1 -0
  249. homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
  250. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  251. homeassistant-stubs/components/portainer/entity.pyi +2 -0
  252. homeassistant-stubs/components/portainer/sensor.pyi +41 -0
  253. homeassistant-stubs/components/portainer/switch.pyi +35 -0
  254. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  255. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  256. homeassistant-stubs/components/recorder/const.pyi +1 -1
  257. homeassistant-stubs/components/recorder/core.pyi +3 -3
  258. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  259. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  260. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  261. homeassistant-stubs/components/recorder/migration.pyi +4 -1
  262. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  263. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  264. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  265. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
  266. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  267. homeassistant-stubs/components/recorder/util.pyi +1 -1
  268. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  269. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  270. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  271. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  272. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  273. homeassistant-stubs/components/reolink/switch.pyi +25 -7
  274. homeassistant-stubs/components/roborock/__init__.pyi +1 -1
  275. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  276. homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
  277. homeassistant-stubs/components/roborock/entity.pyi +1 -1
  278. homeassistant-stubs/components/roborock/models.pyi +1 -1
  279. homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
  280. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  281. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  282. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  283. homeassistant-stubs/components/sensor/const.pyi +2 -1
  284. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  285. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  286. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  287. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  288. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
  289. homeassistant-stubs/components/sfr_box/button.pyi +4 -9
  290. homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
  291. homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
  292. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  293. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  294. homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
  295. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  296. homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
  297. homeassistant-stubs/components/shelly/button.pyi +26 -16
  298. homeassistant-stubs/components/shelly/climate.pyi +61 -7
  299. homeassistant-stubs/components/shelly/const.pyi +15 -3
  300. homeassistant-stubs/components/shelly/cover.pyi +31 -10
  301. homeassistant-stubs/components/shelly/entity.pyi +5 -4
  302. homeassistant-stubs/components/shelly/event.pyi +4 -0
  303. homeassistant-stubs/components/shelly/light.pyi +23 -7
  304. homeassistant-stubs/components/shelly/number.pyi +11 -2
  305. homeassistant-stubs/components/shelly/repairs.pyi +2 -2
  306. homeassistant-stubs/components/shelly/select.pyi +4 -1
  307. homeassistant-stubs/components/shelly/sensor.pyi +8 -7
  308. homeassistant-stubs/components/shelly/switch.pyi +7 -4
  309. homeassistant-stubs/components/shelly/text.pyi +4 -1
  310. homeassistant-stubs/components/shelly/update.pyi +4 -0
  311. homeassistant-stubs/components/shelly/utils.pyi +10 -5
  312. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  313. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  314. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  315. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  316. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  317. homeassistant-stubs/components/sma/const.pyi +11 -0
  318. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  319. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  320. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  321. homeassistant-stubs/components/sql/__init__.pyi +2 -4
  322. homeassistant-stubs/components/sql/sensor.pyi +6 -13
  323. homeassistant-stubs/components/sql/services.pyi +17 -0
  324. homeassistant-stubs/components/sql/util.pyi +16 -3
  325. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  326. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  327. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  328. homeassistant-stubs/components/squeezebox/const.pyi +0 -1
  329. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  330. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  331. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  332. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  333. homeassistant-stubs/components/sun/condition.pyi +10 -5
  334. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  335. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  336. homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
  337. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  338. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
  339. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  340. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  341. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  342. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  343. homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
  344. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  345. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  346. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  347. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  348. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  349. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  350. homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
  351. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
  352. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  353. homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
  354. homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
  355. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  356. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  357. homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
  358. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  359. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  360. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  361. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  362. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  363. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  364. homeassistant-stubs/components/tolo/button.pyi +3 -5
  365. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  366. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  367. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  368. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  369. homeassistant-stubs/components/tolo/light.pyi +3 -5
  370. homeassistant-stubs/components/tolo/number.pyi +3 -5
  371. homeassistant-stubs/components/tolo/select.pyi +4 -5
  372. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  373. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  374. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  375. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  376. homeassistant-stubs/components/tts/__init__.pyi +2 -3
  377. homeassistant-stubs/components/unifi/light.pyi +44 -0
  378. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  379. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  380. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  381. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  382. homeassistant-stubs/components/usb/__init__.pyi +2 -0
  383. homeassistant-stubs/components/usb/utils.pyi +7 -0
  384. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  385. homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
  386. homeassistant-stubs/components/vivotek/camera.pyi +35 -0
  387. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  388. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  389. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  390. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  391. homeassistant-stubs/components/volvo/__init__.pyi +2 -0
  392. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  393. homeassistant-stubs/components/volvo/button.pyi +27 -0
  394. homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
  395. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  396. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  397. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  398. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  399. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  400. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  401. homeassistant-stubs/components/waqi/const.pyi +1 -1
  402. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  403. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  404. homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
  405. homeassistant-stubs/components/wled/select.pyi +6 -3
  406. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  407. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  408. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  409. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  410. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  411. homeassistant-stubs/components/zone/condition.pyi +10 -4
  412. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
  413. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  414. homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
  415. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
  416. homeassistant-stubs/config_entries.pyi +9 -0
  417. homeassistant-stubs/const.pyi +4 -21
  418. homeassistant-stubs/core.pyi +1 -7
  419. homeassistant-stubs/data_entry_flow.pyi +2 -0
  420. homeassistant-stubs/helpers/automation.pyi +6 -0
  421. homeassistant-stubs/helpers/condition.pyi +15 -5
  422. homeassistant-stubs/helpers/debounce.pyi +6 -1
  423. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  424. homeassistant-stubs/helpers/event.pyi +1 -1
  425. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  426. homeassistant-stubs/helpers/llm.pyi +6 -1
  427. homeassistant-stubs/helpers/selector.pyi +5 -4
  428. homeassistant-stubs/helpers/service.pyi +4 -4
  429. homeassistant-stubs/helpers/template/__init__.pyi +0 -5
  430. homeassistant-stubs/helpers/trigger.pyi +18 -5
  431. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  432. homeassistant-stubs/runner.pyi +1 -1
  433. homeassistant-stubs/util/async_iterator.pyi +33 -0
  434. homeassistant-stubs/util/unit_conversion.pyi +15 -0
  435. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/METADATA +2 -2
  436. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/RECORD +438 -402
  437. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  438. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  439. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  440. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  441. homeassistant-stubs/components/neato/__init__.pyi +0 -15
  442. homeassistant-stubs/components/neato/api.pyi +0 -17
  443. homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
  444. homeassistant-stubs/components/neato/button.pyi +0 -18
  445. homeassistant-stubs/components/neato/camera.pyi +0 -34
  446. homeassistant-stubs/components/neato/config_flow.pyi +0 -15
  447. homeassistant-stubs/components/neato/const.pyi +0 -13
  448. homeassistant-stubs/components/neato/entity.pyi +0 -11
  449. homeassistant-stubs/components/neato/hub.pyi +0 -17
  450. homeassistant-stubs/components/neato/sensor.pyi +0 -30
  451. homeassistant-stubs/components/neato/switch.pyi +0 -34
  452. homeassistant-stubs/components/neato/vacuum.pyi +0 -70
  453. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  454. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  455. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  456. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  457. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/WHEEL +0 -0
  458. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -16,6 +16,9 @@ EVSE_SUPPLY_STATE_MAP: Incomplete
16
16
 
17
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
18
 
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class MatterSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
21
+
19
22
  class MatterSwitch(MatterEntity, SwitchEntity):
20
23
  _platform_translation_key: str
21
24
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -34,13 +37,13 @@ class MatterGenericCommandSwitch(MatterSwitch):
34
37
  def _update_from_device(self) -> None: ...
35
38
  async def send_device_command(self, command: ClusterCommand, command_timeout: int | None = None, **kwargs: Any) -> None: ...
36
39
 
37
- @dataclass(frozen=True)
40
+ @dataclass(frozen=True, kw_only=True)
38
41
  class MatterGenericCommandSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription):
39
42
  on_command: Callable[[], Any] | None = ...
40
43
  off_command: Callable[[], Any] | None = ...
41
44
  command_timeout: int | None = ...
42
45
 
43
- @dataclass(frozen=True)
46
+ @dataclass(frozen=True, kw_only=True)
44
47
  class MatterNumericSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
45
48
 
46
49
  class MatterNumericSwitch(MatterSwitch):
@@ -1,4 +1,4 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
@@ -28,6 +28,9 @@ class MatterUpdateExtraStoredData(ExtraStoredData):
28
28
 
29
29
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
30
 
31
+ @dataclass(frozen=True, kw_only=True)
32
+ class MatterUpdateEntityDescription(UpdateEntityDescription, MatterEntityDescription): ...
33
+
31
34
  class MatterUpdate(MatterEntity, UpdateEntity):
32
35
  _attr_should_poll: bool
33
36
  _software_update: MatterSoftwareVersion | None
@@ -1,8 +1,9 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters import Objects as clusters
6
+ from dataclasses import dataclass
6
7
  from enum import IntEnum
7
8
  from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -28,10 +29,13 @@ class ModeTag(IntEnum):
28
29
 
29
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
31
 
32
+ @dataclass(frozen=True, kw_only=True)
33
+ class MatterStateVacuumEntityDescription(StateVacuumEntityDescription, MatterEntityDescription): ...
34
+
31
35
  class MatterVacuum(MatterEntity, StateVacuumEntity):
32
36
  _last_accepted_commands: list[int] | None
33
37
  _supported_run_modes: dict[int, clusters.RvcRunMode.Structs.ModeOptionStruct] | None
34
- entity_description: StateVacuumEntityDescription
38
+ entity_description: MatterStateVacuumEntityDescription
35
39
  _platform_translation_key: str
36
40
  def _get_run_mode_by_tag(self, tag: ModeTag) -> clusters.RvcRunMode.Structs.ModeOptionStruct | None: ...
37
41
  async def async_stop(self, **kwargs: Any) -> None: ...
@@ -1,7 +1,8 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
+ from dataclasses import dataclass
5
6
  from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import Platform as Platform
@@ -13,9 +14,12 @@ ValveStateEnum: Incomplete
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
16
 
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class MatterValveEntityDescription(ValveEntityDescription, MatterEntityDescription): ...
19
+
16
20
  class MatterValve(MatterEntity, ValveEntity):
17
21
  _feature_map: int | None
18
- entity_description: ValveEntityDescription
22
+ entity_description: MatterValveEntityDescription
19
23
  _platform_translation_key: str
20
24
  async def async_open_valve(self) -> None: ...
21
25
  async def async_close_valve(self) -> None: ...
@@ -1,20 +1,26 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters import Objects as clusters
6
+ from dataclasses import dataclass
6
7
  from homeassistant.components.water_heater import STATE_ECO as STATE_ECO, STATE_HIGH_DEMAND as STATE_HIGH_DEMAND, STATE_OFF as STATE_OFF, WaterHeaterEntity as WaterHeaterEntity, WaterHeaterEntityDescription as WaterHeaterEntityDescription, WaterHeaterEntityFeature as WaterHeaterEntityFeature
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
13
  from typing import Any
12
14
 
13
15
  TEMPERATURE_SCALING_FACTOR: int
14
16
  WATER_HEATER_SYSTEM_MODE_MAP: Incomplete
17
+ DEFAULT_BOOST_DURATION: int
15
18
 
16
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
20
 
21
+ @dataclass(frozen=True, kw_only=True)
22
+ class MatterWaterHeaterEntityDescription(WaterHeaterEntityDescription, MatterEntityDescription): ...
23
+
18
24
  class MatterWaterHeater(MatterEntity, WaterHeaterEntity):
19
25
  _attr_current_temperature: float | None
20
26
  _attr_current_operation: str
@@ -24,6 +30,7 @@ class MatterWaterHeater(MatterEntity, WaterHeaterEntity):
24
30
  _attr_target_temperature: float | None
25
31
  _attr_temperature_unit: Incomplete
26
32
  _platform_translation_key: str
33
+ async def async_set_boost(self, duration: int, emergency_boost: bool = False, temporary_setpoint: int | None = None) -> None: ...
27
34
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
28
35
  async def async_set_operation_mode(self, operation_mode: str) -> None: ...
29
36
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -1,14 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import ModelContextProtocolCoordinator
3
- from .types import ModelContextProtocolConfigEntry
4
3
  from dataclasses import dataclass
5
- from homeassistant.core import HomeAssistant
6
4
  from homeassistant.helpers import llm
7
5
 
8
- __all__ = ['DOMAIN', 'async_setup_entry', 'async_unload_entry']
9
-
10
- async def async_setup_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ModelContextProtocolConfigEntry) -> bool: ...
6
+ __all__ = ['DOMAIN']
12
7
 
13
8
  @dataclass(kw_only=True)
14
9
  class ModelContextProtocolAPI(llm.API):
@@ -1,9 +1,10 @@
1
1
  from . import async_get_config_entry_implementation as async_get_config_entry_implementation
2
2
  from .application_credentials import authorization_server_context as authorization_server_context
3
- from .const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_AUTHORIZATION_URL as CONF_AUTHORIZATION_URL, CONF_TOKEN_URL as CONF_TOKEN_URL, DOMAIN as DOMAIN
3
+ from .const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_AUTHORIZATION_URL as CONF_AUTHORIZATION_URL, CONF_SCOPE as CONF_SCOPE, CONF_TOKEN_URL as CONF_TOKEN_URL, DOMAIN as DOMAIN
4
4
  from .coordinator import TokenManager as TokenManager, mcp_client as mcp_client
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
+ from dataclasses import dataclass
7
8
  from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
8
9
  from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
9
10
  from homeassistant.const import CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL
@@ -16,8 +17,14 @@ _LOGGER: Incomplete
16
17
  STEP_USER_DATA_SCHEMA: Incomplete
17
18
  OAUTH_DISCOVERY_ENDPOINT: str
18
19
  MCP_DISCOVERY_HEADERS: Incomplete
20
+ EXAMPLE_URL: str
19
21
 
20
- async def async_discover_oauth_config(hass: HomeAssistant, mcp_server_url: str) -> AuthorizationServer: ...
22
+ @dataclass
23
+ class OAuthConfig:
24
+ authorization_server: AuthorizationServer
25
+ scopes: list[str] | None = ...
26
+
27
+ async def async_discover_oauth_config(hass: HomeAssistant, mcp_server_url: str) -> OAuthConfig: ...
21
28
  async def validate_input(hass: HomeAssistant, data: dict[str, Any], token_manager: TokenManager | None = None) -> dict[str, Any]: ...
22
29
 
23
30
  class ModelContextProtocolConfigFlow(AbstractOAuth2FlowHandler, domain=DOMAIN):
@@ -25,10 +32,13 @@ class ModelContextProtocolConfigFlow(AbstractOAuth2FlowHandler, domain=DOMAIN):
25
32
  DOMAIN = DOMAIN
26
33
  logger = _LOGGER
27
34
  data: dict[str, Any]
35
+ oauth_config: OAuthConfig | None
28
36
  def __init__(self) -> None: ...
29
37
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
38
  async def async_step_auth_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
39
  def authorization_server(self) -> AuthorizationServer: ...
40
+ @property
41
+ def extra_authorize_data(self) -> dict: ...
32
42
  async def async_step_credentials_choice(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
43
  async def async_step_new_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
44
  async def async_step_pick_implementation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,3 +2,4 @@ DOMAIN: str
2
2
  CONF_ACCESS_TOKEN: str
3
3
  CONF_AUTHORIZATION_URL: str
4
4
  CONF_TOKEN_URL: str
5
+ CONF_SCOPE: str
@@ -15,7 +15,7 @@ from mcp.client.session import ClientSession
15
15
  _LOGGER: Incomplete
16
16
  UPDATE_INTERVAL: Incomplete
17
17
  TIMEOUT: int
18
- TokenManager = Callable[[], Awaitable[str]]
18
+ type TokenManager = Callable[[], Awaitable[str]]
19
19
 
20
20
  @asynccontextmanager
21
21
  async def mcp_client(url: str, token_manager: TokenManager | None = None) -> AsyncGenerator[ClientSession]: ...
@@ -1,13 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .types import MCPServerConfigEntry
3
2
  from _typeshed import Incomplete
4
- from homeassistant.core import HomeAssistant
5
- from homeassistant.helpers.typing import ConfigType
6
3
 
7
- __all__ = ['CONFIG_SCHEMA', 'DOMAIN', 'async_setup', 'async_setup_entry', 'async_unload_entry']
4
+ __all__ = ['CONFIG_SCHEMA', 'DOMAIN']
8
5
 
9
6
  CONFIG_SCHEMA: Incomplete
10
-
11
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
12
- async def async_setup_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
13
- async def async_unload_entry(hass: HomeAssistant, entry: MCPServerConfigEntry) -> bool: ...
@@ -5,13 +5,19 @@ from .types import MCPServerConfigEntry as MCPServerConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from aiohttp import web
7
7
  from anyio.streams.memory import MemoryObjectReceiveStream as MemoryObjectReceiveStream, MemoryObjectSendStream as MemoryObjectSendStream
8
+ from dataclasses import dataclass
8
9
  from homeassistant.components import conversation as conversation
9
10
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
10
11
  from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
11
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
12
13
  from homeassistant.helpers import llm as llm
14
+ from mcp.server import InitializationOptions as InitializationOptions, Server as Server
15
+ from mcp.shared.message import SessionMessage
13
16
 
14
17
  _LOGGER: Incomplete
18
+ STREAMABLE_API: str
19
+ TIMEOUT: int
20
+ CONTENT_TYPE_JSON: str
15
21
  SSE_API: Incomplete
16
22
  MESSAGES_API: Incomplete
17
23
 
@@ -19,6 +25,16 @@ MESSAGES_API: Incomplete
19
25
  def async_register(hass: HomeAssistant) -> None: ...
20
26
  def async_get_config_entry(hass: HomeAssistant) -> MCPServerConfigEntry: ...
21
27
 
28
+ @dataclass
29
+ class Streams:
30
+ read_stream: MemoryObjectReceiveStream[SessionMessage | Exception]
31
+ read_stream_writer: MemoryObjectSendStream[SessionMessage | Exception]
32
+ write_stream: MemoryObjectSendStream[SessionMessage]
33
+ write_stream_reader: MemoryObjectReceiveStream[SessionMessage]
34
+
35
+ def create_streams() -> Streams: ...
36
+ async def create_mcp_server(hass: HomeAssistant, context: Context, entry: MCPServerConfigEntry) -> tuple[Server, InitializationOptions]: ...
37
+
22
38
  class ModelContextProtocolSSEView(HomeAssistantView):
23
39
  name: Incomplete
24
40
  url = SSE_API
@@ -28,3 +44,9 @@ class ModelContextProtocolMessagesView(HomeAssistantView):
28
44
  name: Incomplete
29
45
  url = MESSAGES_API
30
46
  async def post(self, request: web.Request, session_id: str) -> web.StreamResponse: ...
47
+
48
+ class ModelContextProtocolStreamableView(HomeAssistantView):
49
+ name: Incomplete
50
+ url = STREAMABLE_API
51
+ async def get(self, request: web.Request) -> web.StreamResponse: ...
52
+ async def post(self, request: web.Request) -> web.StreamResponse: ...
@@ -3,19 +3,26 @@ from .utils import create_version as create_version
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
- from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_HOST as CONF_HOST, CONF_VERIFY_SSL as CONF_VERIFY_SSL
6
+ from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_VERIFY_SSL as CONF_VERIFY_SSL
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
8
9
  from typing import Any
9
10
 
10
11
  USER_SCHEMA: Incomplete
11
12
  REAUTH_SCHEMA: Incomplete
13
+ DISCOVERY_SCHEMA: Incomplete
12
14
  EXAMPLE_URL: str
13
15
 
14
16
  class MealieConfigFlow(ConfigFlow, domain=DOMAIN):
17
+ VERSION: int
15
18
  host: str | None
16
19
  verify_ssl: bool
20
+ _hassio_discovery: dict[str, Any] | None
17
21
  async def check_connection(self, api_token: str) -> tuple[dict[str, str], str | None]: ...
18
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
23
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
20
24
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
25
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
27
+ async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
+ async def _show_hassio_form(self, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -3,7 +3,7 @@ import collections
3
3
  import datetime as dt
4
4
  import logging
5
5
  from .browse_media import BrowseMedia as BrowseMedia, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
6
- from .const import ATTR_APP_ID as ATTR_APP_ID, ATTR_APP_NAME as ATTR_APP_NAME, ATTR_ENTITY_PICTURE_LOCAL as ATTR_ENTITY_PICTURE_LOCAL, ATTR_GROUP_MEMBERS as ATTR_GROUP_MEMBERS, ATTR_INPUT_SOURCE as ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST as ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_ALBUM_ARTIST as ATTR_MEDIA_ALBUM_ARTIST, ATTR_MEDIA_ALBUM_NAME as ATTR_MEDIA_ALBUM_NAME, ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_ARTIST as ATTR_MEDIA_ARTIST, ATTR_MEDIA_CHANNEL as ATTR_MEDIA_CHANNEL, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_DURATION as ATTR_MEDIA_DURATION, ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EPISODE as ATTR_MEDIA_EPISODE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_PLAYLIST as ATTR_MEDIA_PLAYLIST, ATTR_MEDIA_POSITION as ATTR_MEDIA_POSITION, ATTR_MEDIA_POSITION_UPDATED_AT as ATTR_MEDIA_POSITION_UPDATED_AT, ATTR_MEDIA_REPEAT as ATTR_MEDIA_REPEAT, ATTR_MEDIA_SEARCH_QUERY as ATTR_MEDIA_SEARCH_QUERY, ATTR_MEDIA_SEASON as ATTR_MEDIA_SEASON, ATTR_MEDIA_SEEK_POSITION as ATTR_MEDIA_SEEK_POSITION, ATTR_MEDIA_SERIES_TITLE as ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_SHUFFLE as ATTR_MEDIA_SHUFFLE, ATTR_MEDIA_TITLE as ATTR_MEDIA_TITLE, ATTR_MEDIA_TRACK as ATTR_MEDIA_TRACK, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, ATTR_SOUND_MODE as ATTR_SOUND_MODE, ATTR_SOUND_MODE_LIST as ATTR_SOUND_MODE_LIST, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, DOMAIN as DOMAIN, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, REPEAT_MODES as REPEAT_MODES, RepeatMode as RepeatMode, SERVICE_BROWSE_MEDIA as SERVICE_BROWSE_MEDIA, SERVICE_CLEAR_PLAYLIST as SERVICE_CLEAR_PLAYLIST, SERVICE_JOIN as SERVICE_JOIN, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SERVICE_SELECT_SOUND_MODE as SERVICE_SELECT_SOUND_MODE, SERVICE_SELECT_SOURCE as SERVICE_SELECT_SOURCE, SERVICE_UNJOIN as SERVICE_UNJOIN, _DEPRECATED_MEDIA_CLASS_DIRECTORY as _DEPRECATED_MEDIA_CLASS_DIRECTORY, _DEPRECATED_SUPPORT_BROWSE_MEDIA as _DEPRECATED_SUPPORT_BROWSE_MEDIA, _DEPRECATED_SUPPORT_CLEAR_PLAYLIST as _DEPRECATED_SUPPORT_CLEAR_PLAYLIST, _DEPRECATED_SUPPORT_GROUPING as _DEPRECATED_SUPPORT_GROUPING, _DEPRECATED_SUPPORT_NEXT_TRACK as _DEPRECATED_SUPPORT_NEXT_TRACK, _DEPRECATED_SUPPORT_PAUSE as _DEPRECATED_SUPPORT_PAUSE, _DEPRECATED_SUPPORT_PLAY as _DEPRECATED_SUPPORT_PLAY, _DEPRECATED_SUPPORT_PLAY_MEDIA as _DEPRECATED_SUPPORT_PLAY_MEDIA, _DEPRECATED_SUPPORT_PREVIOUS_TRACK as _DEPRECATED_SUPPORT_PREVIOUS_TRACK, _DEPRECATED_SUPPORT_REPEAT_SET as _DEPRECATED_SUPPORT_REPEAT_SET, _DEPRECATED_SUPPORT_SEEK as _DEPRECATED_SUPPORT_SEEK, _DEPRECATED_SUPPORT_SELECT_SOUND_MODE as _DEPRECATED_SUPPORT_SELECT_SOUND_MODE, _DEPRECATED_SUPPORT_SELECT_SOURCE as _DEPRECATED_SUPPORT_SELECT_SOURCE, _DEPRECATED_SUPPORT_SHUFFLE_SET as _DEPRECATED_SUPPORT_SHUFFLE_SET, _DEPRECATED_SUPPORT_STOP as _DEPRECATED_SUPPORT_STOP, _DEPRECATED_SUPPORT_TURN_OFF as _DEPRECATED_SUPPORT_TURN_OFF, _DEPRECATED_SUPPORT_TURN_ON as _DEPRECATED_SUPPORT_TURN_ON, _DEPRECATED_SUPPORT_VOLUME_MUTE as _DEPRECATED_SUPPORT_VOLUME_MUTE, _DEPRECATED_SUPPORT_VOLUME_SET as _DEPRECATED_SUPPORT_VOLUME_SET, _DEPRECATED_SUPPORT_VOLUME_STEP as _DEPRECATED_SUPPORT_VOLUME_STEP
6
+ from .const import ATTR_APP_ID as ATTR_APP_ID, ATTR_APP_NAME as ATTR_APP_NAME, ATTR_ENTITY_PICTURE_LOCAL as ATTR_ENTITY_PICTURE_LOCAL, ATTR_GROUP_MEMBERS as ATTR_GROUP_MEMBERS, ATTR_INPUT_SOURCE as ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST as ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_ALBUM_ARTIST as ATTR_MEDIA_ALBUM_ARTIST, ATTR_MEDIA_ALBUM_NAME as ATTR_MEDIA_ALBUM_NAME, ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_ARTIST as ATTR_MEDIA_ARTIST, ATTR_MEDIA_CHANNEL as ATTR_MEDIA_CHANNEL, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_DURATION as ATTR_MEDIA_DURATION, ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EPISODE as ATTR_MEDIA_EPISODE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_PLAYLIST as ATTR_MEDIA_PLAYLIST, ATTR_MEDIA_POSITION as ATTR_MEDIA_POSITION, ATTR_MEDIA_POSITION_UPDATED_AT as ATTR_MEDIA_POSITION_UPDATED_AT, ATTR_MEDIA_REPEAT as ATTR_MEDIA_REPEAT, ATTR_MEDIA_SEARCH_QUERY as ATTR_MEDIA_SEARCH_QUERY, ATTR_MEDIA_SEASON as ATTR_MEDIA_SEASON, ATTR_MEDIA_SEEK_POSITION as ATTR_MEDIA_SEEK_POSITION, ATTR_MEDIA_SERIES_TITLE as ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_SHUFFLE as ATTR_MEDIA_SHUFFLE, ATTR_MEDIA_TITLE as ATTR_MEDIA_TITLE, ATTR_MEDIA_TRACK as ATTR_MEDIA_TRACK, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, ATTR_SOUND_MODE as ATTR_SOUND_MODE, ATTR_SOUND_MODE_LIST as ATTR_SOUND_MODE_LIST, CONTENT_AUTH_EXPIRY_TIME as CONTENT_AUTH_EXPIRY_TIME, DOMAIN as DOMAIN, INTENT_MEDIA_SEARCH_AND_PLAY as INTENT_MEDIA_SEARCH_AND_PLAY, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, REPEAT_MODES as REPEAT_MODES, RepeatMode as RepeatMode, SERVICE_BROWSE_MEDIA as SERVICE_BROWSE_MEDIA, SERVICE_CLEAR_PLAYLIST as SERVICE_CLEAR_PLAYLIST, SERVICE_JOIN as SERVICE_JOIN, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SERVICE_SELECT_SOUND_MODE as SERVICE_SELECT_SOUND_MODE, SERVICE_SELECT_SOURCE as SERVICE_SELECT_SOURCE, SERVICE_UNJOIN as SERVICE_UNJOIN
7
7
  from .errors import BrowseError as BrowseError, SearchError as SearchError
8
8
  from _typeshed import Incomplete
9
9
  from aiohttp import web
@@ -18,7 +18,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
18
18
  from homeassistant.const import ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PLAY_PAUSE as SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_MEDIA_SEEK as SERVICE_MEDIA_SEEK, SERVICE_MEDIA_STOP as SERVICE_MEDIA_STOP, SERVICE_REPEAT_SET as SERVICE_REPEAT_SET, SERVICE_SHUFFLE_SET as SERVICE_SHUFFLE_SET, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, SERVICE_VOLUME_DOWN as SERVICE_VOLUME_DOWN, SERVICE_VOLUME_MUTE as SERVICE_VOLUME_MUTE, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, SERVICE_VOLUME_UP as SERVICE_VOLUME_UP, STATE_IDLE as STATE_IDLE, STATE_OFF as STATE_OFF, STATE_PLAYING as STATE_PLAYING, STATE_STANDBY as STATE_STANDBY
19
19
  from homeassistant.core import HomeAssistant as HomeAssistant, SupportsResponse as SupportsResponse
20
20
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
21
- from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
22
21
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
23
22
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
24
23
  from homeassistant.helpers.network import get_url as get_url
@@ -53,9 +52,6 @@ class MediaPlayerDeviceClass(StrEnum):
53
52
  RECEIVER = 'receiver'
54
53
 
55
54
  DEVICE_CLASSES_SCHEMA: Incomplete
56
- _DEPRECATED_DEVICE_CLASS_TV: Incomplete
57
- _DEPRECATED_DEVICE_CLASS_SPEAKER: Incomplete
58
- _DEPRECATED_DEVICE_CLASS_RECEIVER: Incomplete
59
55
  DEVICE_CLASSES: Incomplete
60
56
 
61
57
  def _promote_media_fields(data: dict[str, Any]) -> dict[str, Any]: ...
@@ -312,7 +308,3 @@ async def websocket_search_media(hass: HomeAssistant, connection: websocket_api.
312
308
  _FETCH_TIMEOUT: Incomplete
313
309
 
314
310
  async def async_fetch_image(logger: logging.Logger, hass: HomeAssistant, url: str) -> tuple[bytes | None, str | None]: ...
315
-
316
- __getattr__: Incomplete
317
- __dir__: Incomplete
318
- __all__: Incomplete
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import IntFlag, StrEnum
3
- from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
3
+ from homeassistant.helpers.deprecation import EnumWithDeprecatedMembers as EnumWithDeprecatedMembers
4
4
 
5
5
  CONTENT_AUTH_EXPIRY_TIME: Incomplete
6
6
  ATTR_APP_ID: str
@@ -37,6 +37,15 @@ ATTR_MEDIA_VOLUME_MUTED: str
37
37
  ATTR_SOUND_MODE: str
38
38
  ATTR_SOUND_MODE_LIST: str
39
39
  DOMAIN: str
40
+ INTENT_MEDIA_PAUSE: str
41
+ INTENT_MEDIA_UNPAUSE: str
42
+ INTENT_MEDIA_NEXT: str
43
+ INTENT_MEDIA_PREVIOUS: str
44
+ INTENT_PLAYER_MUTE: str
45
+ INTENT_PLAYER_UNMUTE: str
46
+ INTENT_SET_VOLUME: str
47
+ INTENT_SET_VOLUME_RELATIVE: str
48
+ INTENT_MEDIA_SEARCH_AND_PLAY: str
40
49
 
41
50
  class MediaPlayerState(StrEnum, deprecated={'STANDBY': ('MediaPlayerState.OFF or MediaPlayerState.IDLE', '2026.8.0')}, metaclass=EnumWithDeprecatedMembers):
42
51
  OFF = 'off'
@@ -69,27 +78,6 @@ class MediaClass(StrEnum):
69
78
  URL = 'url'
70
79
  VIDEO = 'video'
71
80
 
72
- _DEPRECATED_MEDIA_CLASS_ALBUM: Incomplete
73
- _DEPRECATED_MEDIA_CLASS_APP: Incomplete
74
- _DEPRECATED_MEDIA_CLASS_ARTIST: Incomplete
75
- _DEPRECATED_MEDIA_CLASS_CHANNEL: Incomplete
76
- _DEPRECATED_MEDIA_CLASS_COMPOSER: Incomplete
77
- _DEPRECATED_MEDIA_CLASS_CONTRIBUTING_ARTIST: Incomplete
78
- _DEPRECATED_MEDIA_CLASS_DIRECTORY: Incomplete
79
- _DEPRECATED_MEDIA_CLASS_EPISODE: Incomplete
80
- _DEPRECATED_MEDIA_CLASS_GAME: Incomplete
81
- _DEPRECATED_MEDIA_CLASS_GENRE: Incomplete
82
- _DEPRECATED_MEDIA_CLASS_IMAGE: Incomplete
83
- _DEPRECATED_MEDIA_CLASS_MOVIE: Incomplete
84
- _DEPRECATED_MEDIA_CLASS_MUSIC: Incomplete
85
- _DEPRECATED_MEDIA_CLASS_PLAYLIST: Incomplete
86
- _DEPRECATED_MEDIA_CLASS_PODCAST: Incomplete
87
- _DEPRECATED_MEDIA_CLASS_SEASON: Incomplete
88
- _DEPRECATED_MEDIA_CLASS_TRACK: Incomplete
89
- _DEPRECATED_MEDIA_CLASS_TV_SHOW: Incomplete
90
- _DEPRECATED_MEDIA_CLASS_URL: Incomplete
91
- _DEPRECATED_MEDIA_CLASS_VIDEO: Incomplete
92
-
93
81
  class MediaType(StrEnum):
94
82
  ALBUM = 'album'
95
83
  APP = 'app'
@@ -113,27 +101,6 @@ class MediaType(StrEnum):
113
101
  URL = 'url'
114
102
  VIDEO = 'video'
115
103
 
116
- _DEPRECATED_MEDIA_TYPE_ALBUM: Incomplete
117
- _DEPRECATED_MEDIA_TYPE_APP: Incomplete
118
- _DEPRECATED_MEDIA_TYPE_APPS: Incomplete
119
- _DEPRECATED_MEDIA_TYPE_ARTIST: Incomplete
120
- _DEPRECATED_MEDIA_TYPE_CHANNEL: Incomplete
121
- _DEPRECATED_MEDIA_TYPE_CHANNELS: Incomplete
122
- _DEPRECATED_MEDIA_TYPE_COMPOSER: Incomplete
123
- _DEPRECATED_MEDIA_TYPE_CONTRIBUTING_ARTIST: Incomplete
124
- _DEPRECATED_MEDIA_TYPE_EPISODE: Incomplete
125
- _DEPRECATED_MEDIA_TYPE_GAME: Incomplete
126
- _DEPRECATED_MEDIA_TYPE_GENRE: Incomplete
127
- _DEPRECATED_MEDIA_TYPE_IMAGE: Incomplete
128
- _DEPRECATED_MEDIA_TYPE_MOVIE: Incomplete
129
- _DEPRECATED_MEDIA_TYPE_MUSIC: Incomplete
130
- _DEPRECATED_MEDIA_TYPE_PLAYLIST: Incomplete
131
- _DEPRECATED_MEDIA_TYPE_PODCAST: Incomplete
132
- _DEPRECATED_MEDIA_TYPE_SEASON: Incomplete
133
- _DEPRECATED_MEDIA_TYPE_TRACK: Incomplete
134
- _DEPRECATED_MEDIA_TYPE_TVSHOW: Incomplete
135
- _DEPRECATED_MEDIA_TYPE_URL: Incomplete
136
- _DEPRECATED_MEDIA_TYPE_VIDEO: Incomplete
137
104
  SERVICE_CLEAR_PLAYLIST: str
138
105
  SERVICE_JOIN: str
139
106
  SERVICE_PLAY_MEDIA: str
@@ -148,9 +115,6 @@ class RepeatMode(StrEnum):
148
115
  OFF = 'off'
149
116
  ONE = 'one'
150
117
 
151
- _DEPRECATED_REPEAT_MODE_ALL: Incomplete
152
- _DEPRECATED_REPEAT_MODE_OFF: Incomplete
153
- _DEPRECATED_REPEAT_MODE_ONE: Incomplete
154
118
  REPEAT_MODES: Incomplete
155
119
 
156
120
  class MediaPlayerEntityFeature(IntFlag):
@@ -176,26 +140,3 @@ class MediaPlayerEntityFeature(IntFlag):
176
140
  MEDIA_ANNOUNCE = 1048576
177
141
  MEDIA_ENQUEUE = 2097152
178
142
  SEARCH_MEDIA = 4194304
179
-
180
- _DEPRECATED_SUPPORT_PAUSE: Incomplete
181
- _DEPRECATED_SUPPORT_SEEK: Incomplete
182
- _DEPRECATED_SUPPORT_VOLUME_SET: Incomplete
183
- _DEPRECATED_SUPPORT_VOLUME_MUTE: Incomplete
184
- _DEPRECATED_SUPPORT_PREVIOUS_TRACK: Incomplete
185
- _DEPRECATED_SUPPORT_NEXT_TRACK: Incomplete
186
- _DEPRECATED_SUPPORT_TURN_ON: Incomplete
187
- _DEPRECATED_SUPPORT_TURN_OFF: Incomplete
188
- _DEPRECATED_SUPPORT_PLAY_MEDIA: Incomplete
189
- _DEPRECATED_SUPPORT_VOLUME_STEP: Incomplete
190
- _DEPRECATED_SUPPORT_SELECT_SOURCE: Incomplete
191
- _DEPRECATED_SUPPORT_STOP: Incomplete
192
- _DEPRECATED_SUPPORT_CLEAR_PLAYLIST: Incomplete
193
- _DEPRECATED_SUPPORT_PLAY: Incomplete
194
- _DEPRECATED_SUPPORT_SHUFFLE_SET: Incomplete
195
- _DEPRECATED_SUPPORT_SELECT_SOUND_MODE: Incomplete
196
- _DEPRECATED_SUPPORT_BROWSE_MEDIA: Incomplete
197
- _DEPRECATED_SUPPORT_REPEAT_SET: Incomplete
198
- _DEPRECATED_SUPPORT_GROUPING: Incomplete
199
- __getattr__: Incomplete
200
- __dir__: Incomplete
201
- __all__: Incomplete
@@ -1,22 +1,15 @@
1
1
  from . import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity
2
2
  from .browse_media import SearchMedia as SearchMedia
3
- from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA
3
+ from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, DOMAIN as DOMAIN, INTENT_MEDIA_NEXT as INTENT_MEDIA_NEXT, INTENT_MEDIA_PAUSE as INTENT_MEDIA_PAUSE, INTENT_MEDIA_PREVIOUS as INTENT_MEDIA_PREVIOUS, INTENT_MEDIA_SEARCH_AND_PLAY as INTENT_MEDIA_SEARCH_AND_PLAY, INTENT_MEDIA_UNPAUSE as INTENT_MEDIA_UNPAUSE, INTENT_PLAYER_MUTE as INTENT_PLAYER_MUTE, INTENT_PLAYER_UNMUTE as INTENT_PLAYER_UNMUTE, INTENT_SET_VOLUME as INTENT_SET_VOLUME, INTENT_SET_VOLUME_RELATIVE as INTENT_SET_VOLUME_RELATIVE, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Iterable
6
6
  from dataclasses import dataclass, field
7
- from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_PLAYING as STATE_PLAYING
7
+ from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_VOLUME_MUTE as SERVICE_VOLUME_MUTE, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_PLAYING as STATE_PLAYING
8
8
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers import intent as intent
11
11
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
12
12
 
13
- INTENT_MEDIA_PAUSE: str
14
- INTENT_MEDIA_UNPAUSE: str
15
- INTENT_MEDIA_NEXT: str
16
- INTENT_MEDIA_PREVIOUS: str
17
- INTENT_SET_VOLUME: str
18
- INTENT_SET_VOLUME_RELATIVE: str
19
- INTENT_MEDIA_SEARCH_AND_PLAY: str
20
13
  _LOGGER: Incomplete
21
14
 
22
15
  @dataclass
@@ -40,6 +33,11 @@ class MediaUnpauseHandler(intent.ServiceIntentHandler):
40
33
  def __init__(self, last_paused: LastPaused) -> None: ...
41
34
  async def async_handle_states(self, intent_obj: intent.Intent, match_result: intent.MatchTargetsResult, match_constraints: intent.MatchTargetsConstraints, match_preferences: intent.MatchTargetsPreferences | None = None) -> intent.IntentResponse: ...
42
35
 
36
+ class MediaPlayerMuteUnmuteHandler(intent.ServiceIntentHandler):
37
+ is_volume_muted: Incomplete
38
+ def __init__(self, is_volume_muted: bool) -> None: ...
39
+ async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
40
+
43
41
  class MediaSearchAndPlayHandler(intent.IntentHandler):
44
42
  description: str
45
43
  intent_type = INTENT_MEDIA_SEARCH_AND_PLAY
@@ -1,6 +1,7 @@
1
1
  from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR
2
2
  from .helpers import fetch_data as fetch_data
3
3
  from _typeshed import Incomplete
4
+ from datapoint.Forecast import Forecast as Forecast
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, Platform as Platform
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -1,11 +1,11 @@
1
- import datapoint
2
1
  from _typeshed import Incomplete
3
2
  from datapoint.Forecast import Forecast as Forecast
3
+ from datapoint.Manager import Manager as Manager
4
4
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
5
5
  from homeassistant.helpers.update_coordinator import UpdateFailed as UpdateFailed
6
6
  from typing import Any, Literal
7
7
 
8
8
  _LOGGER: Incomplete
9
9
 
10
- def fetch_data(connection: datapoint.Manager, latitude: float, longitude: float, frequency: Literal['daily', 'twice-daily', 'hourly']) -> Forecast: ...
10
+ def fetch_data(connection: Manager, latitude: float, longitude: float, frequency: Literal['daily', 'twice-daily', 'hourly']) -> Forecast: ...
11
11
  def get_attribute(data: dict[str, Any] | None, attr_name: str) -> Any | None: ...
@@ -2,8 +2,8 @@ from . import get_device_info as get_device_info
2
2
  from .const import ATTRIBUTION as ATTRIBUTION, CONDITION_MAP as CONDITION_MAP, DAILY_FORECAST_ATTRIBUTE_MAP as DAILY_FORECAST_ATTRIBUTE_MAP, DAY_FORECAST_ATTRIBUTE_MAP as DAY_FORECAST_ATTRIBUTE_MAP, DOMAIN as DOMAIN, HOURLY_FORECAST_ATTRIBUTE_MAP as HOURLY_FORECAST_ATTRIBUTE_MAP, METOFFICE_COORDINATES as METOFFICE_COORDINATES, METOFFICE_DAILY_COORDINATOR as METOFFICE_DAILY_COORDINATOR, METOFFICE_HOURLY_COORDINATOR as METOFFICE_HOURLY_COORDINATOR, METOFFICE_NAME as METOFFICE_NAME, METOFFICE_TWICE_DAILY_COORDINATOR as METOFFICE_TWICE_DAILY_COORDINATOR, NIGHT_FORECAST_ATTRIBUTE_MAP as NIGHT_FORECAST_ATTRIBUTE_MAP
3
3
  from .helpers import get_attribute as get_attribute
4
4
  from _typeshed import Incomplete
5
- from datapoint.Forecast import Forecast as ForecastData
6
- from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as Forecast, WeatherEntityFeature as WeatherEntityFeature
5
+ from datapoint.Forecast import Forecast
6
+ from homeassistant.components.weather import ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION as ATTR_FORECAST_PRECIPITATION, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as WeatherForecast, WeatherEntityFeature as WeatherEntityFeature
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -12,12 +12,12 @@ from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordina
12
12
  from typing import Any
13
13
 
14
14
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
- def _build_hourly_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
16
- def _build_daily_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
17
- def _build_twice_daily_forecast_data(timestep: dict[str, Any]) -> Forecast: ...
18
- def _populate_forecast_data(forecast: Forecast, timestep: dict[str, Any], mapping: dict[str, str]) -> None: ...
15
+ def _build_hourly_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
16
+ def _build_daily_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
17
+ def _build_twice_daily_forecast_data(timestep: dict[str, Any]) -> WeatherForecast: ...
18
+ def _populate_forecast_data(forecast: WeatherForecast, timestep: dict[str, Any], mapping: dict[str, str]) -> None: ...
19
19
 
20
- class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[ForecastData], TimestampDataUpdateCoordinator[ForecastData], TimestampDataUpdateCoordinator[ForecastData]]):
20
+ class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[Forecast], TimestampDataUpdateCoordinator[Forecast], TimestampDataUpdateCoordinator[Forecast]]):
21
21
  _attr_attribution = ATTRIBUTION
22
22
  _attr_has_entity_name: bool
23
23
  _attr_name: Incomplete
@@ -29,7 +29,7 @@ class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[F
29
29
  _attr_supported_features: Incomplete
30
30
  _attr_device_info: Incomplete
31
31
  _attr_unique_id: Incomplete
32
- def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[ForecastData], coordinator_hourly: TimestampDataUpdateCoordinator[ForecastData], coordinator_twice_daily: TimestampDataUpdateCoordinator[ForecastData], hass_data: dict[str, Any]) -> None: ...
32
+ def __init__(self, coordinator_daily: TimestampDataUpdateCoordinator[Forecast], coordinator_hourly: TimestampDataUpdateCoordinator[Forecast], coordinator_twice_daily: TimestampDataUpdateCoordinator[Forecast], hass_data: dict[str, Any]) -> None: ...
33
33
  @property
34
34
  def condition(self) -> str | None: ...
35
35
  @property
@@ -49,8 +49,8 @@ class MetOfficeWeather(CoordinatorWeatherEntity[TimestampDataUpdateCoordinator[F
49
49
  @property
50
50
  def wind_bearing(self) -> float | None: ...
51
51
  @callback
52
- def _async_forecast_daily(self) -> list[Forecast] | None: ...
52
+ def _async_forecast_daily(self) -> list[WeatherForecast] | None: ...
53
53
  @callback
54
- def _async_forecast_hourly(self) -> list[Forecast] | None: ...
54
+ def _async_forecast_hourly(self) -> list[WeatherForecast] | None: ...
55
55
  @callback
56
- def _async_forecast_twice_daily(self) -> list[Forecast] | None: ...
56
+ def _async_forecast_twice_daily(self) -> list[WeatherForecast] | None: ...
@@ -6,5 +6,4 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  PLATFORMS: Incomplete
7
7
 
8
8
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
- async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
10
9
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -15,4 +15,5 @@ OPTIONS_FLOW: Incomplete
15
15
  class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
16
16
  config_flow = CONFIG_FLOW
17
17
  options_flow = OPTIONS_FLOW
18
+ options_flow_reloads: bool
18
19
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -13,5 +13,4 @@ _LOGGER: Incomplete
13
13
 
14
14
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
15
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
16
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
17
16
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -22,6 +22,7 @@ OPTIONS_FLOW: Incomplete
22
22
  class MoldIndicatorConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
23
23
  config_flow = CONFIG_FLOW
24
24
  options_flow = OPTIONS_FLOW
25
+ options_flow_reloads: bool
25
26
  VERSION: int
26
27
  MINOR_VERSION: int
27
28
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -15,12 +15,10 @@ from homeassistant.setup import SetupPhases as SetupPhases
15
15
  from homeassistant.util.async_ import create_eager_task as create_eager_task
16
16
  from typing import Any
17
17
 
18
- __all__ = ['ATTR_PAYLOAD', 'ATTR_QOS', 'ATTR_RETAIN', 'ATTR_TOPIC', 'CONFIG_ENTRY_MINOR_VERSION', 'CONFIG_ENTRY_VERSION', 'CONF_BIRTH_MESSAGE', 'CONF_BROKER', 'CONF_CERTIFICATE', 'CONF_CLIENT_CERT', 'CONF_CLIENT_KEY', 'CONF_COMMAND_TOPIC', 'CONF_DISCOVERY_PREFIX', 'CONF_KEEPALIVE', 'CONF_QOS', 'CONF_STATE_TOPIC', 'CONF_TLS_INSECURE', 'CONF_TOPIC', 'CONF_TRANSPORT', 'CONF_WILL_MESSAGE', 'CONF_WS_HEADERS', 'CONF_WS_PATH', 'DATA_MQTT', 'DATA_MQTT_AVAILABLE', 'DEFAULT_DISCOVERY', 'DEFAULT_ENCODING', 'DEFAULT_PREFIX', 'DEFAULT_QOS', 'DEFAULT_RETAIN', 'DOMAIN', 'ENTITY_PLATFORMS', 'ENTRY_OPTION_FIELDS', 'MQTT', 'MQTT_BASE_SCHEMA', 'MQTT_CONNECTION_STATE', 'MQTT_RO_SCHEMA', 'MQTT_RW_SCHEMA', 'SERVICE_RELOAD', 'TEMPLATE_ERRORS', 'EntitySubscription', 'MqttCommandTemplate', 'MqttData', 'MqttValueTemplate', 'PayloadSentinel', 'PublishPayloadType', 'ReceiveMessage', 'SetupPhases', 'async_check_config_schema', 'async_create_certificate_temp_files', 'async_forward_entry_setup_and_setup_discovery', 'async_migrate_entry', 'async_prepare_subscribe_topics', 'async_publish', 'async_remove_config_entry_device', 'async_setup', 'async_setup_entry', 'async_subscribe', 'async_subscribe_connection_status', 'async_subscribe_topics', 'async_unload_entry', 'async_unsubscribe_topics', 'async_wait_for_mqtt_client', 'convert_outgoing_mqtt_payload', 'create_eager_task', 'is_connected', 'mqtt_config_entry_enabled', 'platforms_from_config', 'publish', 'subscribe', 'valid_publish_topic', 'valid_qos_schema', 'valid_subscribe_topic', 'websocket_mqtt_info', 'websocket_subscribe']
18
+ __all__ = ['ATTR_PAYLOAD', 'ATTR_QOS', 'ATTR_RETAIN', 'ATTR_TOPIC', 'CONFIG_ENTRY_MINOR_VERSION', 'CONFIG_ENTRY_VERSION', 'CONF_BIRTH_MESSAGE', 'CONF_BROKER', 'CONF_CERTIFICATE', 'CONF_CLIENT_CERT', 'CONF_CLIENT_KEY', 'CONF_COMMAND_TOPIC', 'CONF_DISCOVERY_PREFIX', 'CONF_KEEPALIVE', 'CONF_QOS', 'CONF_STATE_TOPIC', 'CONF_TLS_INSECURE', 'CONF_TOPIC', 'CONF_TRANSPORT', 'CONF_WILL_MESSAGE', 'CONF_WS_HEADERS', 'CONF_WS_PATH', 'DATA_MQTT', 'DATA_MQTT_AVAILABLE', 'DEFAULT_DISCOVERY', 'DEFAULT_ENCODING', 'DEFAULT_PREFIX', 'DEFAULT_QOS', 'DEFAULT_RETAIN', 'DOMAIN', 'ENTITY_PLATFORMS', 'ENTRY_OPTION_FIELDS', 'MQTT', 'MQTT_BASE_SCHEMA', 'MQTT_CONNECTION_STATE', 'MQTT_RO_SCHEMA', 'MQTT_RW_SCHEMA', 'SERVICE_RELOAD', 'TEMPLATE_ERRORS', 'EntitySubscription', 'MqttCommandTemplate', 'MqttData', 'MqttValueTemplate', 'PayloadSentinel', 'PublishPayloadType', 'ReceiveMessage', 'SetupPhases', 'async_check_config_schema', 'async_create_certificate_temp_files', 'async_forward_entry_setup_and_setup_discovery', 'async_migrate_entry', 'async_prepare_subscribe_topics', 'async_publish', 'async_remove_config_entry_device', 'async_subscribe', 'async_subscribe_connection_status', 'async_subscribe_topics', 'async_unsubscribe_topics', 'async_wait_for_mqtt_client', 'convert_outgoing_mqtt_payload', 'create_eager_task', 'is_connected', 'mqtt_config_entry_enabled', 'platforms_from_config', 'publish', 'subscribe', 'valid_publish_topic', 'valid_qos_schema', 'valid_subscribe_topic', 'websocket_mqtt_info', 'websocket_subscribe']
19
19
 
20
20
  async def async_check_config_schema(hass: HomeAssistant, config_yaml: ConfigType) -> None: ...
21
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
22
21
  async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
24
22
  @callback
25
23
  def websocket_mqtt_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
26
24
  @websocket_api.async_response
@@ -30,4 +28,3 @@ type ConnectionStatusCallback = Callable[[bool], None]
30
28
  def async_subscribe_connection_status(hass: HomeAssistant, connection_status_callback: ConnectionStatusCallback) -> Callable[[], None]: ...
31
29
  def is_connected(hass: HomeAssistant) -> bool: ...
32
30
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: DeviceEntry) -> bool: ...
33
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...