homeassistant-stubs 2025.4.3__py3-none-any.whl → 2025.5.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. homeassistant-stubs/components/adax/__init__.pyi +5 -4
  2. homeassistant-stubs/components/adax/climate.pyi +25 -17
  3. homeassistant-stubs/components/adax/const.pyi +2 -0
  4. homeassistant-stubs/components/adax/coordinator.pyi +21 -0
  5. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
  6. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
  7. homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
  8. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  9. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  10. homeassistant-stubs/components/apsystems/switch.pyi +1 -1
  11. homeassistant-stubs/components/asuswrt/router.pyi +2 -3
  12. homeassistant-stubs/components/automation/__init__.pyi +2 -2
  13. homeassistant-stubs/components/automation/config.pyi +2 -2
  14. homeassistant-stubs/components/automation/const.pyi +0 -4
  15. homeassistant-stubs/components/axis/hub/api.pyi +2 -2
  16. homeassistant-stubs/components/backup/config.pyi +10 -2
  17. homeassistant-stubs/components/backup/onboarding.pyi +30 -0
  18. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
  19. homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
  20. homeassistant-stubs/components/bond/config_flow.pyi +3 -0
  21. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  22. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
  23. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
  24. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
  25. homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
  26. homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
  28. homeassistant-stubs/components/canary/__init__.pyi +1 -5
  29. homeassistant-stubs/components/canary/config_flow.pyi +0 -1
  30. homeassistant-stubs/components/cloud/const.pyi +1 -0
  31. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  32. homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
  33. homeassistant-stubs/components/cloud/tts.pyi +3 -1
  34. homeassistant-stubs/components/comelit/__init__.pyi +1 -0
  35. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
  36. homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
  37. homeassistant-stubs/components/comelit/climate.pyi +2 -7
  38. homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
  39. homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -7
  41. homeassistant-stubs/components/comelit/entity.pyi +11 -0
  42. homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
  43. homeassistant-stubs/components/comelit/light.pyi +2 -9
  44. homeassistant-stubs/components/comelit/sensor.pyi +2 -7
  45. homeassistant-stubs/components/comelit/switch.pyi +2 -6
  46. homeassistant-stubs/components/comelit/utils.pyi +5 -0
  47. homeassistant-stubs/components/command_line/__init__.pyi +1 -1
  48. homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
  49. homeassistant-stubs/components/command_line/cover.pyi +2 -2
  50. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  51. homeassistant-stubs/components/command_line/switch.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +3 -1
  53. homeassistant-stubs/components/demo/light.pyi +3 -2
  54. homeassistant-stubs/components/demo/media_player.pyi +4 -0
  55. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
  56. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
  57. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  58. homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
  59. homeassistant-stubs/components/dhcp/const.pyi +5 -0
  60. homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
  61. homeassistant-stubs/components/dhcp/models.pyi +25 -0
  62. homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
  63. homeassistant-stubs/components/ecovacs/image.pyi +1 -0
  64. homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
  65. homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
  66. homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
  67. homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
  68. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
  69. homeassistant-stubs/components/energy/sensor.pyi +5 -0
  70. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  71. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
  72. homeassistant-stubs/components/esphome/__init__.pyi +5 -4
  73. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
  74. homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
  75. homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
  76. homeassistant-stubs/components/esphome/button.pyi +2 -0
  77. homeassistant-stubs/components/esphome/camera.pyi +2 -0
  78. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  79. homeassistant-stubs/components/esphome/config_flow.pyi +25 -5
  80. homeassistant-stubs/components/esphome/const.pyi +2 -1
  81. homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
  82. homeassistant-stubs/components/esphome/cover.pyi +2 -0
  83. homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
  84. homeassistant-stubs/components/esphome/date.pyi +2 -0
  85. homeassistant-stubs/components/esphome/datetime.pyi +2 -0
  86. homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
  87. homeassistant-stubs/components/esphome/entity.pyi +12 -9
  88. homeassistant-stubs/components/esphome/event.pyi +2 -0
  89. homeassistant-stubs/components/esphome/fan.pyi +4 -3
  90. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
  91. homeassistant-stubs/components/esphome/light.pyi +8 -7
  92. homeassistant-stubs/components/esphome/lock.pyi +6 -4
  93. homeassistant-stubs/components/esphome/manager.pyi +7 -3
  94. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  95. homeassistant-stubs/components/esphome/number.pyi +1 -0
  96. homeassistant-stubs/components/esphome/repairs.pyi +21 -2
  97. homeassistant-stubs/components/esphome/select.pyi +3 -2
  98. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  99. homeassistant-stubs/components/esphome/switch.pyi +3 -1
  100. homeassistant-stubs/components/esphome/text.pyi +1 -0
  101. homeassistant-stubs/components/esphome/time.pyi +2 -0
  102. homeassistant-stubs/components/esphome/update.pyi +8 -8
  103. homeassistant-stubs/components/esphome/valve.pyi +3 -1
  104. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
  105. homeassistant-stubs/components/fritz/button.pyi +1 -0
  106. homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
  107. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
  108. homeassistant-stubs/components/fritz/image.pyi +1 -0
  109. homeassistant-stubs/components/fritz/sensor.pyi +1 -0
  110. homeassistant-stubs/components/fritz/switch.pyi +1 -0
  111. homeassistant-stubs/components/fritz/update.pyi +1 -0
  112. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
  113. homeassistant-stubs/components/fritzbox/climate.pyi +3 -3
  114. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  115. homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
  116. homeassistant-stubs/components/heos/const.pyi +4 -0
  117. homeassistant-stubs/components/heos/media_player.pyi +5 -4
  118. homeassistant-stubs/components/heos/services.pyi +22 -2
  119. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  120. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  121. homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
  122. homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
  123. homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
  124. homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
  125. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  126. homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
  127. homeassistant-stubs/components/homee/climate.pyi +47 -0
  128. homeassistant-stubs/components/homee/const.pyi +1 -0
  129. homeassistant-stubs/components/homee/number.pyi +12 -4
  130. homeassistant-stubs/components/homekit/__init__.pyi +5 -3
  131. homeassistant-stubs/components/homekit/accessories.pyi +2 -1
  132. homeassistant-stubs/components/homekit/const.pyi +13 -0
  133. homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
  134. homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
  135. homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
  136. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  137. homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
  138. homeassistant-stubs/components/homekit/util.pyi +2 -1
  139. homeassistant-stubs/components/http/headers.pyi +6 -0
  140. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
  142. homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
  143. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  144. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
  145. homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
  146. homeassistant-stubs/components/hyperion/camera.pyi +3 -4
  147. homeassistant-stubs/components/hyperion/const.pyi +0 -3
  148. homeassistant-stubs/components/hyperion/light.pyi +4 -6
  149. homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
  150. homeassistant-stubs/components/hyperion/switch.pyi +3 -4
  151. homeassistant-stubs/components/incomfort/climate.pyi +1 -2
  152. homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
  153. homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
  154. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
  155. homeassistant-stubs/components/iron_os/entity.pyi +2 -0
  156. homeassistant-stubs/components/iron_os/update.pyi +4 -2
  157. homeassistant-stubs/components/isy994/entity.pyi +1 -0
  158. homeassistant-stubs/components/isy994/services.pyi +1 -0
  159. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  160. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  161. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  162. homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
  163. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
  164. homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
  165. homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
  166. homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
  167. homeassistant-stubs/components/kulersky/const.pyi +4 -0
  168. homeassistant-stubs/components/kulersky/light.pyi +34 -0
  169. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
  170. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
  171. homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
  172. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -3
  173. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -16
  174. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -8
  175. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -5
  176. homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
  177. homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
  178. homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
  179. homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
  180. homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
  181. homeassistant-stubs/components/lcn/__init__.pyi +4 -3
  182. homeassistant-stubs/components/lcn/entity.pyi +3 -3
  183. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  184. homeassistant-stubs/components/lcn/websocket.pyi +1 -1
  185. homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
  186. homeassistant-stubs/components/linkplay/const.pyi +8 -2
  187. homeassistant-stubs/components/linkplay/media_player.pyi +8 -4
  188. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  189. homeassistant-stubs/components/logger/__init__.pyi +1 -1
  190. homeassistant-stubs/components/logger/helpers.pyi +4 -2
  191. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  192. homeassistant-stubs/components/matter/entity.pyi +1 -0
  193. homeassistant-stubs/components/matter/select.pyi +1 -1
  194. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  195. homeassistant-stubs/components/matter/switch.pyi +20 -0
  196. homeassistant-stubs/components/matter/water_heater.pyi +39 -0
  197. homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
  198. homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
  199. homeassistant-stubs/components/mcp/const.pyi +3 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
  201. homeassistant-stubs/components/media_player/__init__.pyi +7 -3
  202. homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
  203. homeassistant-stubs/components/media_player/const.pyi +4 -0
  204. homeassistant-stubs/components/media_player/errors.pyi +1 -0
  205. homeassistant-stubs/components/media_source/error.pyi +1 -0
  206. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
  207. homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
  208. homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/motionmount/select.pyi +1 -1
  210. homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
  211. homeassistant-stubs/components/mqtt/const.pyi +3 -0
  212. homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
  213. homeassistant-stubs/components/mqtt/entity.pyi +3 -0
  214. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
  215. homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
  216. homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
  217. homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
  218. homeassistant-stubs/components/network/__init__.pyi +2 -0
  219. homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
  220. homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
  221. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  222. homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
  223. homeassistant-stubs/components/ntfy/notify.pyi +25 -0
  224. homeassistant-stubs/components/nut/__init__.pyi +7 -3
  225. homeassistant-stubs/components/nut/config_flow.pyi +11 -14
  226. homeassistant-stubs/components/nut/const.pyi +0 -1
  227. homeassistant-stubs/components/nut/device_action.pyi +5 -1
  228. homeassistant-stubs/components/nut/sensor.pyi +6 -3
  229. homeassistant-stubs/components/ohme/__init__.pyi +15 -0
  230. homeassistant-stubs/components/ohme/button.pyi +26 -0
  231. homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
  232. homeassistant-stubs/components/ohme/const.pyi +5 -0
  233. homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
  234. homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
  235. homeassistant-stubs/components/ohme/entity.pyi +23 -0
  236. homeassistant-stubs/components/ohme/number.pyi +30 -0
  237. homeassistant-stubs/components/ohme/select.pyi +33 -0
  238. homeassistant-stubs/components/ohme/sensor.pyi +26 -0
  239. homeassistant-stubs/components/ohme/services.pyi +19 -0
  240. homeassistant-stubs/components/ohme/switch.pyi +45 -0
  241. homeassistant-stubs/components/ohme/time.pyi +30 -0
  242. homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
  243. homeassistant-stubs/components/onboarding/views.pyi +29 -43
  244. homeassistant-stubs/components/oncue/__init__.pyi +5 -11
  245. homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
  246. homeassistant-stubs/components/onewire/sensor.pyi +1 -2
  247. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
  248. homeassistant-stubs/components/onkyo/const.pyi +0 -2
  249. homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
  250. homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
  251. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  252. homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
  253. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
  254. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
  255. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
  256. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  257. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  258. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  259. homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
  260. homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
  261. homeassistant-stubs/components/pegel_online/const.pyi +6 -0
  262. homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
  263. homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
  264. homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
  265. homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
  266. homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
  267. homeassistant-stubs/components/recorder/core.pyi +2 -0
  268. homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
  269. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  270. homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
  271. homeassistant-stubs/components/renault/config_flow.pyi +2 -1
  272. homeassistant-stubs/components/renault/const.pyi +2 -1
  273. homeassistant-stubs/components/renault/coordinator.pyi +4 -1
  274. homeassistant-stubs/components/renault/entity.pyi +2 -0
  275. homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
  276. homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
  277. homeassistant-stubs/components/renault/services.pyi +5 -0
  278. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
  279. homeassistant-stubs/components/rest/schema.pyi +1 -1
  280. homeassistant-stubs/components/rest/sensor.pyi +2 -2
  281. homeassistant-stubs/components/rest/switch.pyi +4 -3
  282. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  283. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  284. homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
  285. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
  286. homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
  287. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
  288. homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
  289. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  290. homeassistant-stubs/components/scrape/sensor.pyi +4 -5
  291. homeassistant-stubs/components/shelly/__init__.pyi +1 -0
  292. homeassistant-stubs/components/shelly/climate.pyi +2 -1
  293. homeassistant-stubs/components/shelly/const.pyi +2 -0
  294. homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
  295. homeassistant-stubs/components/shelly/entity.pyi +5 -2
  296. homeassistant-stubs/components/shelly/number.pyi +4 -3
  297. homeassistant-stubs/components/shelly/repairs.pyi +19 -0
  298. homeassistant-stubs/components/shelly/select.pyi +3 -1
  299. homeassistant-stubs/components/shelly/text.pyi +4 -1
  300. homeassistant-stubs/components/shelly/utils.pyi +2 -3
  301. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  302. homeassistant-stubs/components/smlight/button.pyi +1 -0
  303. homeassistant-stubs/components/smlight/sensor.pyi +2 -0
  304. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  305. homeassistant-stubs/components/smlight/update.pyi +3 -1
  306. homeassistant-stubs/components/smtp/__init__.pyi +0 -0
  307. homeassistant-stubs/components/smtp/const.pyi +17 -0
  308. homeassistant-stubs/components/smtp/notify.pyi +47 -0
  309. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  310. homeassistant-stubs/components/sql/sensor.pyi +4 -4
  311. homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
  312. homeassistant-stubs/components/ssdp/common.pyi +5 -0
  313. homeassistant-stubs/components/ssdp/const.pyi +3 -0
  314. homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
  315. homeassistant-stubs/components/ssdp/server.pyi +30 -0
  316. homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
  317. homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
  318. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
  319. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
  320. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
  321. homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
  322. homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
  323. homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
  324. homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
  325. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  326. homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
  327. homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
  328. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  329. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
  330. homeassistant-stubs/components/tractive/__init__.pyi +1 -1
  331. homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
  332. homeassistant-stubs/components/tractive/const.pyi +1 -0
  333. homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
  334. homeassistant-stubs/components/tts/__init__.pyi +22 -13
  335. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  336. homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
  337. homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
  338. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
  339. homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
  340. homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
  341. homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
  342. homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
  343. homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
  344. homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -1
  345. homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
  346. homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
  347. homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
  348. homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
  349. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  350. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  351. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  352. homeassistant-stubs/components/wemo/models.pyi +3 -4
  353. homeassistant-stubs/components/workday/config_flow.pyi +1 -1
  354. homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
  355. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  356. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  357. homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
  358. homeassistant-stubs/components/zeroconf/const.pyi +3 -0
  359. homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
  360. homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
  361. homeassistant-stubs/components/zone/__init__.pyi +4 -1
  362. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
  363. homeassistant-stubs/components/zwave_js/api.pyi +8 -3
  364. homeassistant-stubs/components/zwave_js/config_flow.pyi +41 -59
  365. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
  366. homeassistant-stubs/config_entries.pyi +13 -9
  367. homeassistant-stubs/const.pyi +5 -0
  368. homeassistant-stubs/core.pyi +1 -3
  369. homeassistant-stubs/core_config.pyi +1 -1
  370. homeassistant-stubs/data_entry_flow.pyi +5 -1
  371. homeassistant-stubs/helpers/area_registry.pyi +5 -1
  372. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
  373. homeassistant-stubs/helpers/config_validation.pyi +1 -0
  374. homeassistant-stubs/helpers/device_registry.pyi +1 -3
  375. homeassistant-stubs/helpers/entity.pyi +1 -1
  376. homeassistant-stubs/helpers/entity_platform.pyi +3 -3
  377. homeassistant-stubs/helpers/entity_registry.pyi +6 -6
  378. homeassistant-stubs/helpers/event.pyi +2 -0
  379. homeassistant-stubs/helpers/floor_registry.pyi +12 -3
  380. homeassistant-stubs/helpers/llm.pyi +24 -1
  381. homeassistant-stubs/helpers/network.pyi +1 -1
  382. homeassistant-stubs/helpers/script.pyi +2 -1
  383. homeassistant-stubs/helpers/template.pyi +1 -0
  384. homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
  385. homeassistant-stubs/loader.pyi +2 -11
  386. homeassistant-stubs/setup.pyi +7 -6
  387. homeassistant-stubs/util/ssl.pyi +2 -0
  388. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/METADATA +3 -3
  389. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/RECORD +391 -334
  390. homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
  391. homeassistant-stubs/components/oncue/const.pyi +0 -6
  392. homeassistant-stubs/components/oncue/entity.pyi +0 -20
  393. homeassistant-stubs/components/oncue/sensor.pyi +0 -21
  394. homeassistant-stubs/components/oncue/types.pyi +0 -5
  395. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/WHEEL +0 -0
  396. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,10 +1,11 @@
1
+ from .const import CONNECTION_TYPE as CONNECTION_TYPE, LOCAL as LOCAL
2
+ from .coordinator import AdaxCloudCoordinator as AdaxCloudCoordinator, AdaxConfigEntry as AdaxConfigEntry, AdaxLocalCoordinator as AdaxLocalCoordinator
1
3
  from _typeshed import Incomplete
2
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.const import Platform as Platform
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
 
6
7
  PLATFORMS: Incomplete
7
8
 
8
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
9
+ async def async_setup_entry(hass: HomeAssistant, entry: AdaxConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, entry: AdaxConfigEntry) -> bool: ...
11
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: AdaxConfigEntry) -> bool: ...
@@ -1,55 +1,63 @@
1
- from .const import ACCOUNT_ID as ACCOUNT_ID, CONNECTION_TYPE as CONNECTION_TYPE, DOMAIN as DOMAIN, LOCAL as LOCAL
1
+ from . import AdaxConfigEntry as AdaxConfigEntry
2
+ from .const import CONNECTION_TYPE as CONNECTION_TYPE, DOMAIN as DOMAIN, LOCAL as LOCAL
3
+ from .coordinator import AdaxCloudCoordinator as AdaxCloudCoordinator, AdaxLocalCoordinator as AdaxLocalCoordinator
2
4
  from _typeshed import Incomplete
3
- from adax import Adax
5
+ from adax import Adax as Adax
4
6
  from adax_local import Adax as AdaxLocal
5
7
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
8
- from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
13
  from typing import Any
13
14
 
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: AdaxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
16
 
16
- class AdaxDevice(ClimateEntity):
17
+ class AdaxDevice(CoordinatorEntity[AdaxCloudCoordinator], ClimateEntity):
17
18
  _attr_hvac_modes: Incomplete
18
19
  _attr_max_temp: int
19
20
  _attr_min_temp: int
20
21
  _attr_supported_features: Incomplete
21
22
  _attr_target_temperature_step = PRECISION_WHOLE
22
23
  _attr_temperature_unit: Incomplete
24
+ _adax_data_handler: Adax
23
25
  _device_id: Incomplete
24
- _adax_data_handler: Incomplete
26
+ _attr_name: Incomplete
25
27
  _attr_unique_id: Incomplete
26
28
  _attr_device_info: Incomplete
27
- def __init__(self, heater_data: dict[str, Any], adax_data_handler: Adax) -> None: ...
29
+ def __init__(self, coordinator: AdaxCloudCoordinator, device_id: str) -> None: ...
30
+ @property
31
+ def available(self) -> bool: ...
32
+ @property
33
+ def room(self) -> dict[str, Any]: ...
28
34
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
29
35
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
30
- _attr_name: Incomplete
36
+ @callback
37
+ def _handle_coordinator_update(self) -> None: ...
31
38
  _attr_current_temperature: Incomplete
32
39
  _attr_target_temperature: Incomplete
33
40
  _attr_hvac_mode: Incomplete
34
41
  _attr_icon: str
35
- async def async_update(self) -> None: ...
42
+ def _apply_data(self, room: dict[str, Any]) -> None: ...
36
43
 
37
- class LocalAdaxDevice(ClimateEntity):
44
+ class LocalAdaxDevice(CoordinatorEntity[AdaxLocalCoordinator], ClimateEntity):
38
45
  _attr_hvac_modes: Incomplete
39
46
  _attr_hvac_mode: Incomplete
47
+ _attr_icon: str
40
48
  _attr_max_temp: int
41
49
  _attr_min_temp: int
42
50
  _attr_supported_features: Incomplete
43
51
  _attr_target_temperature_step = PRECISION_WHOLE
44
52
  _attr_temperature_unit: Incomplete
45
- _adax_data_handler: Incomplete
53
+ _adax_data_handler: AdaxLocal
46
54
  _attr_unique_id: Incomplete
47
55
  _attr_device_info: Incomplete
48
- def __init__(self, adax_data_handler: AdaxLocal, unique_id: str) -> None: ...
56
+ def __init__(self, coordinator: AdaxLocalCoordinator, unique_id: str) -> None: ...
49
57
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
50
58
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
51
59
  _attr_current_temperature: Incomplete
52
60
  _attr_available: Incomplete
53
- _attr_icon: str
54
61
  _attr_target_temperature: Incomplete
55
- async def async_update(self) -> None: ...
62
+ @callback
63
+ def _handle_coordinator_update(self) -> None: ...
@@ -1,3 +1,4 @@
1
+ from _typeshed import Incomplete
1
2
  from typing import Final
2
3
 
3
4
  ACCOUNT_ID: Final[str]
@@ -7,3 +8,4 @@ DOMAIN: Final[str]
7
8
  LOCAL: str
8
9
  WIFI_SSID: str
9
10
  WIFI_PSWD: str
11
+ SCAN_INTERVAL: Incomplete
@@ -0,0 +1,21 @@
1
+ from .const import ACCOUNT_ID as ACCOUNT_ID, SCAN_INTERVAL as SCAN_INTERVAL
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
+ from typing import Any
9
+
10
+ _LOGGER: Incomplete
11
+ type AdaxConfigEntry = ConfigEntry[AdaxCloudCoordinator | AdaxLocalCoordinator]
12
+
13
+ class AdaxCloudCoordinator(DataUpdateCoordinator[dict[str, dict[str, Any]]]):
14
+ adax_data_handler: Incomplete
15
+ def __init__(self, hass: HomeAssistant, entry: AdaxConfigEntry) -> None: ...
16
+ async def _async_update_data(self) -> dict[str, dict[str, Any]]: ...
17
+
18
+ class AdaxLocalCoordinator(DataUpdateCoordinator[dict[str, Any] | None]):
19
+ adax_data_handler: Incomplete
20
+ def __init__(self, hass: HomeAssistant, entry: AdaxConfigEntry) -> None: ...
21
+ async def _async_update_data(self) -> dict[str, Any]: ...
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from . import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
3
- from .const import CONF_APP_ICON as CONF_APP_ICON, CONF_APP_NAME as CONF_APP_NAME
3
+ from .const import CONF_APP_ICON as CONF_APP_ICON, CONF_APP_NAME as CONF_APP_NAME, DOMAIN as DOMAIN
4
4
  from .entity import AndroidTVRemoteBaseEntity as AndroidTVRemoteBaseEntity
5
5
  from _typeshed import Incomplete
6
6
  from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
@@ -14,8 +14,8 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: APCUPSdConfigEntr
14
14
 
15
15
  class OnlineStatus(CoordinatorEntity[APCUPSdCoordinator], BinarySensorEntity):
16
16
  _attr_has_entity_name: bool
17
- _attr_unique_id: Incomplete
18
17
  entity_description: Incomplete
18
+ _attr_unique_id: Incomplete
19
19
  _attr_device_info: Incomplete
20
20
  def __init__(self, coordinator: APCUPSdCoordinator, description: BinarySensorEntityDescription) -> None: ...
21
21
  @property
@@ -26,5 +26,7 @@ class APCUPSdCoordinator(DataUpdateCoordinator[APCUPSdData]):
26
26
  _port: Incomplete
27
27
  def __init__(self, hass: HomeAssistant, config_entry: APCUPSdConfigEntry, host: str, port: int) -> None: ...
28
28
  @property
29
+ def unique_device_id(self) -> str: ...
30
+ @property
29
31
  def device_info(self) -> DeviceInfo: ...
30
32
  async def _async_update_data(self) -> APCUPSdData: ...
@@ -17,8 +17,8 @@ def infer_unit(value: str) -> tuple[str, str | None]: ...
17
17
 
18
18
  class APCUPSdSensor(CoordinatorEntity[APCUPSdCoordinator], SensorEntity):
19
19
  _attr_has_entity_name: bool
20
- _attr_unique_id: Incomplete
21
20
  entity_description: Incomplete
21
+ _attr_unique_id: Incomplete
22
22
  _attr_device_info: Incomplete
23
23
  def __init__(self, coordinator: APCUPSdCoordinator, description: SensorEntityDescription) -> None: ...
24
24
  @callback
@@ -20,6 +20,7 @@ type ApSystemsConfigEntry = ConfigEntry[ApSystemsData]
20
20
  class ApSystemsDataCoordinator(DataUpdateCoordinator[ApSystemsSensorData]):
21
21
  config_entry: ApSystemsConfigEntry
22
22
  device_version: str
23
+ battery_system: bool
23
24
  api: Incomplete
24
25
  def __init__(self, hass: HomeAssistant, config_entry: ApSystemsConfigEntry, api: APsystemsEZ1M) -> None: ...
25
26
  async def _async_setup(self) -> None: ...
@@ -13,8 +13,8 @@ class ApSystemsInverterSwitch(ApSystemsEntity, SwitchEntity):
13
13
  _attr_translation_key: str
14
14
  _api: Incomplete
15
15
  _attr_unique_id: Incomplete
16
- def __init__(self, data: ApSystemsData) -> None: ...
17
16
  _attr_available: bool
17
+ def __init__(self, data: ApSystemsData) -> None: ...
18
18
  _attr_is_on: Incomplete
19
19
  async def async_update(self) -> None: ...
20
20
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .bridge import AsusWrtBridge as AsusWrtBridge, WrtDevice as WrtDevice
2
2
  from .const import CONF_DNSMASQ as CONF_DNSMASQ, CONF_INTERFACE as CONF_INTERFACE, CONF_REQUIRE_IP as CONF_REQUIRE_IP, CONF_TRACK_UNKNOWN as CONF_TRACK_UNKNOWN, DEFAULT_DNSMASQ as DEFAULT_DNSMASQ, DEFAULT_INTERFACE as DEFAULT_INTERFACE, DEFAULT_TRACK_UNKNOWN as DEFAULT_TRACK_UNKNOWN, DOMAIN as DOMAIN, KEY_COORDINATOR as KEY_COORDINATOR, KEY_METHOD as KEY_METHOD, KEY_SENSORS as KEY_SENSORS, SENSORS_CONNECTED_DEVICE as SENSORS_CONNECTED_DEVICE
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable
4
+ from collections.abc import Callable as Callable, Mapping
5
5
  from datetime import datetime
6
6
  from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -12,7 +12,6 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_disp
12
12
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
13
13
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
14
14
  from homeassistant.util import slugify as slugify
15
- from types import MappingProxyType
16
15
  from typing import Any
17
16
 
18
17
  CONF_REQ_RELOAD: Incomplete
@@ -69,7 +68,7 @@ class AsusWrtRouter:
69
68
  async def close(self) -> None: ...
70
69
  @callback
71
70
  def async_on_close(self, func: CALLBACK_TYPE) -> None: ...
72
- def update_options(self, new_options: MappingProxyType[str, Any]) -> bool: ...
71
+ def update_options(self, new_options: Mapping[str, Any]) -> bool: ...
73
72
  @property
74
73
  def device_info(self) -> DeviceInfo: ...
75
74
  @property
@@ -1,6 +1,6 @@
1
1
  import abc
2
2
  from .config import AutomationConfig as AutomationConfig, ValidationStatus as ValidationStatus
3
- from .const import CONF_ACTIONS as CONF_ACTIONS, CONF_INITIAL_STATE as CONF_INITIAL_STATE, CONF_TRACE as CONF_TRACE, CONF_TRIGGERS as CONF_TRIGGERS, CONF_TRIGGER_VARIABLES as CONF_TRIGGER_VARIABLES, DEFAULT_INITIAL_STATE as DEFAULT_INITIAL_STATE, DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from .const import CONF_INITIAL_STATE as CONF_INITIAL_STATE, CONF_TRACE as CONF_TRACE, CONF_TRIGGER_VARIABLES as CONF_TRIGGER_VARIABLES, DEFAULT_INITIAL_STATE as DEFAULT_INITIAL_STATE, DOMAIN as DOMAIN, LOGGER as LOGGER
4
4
  from .helpers import async_get_blueprints as async_get_blueprints
5
5
  from .trace import trace_automation as trace_automation
6
6
  from _typeshed import Incomplete
@@ -9,7 +9,7 @@ from collections.abc import Callable as Callable, Mapping
9
9
  from dataclasses import dataclass
10
10
  from homeassistant.components import websocket_api as websocket_api
11
11
  from homeassistant.components.blueprint import CONF_USE_BLUEPRINT as CONF_USE_BLUEPRINT
12
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_MODE as ATTR_MODE, ATTR_NAME as ATTR_NAME, CONF_ALIAS as CONF_ALIAS, CONF_CONDITIONS as CONF_CONDITIONS, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_ID as CONF_ID, CONF_MODE as CONF_MODE, CONF_PATH as CONF_PATH, CONF_PLATFORM as CONF_PLATFORM, CONF_VARIABLES as CONF_VARIABLES, CONF_ZONE as CONF_ZONE, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
12
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_MODE as ATTR_MODE, ATTR_NAME as ATTR_NAME, CONF_ACTIONS as CONF_ACTIONS, CONF_ALIAS as CONF_ALIAS, CONF_CONDITIONS as CONF_CONDITIONS, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_ID as CONF_ID, CONF_MODE as CONF_MODE, CONF_PATH as CONF_PATH, CONF_PLATFORM as CONF_PLATFORM, CONF_TRIGGERS as CONF_TRIGGERS, CONF_VARIABLES as CONF_VARIABLES, CONF_ZONE as CONF_ZONE, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
13
13
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
14
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceNotFound as ServiceNotFound, TemplateError as TemplateError
15
15
  from homeassistant.helpers import condition as condition
@@ -1,11 +1,11 @@
1
- from .const import CONF_ACTION as CONF_ACTION, CONF_ACTIONS as CONF_ACTIONS, CONF_HIDE_ENTITY as CONF_HIDE_ENTITY, CONF_INITIAL_STATE as CONF_INITIAL_STATE, CONF_TRACE as CONF_TRACE, CONF_TRIGGER as CONF_TRIGGER, CONF_TRIGGERS as CONF_TRIGGERS, CONF_TRIGGER_VARIABLES as CONF_TRIGGER_VARIABLES, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import CONF_HIDE_ENTITY as CONF_HIDE_ENTITY, CONF_INITIAL_STATE as CONF_INITIAL_STATE, CONF_TRACE as CONF_TRACE, CONF_TRIGGER_VARIABLES as CONF_TRIGGER_VARIABLES, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .helpers import async_get_blueprints as async_get_blueprints
3
3
  from _typeshed import Incomplete
4
4
  from enum import StrEnum
5
5
  from homeassistant.components import blueprint as blueprint
6
6
  from homeassistant.components.trace import TRACE_CONFIG_SCHEMA as TRACE_CONFIG_SCHEMA
7
7
  from homeassistant.config import config_per_platform as config_per_platform, config_without_domain as config_without_domain
8
- from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_ID as CONF_ID, CONF_VARIABLES as CONF_VARIABLES
8
+ from homeassistant.const import CONF_ACTION as CONF_ACTION, CONF_ACTIONS as CONF_ACTIONS, CONF_ALIAS as CONF_ALIAS, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_ID as CONF_ID, CONF_TRIGGER as CONF_TRIGGER, CONF_TRIGGERS as CONF_TRIGGERS, CONF_VARIABLES as CONF_VARIABLES
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers import script as script
@@ -1,9 +1,5 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
- CONF_ACTION: str
4
- CONF_ACTIONS: str
5
- CONF_TRIGGER: str
6
- CONF_TRIGGERS: str
7
3
  CONF_TRIGGER_VARIABLES: str
8
4
  DOMAIN: str
9
5
  CONF_HIDE_ENTITY: str
@@ -1,10 +1,10 @@
1
1
  import axis
2
2
  from ..const import LOGGER as LOGGER
3
3
  from ..errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
4
+ from collections.abc import Mapping
4
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
7
- from types import MappingProxyType
8
8
  from typing import Any
9
9
 
10
- async def get_axis_api(hass: HomeAssistant, config: MappingProxyType[str, Any]) -> axis.AxisDevice: ...
10
+ async def get_axis_api(hass: HomeAssistant, config: Mapping[str, Any]) -> axis.AxisDevice: ...
@@ -52,20 +52,26 @@ class BackupConfig:
52
52
  @dataclass(kw_only=True)
53
53
  class AgentConfig:
54
54
  protected: bool
55
+ retention: AgentRetentionConfig | None = ...
55
56
  def to_dict(self) -> StoredAgentConfig: ...
56
57
 
57
58
  class StoredAgentConfig(TypedDict):
58
59
  protected: bool
60
+ retention: StoredRetentionConfig | None
59
61
 
60
62
  class AgentParametersDict(TypedDict, total=False):
61
63
  protected: bool
64
+ retention: RetentionParametersDict | None
62
65
 
63
66
  @dataclass(kw_only=True)
64
- class RetentionConfig:
67
+ class BaseRetentionConfig:
65
68
  copies: int | None = ...
66
69
  days: int | None = ...
67
- def apply(self, manager: BackupManager) -> None: ...
68
70
  def to_dict(self) -> StoredRetentionConfig: ...
71
+
72
+ @dataclass(kw_only=True)
73
+ class RetentionConfig(BaseRetentionConfig):
74
+ def apply(self, manager: BackupManager) -> None: ...
69
75
  @callback
70
76
  def _schedule_next(self, manager: BackupManager) -> None: ...
71
77
  @callback
@@ -79,6 +85,8 @@ class RetentionParametersDict(TypedDict, total=False):
79
85
  copies: int | None
80
86
  days: int | None
81
87
 
88
+ class AgentRetentionConfig(BaseRetentionConfig): ...
89
+
82
90
  class StoredBackupSchedule(TypedDict):
83
91
  days: list[Day]
84
92
  recurrence: ScheduleRecurrence
@@ -0,0 +1,30 @@
1
+ from . import BackupManager as BackupManager, Folder as Folder, IncorrectPasswordError as IncorrectPasswordError, http as backup_http
2
+ from aiohttp import web
3
+ from collections.abc import Callable as Callable, Coroutine
4
+ from homeassistant.components.http import KEY_HASS as KEY_HASS
5
+ from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
6
+ from homeassistant.components.onboarding import BaseOnboardingView as BaseOnboardingView, NoAuthBaseOnboardingView as NoAuthBaseOnboardingView, OnboardingStoreData as OnboardingStoreData
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from typing import Any, Concatenate
10
+
11
+ async def async_setup_views(hass: HomeAssistant, data: OnboardingStoreData) -> None: ...
12
+ def with_backup_manager[_ViewT: BaseOnboardingView, **_P](func: Callable[Concatenate[_ViewT, BackupManager, web.Request, _P], Coroutine[Any, Any, web.Response]]) -> Callable[Concatenate[_ViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
13
+
14
+ class BackupInfoView(NoAuthBaseOnboardingView):
15
+ url: str
16
+ name: str
17
+ @with_backup_manager
18
+ async def get(self, manager: BackupManager, request: web.Request) -> web.Response: ...
19
+
20
+ class RestoreBackupView(NoAuthBaseOnboardingView):
21
+ url: str
22
+ name: str
23
+ @with_backup_manager
24
+ async def post(self, manager: BackupManager, request: web.Request, data: dict[str, Any]) -> web.Response: ...
25
+
26
+ class UploadBackupView(NoAuthBaseOnboardingView, backup_http.UploadBackupView):
27
+ url: str
28
+ name: str
29
+ @with_backup_manager
30
+ async def post(self, manager: BackupManager, request: web.Request) -> web.Response: ...
@@ -79,6 +79,9 @@ class PassiveBluetoothProcessorCoordinator[_DataT](BasePassiveBluetoothCoordinat
79
79
  _available: bool
80
80
  @callback
81
81
  def _async_handle_bluetooth_event(self, service_info: BluetoothServiceInfoBleak, change: BluetoothChange) -> None: ...
82
+ @callback
83
+ def async_set_updated_data(self, update: _DataT) -> None: ...
84
+ def _process_update(self, update: _DataT, was_available: bool | None = None) -> None: ...
82
85
 
83
86
  class PassiveBluetoothDataProcessor[_T, _DataT]:
84
87
  coordinator: PassiveBluetoothProcessorCoordinator[_DataT]
@@ -1,4 +1,4 @@
1
- from bluetooth_adapters import DiscoveredDeviceAdvertisementData as DiscoveredDeviceAdvertisementData, DiscoveredDeviceAdvertisementDataDict as DiscoveredDeviceAdvertisementDataDict, DiscoveryStorageType as DiscoveryStorageType
1
+ from habluetooth import DiscoveredDeviceAdvertisementData as DiscoveredDeviceAdvertisementData, DiscoveredDeviceAdvertisementDataDict as DiscoveredDeviceAdvertisementDataDict, DiscoveryStorageType as DiscoveryStorageType
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
3
  from homeassistant.helpers.storage import Store as Store
4
4
 
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_HOS
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
9
10
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
11
  from typing import Any
11
12
 
@@ -22,7 +23,9 @@ class BondConfigFlow(ConfigFlow, domain=DOMAIN):
22
23
  _discovered: dict[str, str]
23
24
  def __init__(self) -> None: ...
24
25
  async def _async_try_automatic_configure(self) -> None: ...
26
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
25
27
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
28
+ async def async_step_any_discovery(self, bond_id: str, host: str) -> ConfigFlowResult: ...
26
29
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
30
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
31
 
@@ -3,7 +3,7 @@ from bosch_alarm_mode2 import Panel
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, Platform as Platform
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
6
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
7
 
8
8
  PLATFORMS: list[Platform]
9
9
  type BoschAlarmConfigEntry = ConfigEntry[Panel]
@@ -1,31 +1,22 @@
1
1
  from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
- from .const import DOMAIN as DOMAIN
2
+ from .entity import BoschAlarmAreaEntity as BoschAlarmAreaEntity
3
3
  from _typeshed import Incomplete
4
4
  from bosch_alarm_mode2 import Panel as Panel
5
5
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
8
 
10
9
  async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
10
 
12
- class AreaAlarmControlPanel(AlarmControlPanelEntity):
11
+ class AreaAlarmControlPanel(BoschAlarmAreaEntity, AlarmControlPanelEntity):
13
12
  _attr_has_entity_name: bool
14
13
  _attr_supported_features: Incomplete
15
14
  _attr_code_arm_required: bool
16
15
  _attr_name: Incomplete
17
- panel: Incomplete
18
- _area: Incomplete
19
- _area_id: Incomplete
20
16
  _attr_unique_id: Incomplete
21
- _attr_device_info: Incomplete
22
17
  def __init__(self, panel: Panel, area_id: int, unique_id: str) -> None: ...
23
18
  @property
24
19
  def alarm_state(self) -> AlarmControlPanelState | None: ...
25
20
  async def async_alarm_disarm(self, code: str | None = None) -> None: ...
26
21
  async def async_alarm_arm_home(self, code: str | None = None) -> None: ...
27
22
  async def async_alarm_arm_away(self, code: str | None = None) -> None: ...
28
- @property
29
- def available(self) -> bool: ...
30
- async def async_added_to_hass(self) -> None: ...
31
- async def async_will_remove_from_hass(self) -> None: ...
@@ -1,6 +1,7 @@
1
1
  from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
4
5
  from homeassistant.const import CONF_CODE as CONF_CODE, CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
5
6
  from typing import Any
6
7
 
@@ -17,4 +18,7 @@ class BoschAlarmConfigFlow(ConfigFlow, domain=DOMAIN):
17
18
  _data: dict[str, Any]
18
19
  def __init__(self) -> None: ...
19
20
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
22
  async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
24
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,11 @@
1
+ from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
+ from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from typing import Any
8
+
9
+ TO_REDACT: Incomplete
10
+
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: BoschAlarmConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,29 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from bosch_alarm_mode2 import Panel as Panel
4
+ from homeassistant.components.sensor import Entity as Entity
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+
7
+ PARALLEL_UPDATES: int
8
+
9
+ class BoschAlarmEntity(Entity):
10
+ _attr_has_entity_name: bool
11
+ panel: Incomplete
12
+ _attr_device_info: Incomplete
13
+ def __init__(self, panel: Panel, unique_id: str) -> None: ...
14
+ @property
15
+ def available(self) -> bool: ...
16
+ async def async_added_to_hass(self) -> None: ...
17
+ async def async_will_remove_from_hass(self) -> None: ...
18
+
19
+ class BoschAlarmAreaEntity(BoschAlarmEntity):
20
+ _area_id: Incomplete
21
+ _area_unique_id: Incomplete
22
+ _observe_alarms: Incomplete
23
+ _observe_ready: Incomplete
24
+ _observe_status: Incomplete
25
+ _area: Incomplete
26
+ _attr_device_info: Incomplete
27
+ def __init__(self, panel: Panel, area_id: int, unique_id: str, observe_alarms: bool, observe_ready: bool, observe_status: bool) -> None: ...
28
+ async def async_added_to_hass(self) -> None: ...
29
+ async def async_will_remove_from_hass(self) -> None: ...
@@ -0,0 +1,30 @@
1
+ from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
+ from .entity import BoschAlarmAreaEntity as BoschAlarmAreaEntity
3
+ from _typeshed import Incomplete
4
+ from bosch_alarm_mode2 import Panel as Panel
5
+ from bosch_alarm_mode2.panel import Area as Area
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+
12
+ @dataclass(kw_only=True, frozen=True)
13
+ class BoschAlarmSensorEntityDescription(SensorEntityDescription):
14
+ value_fn: Callable[[Area], int]
15
+ observe_alarms: bool = ...
16
+ observe_ready: bool = ...
17
+ observe_status: bool = ...
18
+
19
+ SENSOR_TYPES: list[BoschAlarmSensorEntityDescription]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ PARALLEL_UPDATES: int
24
+
25
+ class BoschAreaSensor(BoschAlarmAreaEntity, SensorEntity):
26
+ entity_description: BoschAlarmSensorEntityDescription
27
+ _attr_unique_id: Incomplete
28
+ def __init__(self, panel: Panel, area_id: int, unique_id: str, entity_description: BoschAlarmSensorEntityDescription) -> None: ...
29
+ @property
30
+ def native_value(self) -> int: ...
@@ -46,6 +46,8 @@ class CambridgeAudioDevice(CambridgeAudioEntity, MediaPlayerEntity):
46
46
  @property
47
47
  def media_position_updated_at(self) -> datetime: ...
48
48
  @property
49
+ def media_channel(self) -> str | None: ...
50
+ @property
49
51
  def is_volume_muted(self) -> bool | None: ...
50
52
  @property
51
53
  def volume_level(self) -> float | None: ...
@@ -1,20 +1,16 @@
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
1
+ from .const import CONF_FFMPEG_ARGUMENTS as CONF_FFMPEG_ARGUMENTS, DEFAULT_FFMPEG_ARGUMENTS as DEFAULT_FFMPEG_ARGUMENTS, DEFAULT_TIMEOUT as DEFAULT_TIMEOUT
2
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 SOURCE_IMPORT as SOURCE_IMPORT
6
5
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_TIMEOUT as CONF_TIMEOUT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
- from homeassistant.helpers.typing import ConfigType as ConfigType
10
8
  from typing import Final
11
9
 
12
10
  _LOGGER: Final[Incomplete]
13
11
  MIN_TIME_BETWEEN_UPDATES: Final[Incomplete]
14
- CONFIG_SCHEMA: Final[Incomplete]
15
12
  PLATFORMS: Final[list[Platform]]
16
13
 
17
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
18
14
  async def async_setup_entry(hass: HomeAssistant, entry: CanaryConfigEntry) -> bool: ...
19
15
  async def async_unload_entry(hass: HomeAssistant, entry: CanaryConfigEntry) -> bool: ...
20
16
  async def _async_update_listener(hass: HomeAssistant, entry: CanaryConfigEntry) -> None: ...
@@ -14,7 +14,6 @@ class CanaryConfigFlow(ConfigFlow, domain=DOMAIN):
14
14
  @staticmethod
15
15
  @callback
16
16
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
17
- async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
18
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
18
 
20
19
  class CanaryOptionsFlowHandler(OptionsFlow):
@@ -63,3 +63,4 @@ DISPATCHER_REMOTE_UPDATE: SignalType[Any]
63
63
  STT_ENTITY_UNIQUE_ID: str
64
64
  TTS_ENTITY_UNIQUE_ID: str
65
65
  LOGIN_MFA_TIMEOUT: int
66
+ VOICE_STYLE_SEPERATOR: str
@@ -1,6 +1,6 @@
1
1
  from .assist_pipeline import async_create_cloud_pipeline as async_create_cloud_pipeline
2
2
  from .client import CloudClient as CloudClient
3
- from .const import DATA_CLOUD as DATA_CLOUD, DATA_CLOUD_LOG_HANDLER as DATA_CLOUD_LOG_HANDLER, EVENT_CLOUD_EVENT as EVENT_CLOUD_EVENT, LOGIN_MFA_TIMEOUT as LOGIN_MFA_TIMEOUT, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_CLOUD_ICE_SERVERS as PREF_ENABLE_CLOUD_ICE_SERVERS, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, REQUEST_TIMEOUT as REQUEST_TIMEOUT
3
+ from .const import DATA_CLOUD as DATA_CLOUD, DATA_CLOUD_LOG_HANDLER as DATA_CLOUD_LOG_HANDLER, EVENT_CLOUD_EVENT as EVENT_CLOUD_EVENT, LOGIN_MFA_TIMEOUT as LOGIN_MFA_TIMEOUT, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_CLOUD_ICE_SERVERS as PREF_ENABLE_CLOUD_ICE_SERVERS, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, REQUEST_TIMEOUT as REQUEST_TIMEOUT, VOICE_STYLE_SEPERATOR as VOICE_STYLE_SEPERATOR
4
4
  from .google_config import CLOUD_GOOGLE as CLOUD_GOOGLE
5
5
  from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
6
6
  from .subscription import async_subscription_info as async_subscription_info
@@ -0,0 +1,35 @@
1
+ from . import http_api as cloud_http
2
+ from .const import DATA_CLOUD as DATA_CLOUD
3
+ from aiohttp import web as web
4
+ from collections.abc import Callable as Callable, Coroutine
5
+ from homeassistant.components.http import KEY_HASS as KEY_HASS
6
+ from homeassistant.components.onboarding import BaseOnboardingView as BaseOnboardingView, NoAuthBaseOnboardingView as NoAuthBaseOnboardingView, OnboardingStoreData as OnboardingStoreData
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from typing import Any, Concatenate
9
+
10
+ async def async_setup_views(hass: HomeAssistant, data: OnboardingStoreData) -> None: ...
11
+ def ensure_not_done[_ViewT: BaseOnboardingView, **_P](func: Callable[Concatenate[_ViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]) -> Callable[Concatenate[_ViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
12
+
13
+ class CloudForgotPasswordView(NoAuthBaseOnboardingView, cloud_http.CloudForgotPasswordView):
14
+ url: str
15
+ name: str
16
+ @ensure_not_done
17
+ async def post(self, request: web.Request) -> web.Response: ...
18
+
19
+ class CloudLoginView(NoAuthBaseOnboardingView, cloud_http.CloudLoginView):
20
+ url: str
21
+ name: str
22
+ @ensure_not_done
23
+ async def post(self, request: web.Request) -> web.Response: ...
24
+
25
+ class CloudLogoutView(NoAuthBaseOnboardingView, cloud_http.CloudLogoutView):
26
+ url: str
27
+ name: str
28
+ @ensure_not_done
29
+ async def post(self, request: web.Request) -> web.Response: ...
30
+
31
+ class CloudStatusView(NoAuthBaseOnboardingView):
32
+ url: str
33
+ name: str
34
+ @ensure_not_done
35
+ async def get(self, request: web.Request) -> web.Response: ...