homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.0b1__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 (481) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  3. homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
  4. homeassistant-stubs/components/airos/__init__.pyi +9 -0
  5. homeassistant-stubs/components/airos/config_flow.pyi +14 -0
  6. homeassistant-stubs/components/airos/const.pyi +5 -0
  7. homeassistant-stubs/components/airos/coordinator.pyi +16 -0
  8. homeassistant-stubs/components/airos/entity.pyi +11 -0
  9. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  10. homeassistant-stubs/components/airq/const.pyi +0 -1
  11. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  12. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  13. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  14. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  15. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  16. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  17. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  18. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  19. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  20. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  21. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  22. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  23. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  24. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  25. homeassistant-stubs/components/analytics/http.pyi +10 -0
  26. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  27. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  28. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  29. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  30. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  32. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  33. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  34. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  35. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  36. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  37. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  38. homeassistant-stubs/components/awair/const.pyi +1 -0
  39. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  40. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  41. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  42. homeassistant-stubs/components/backup/manager.pyi +6 -3
  43. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  44. homeassistant-stubs/components/backup/services.pyi +7 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  46. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  47. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  48. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  49. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  50. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  51. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  52. homeassistant-stubs/components/bring/const.pyi +4 -0
  53. homeassistant-stubs/components/bring/services.pyi +14 -0
  54. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  55. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  56. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  57. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  58. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  59. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  60. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  61. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  62. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  63. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  64. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  65. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  66. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  67. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  68. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  69. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  70. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  71. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  72. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  74. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  75. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  76. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  77. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  79. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  80. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  81. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  82. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  83. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  84. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  85. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  86. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  87. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  88. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  89. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  90. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  91. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  92. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  93. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  94. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  95. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  96. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  97. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  99. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  100. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  101. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  102. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  103. homeassistant-stubs/components/gios/const.pyi +2 -0
  104. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  105. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  106. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  107. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  108. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  109. homeassistant-stubs/components/guardian/services.pyi +2 -1
  110. homeassistant-stubs/components/habitica/button.pyi +3 -4
  111. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  112. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  113. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  114. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  115. homeassistant-stubs/components/habitica/util.pyi +2 -1
  116. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  117. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  118. homeassistant-stubs/components/heos/services.pyi +3 -2
  119. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  120. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  121. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  122. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  123. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  124. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  125. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  126. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  127. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  128. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  129. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  130. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  131. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  132. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  133. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  134. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  135. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  136. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  137. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  138. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  139. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  140. homeassistant-stubs/components/http/__init__.pyi +1 -2
  141. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  142. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  143. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  144. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  145. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  146. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  147. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  148. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  149. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  150. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  151. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  152. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  153. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  154. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  155. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  156. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  157. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  158. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  159. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  160. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  161. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  162. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  163. homeassistant-stubs/components/immich/services.pyi +18 -0
  164. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  165. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  166. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  167. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  168. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  169. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  170. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  171. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  172. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  173. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  174. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  175. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  176. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  177. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  178. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  179. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  180. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  181. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  182. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  183. homeassistant-stubs/components/knx/button.pyi +1 -1
  184. homeassistant-stubs/components/knx/climate.pyi +1 -1
  185. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  186. homeassistant-stubs/components/knx/const.pyi +1 -1
  187. homeassistant-stubs/components/knx/cover.pyi +3 -2
  188. homeassistant-stubs/components/knx/date.pyi +1 -1
  189. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  190. homeassistant-stubs/components/knx/entity.pyi +1 -1
  191. homeassistant-stubs/components/knx/fan.pyi +1 -1
  192. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  193. homeassistant-stubs/components/knx/light.pyi +3 -2
  194. homeassistant-stubs/components/knx/notify.pyi +1 -1
  195. homeassistant-stubs/components/knx/number.pyi +1 -1
  196. homeassistant-stubs/components/knx/scene.pyi +1 -1
  197. homeassistant-stubs/components/knx/select.pyi +1 -1
  198. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  199. homeassistant-stubs/components/knx/services.pyi +2 -2
  200. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  201. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  202. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  203. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  204. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  205. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  206. homeassistant-stubs/components/knx/switch.pyi +3 -2
  207. homeassistant-stubs/components/knx/text.pyi +1 -1
  208. homeassistant-stubs/components/knx/time.pyi +1 -1
  209. homeassistant-stubs/components/knx/weather.pyi +1 -1
  210. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  211. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  212. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  213. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  214. homeassistant-stubs/components/lcn/light.pyi +2 -1
  215. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  216. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  217. homeassistant-stubs/components/letpot/time.pyi +1 -1
  218. homeassistant-stubs/components/lifx/const.pyi +1 -0
  219. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  220. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  221. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  222. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  223. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  224. homeassistant-stubs/components/matrix/services.pyi +3 -2
  225. homeassistant-stubs/components/matter/entity.pyi +2 -2
  226. homeassistant-stubs/components/matter/number.pyi +29 -1
  227. homeassistant-stubs/components/matter/select.pyi +2 -2
  228. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  229. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  230. homeassistant-stubs/components/mealie/const.pyi +2 -0
  231. homeassistant-stubs/components/mealie/services.pyi +4 -1
  232. homeassistant-stubs/components/media_player/const.pyi +2 -2
  233. homeassistant-stubs/components/media_source/const.pyi +3 -0
  234. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  235. homeassistant-stubs/components/media_source/models.pyi +6 -2
  236. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  237. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  238. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  239. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  240. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  241. homeassistant-stubs/components/miele/entity.pyi +2 -0
  242. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  243. homeassistant-stubs/components/miele/services.pyi +24 -0
  244. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  245. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  246. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  247. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  248. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  249. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  250. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  251. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  252. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  253. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  254. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  255. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  256. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  257. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  258. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  259. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  260. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  261. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  262. homeassistant-stubs/components/number/const.pyi +2 -1
  263. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  264. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  265. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  266. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  267. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  268. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  269. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  270. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  271. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  272. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  273. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  274. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  275. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  276. homeassistant-stubs/components/open_router/const.pyi +8 -0
  277. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  278. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  279. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  280. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  281. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  282. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  283. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  284. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  285. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  286. homeassistant-stubs/components/opower/config_flow.pyi +25 -0
  287. homeassistant-stubs/components/opower/const.pyi +3 -0
  288. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  289. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  290. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  291. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  292. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  293. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  294. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  295. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  296. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  297. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  298. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  299. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  300. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  301. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  302. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  303. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  304. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  305. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  306. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  307. homeassistant-stubs/components/renault/services.pyi +3 -2
  308. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  309. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  310. homeassistant-stubs/components/reolink/number.pyi +1 -1
  311. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  312. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  313. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  314. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  315. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  316. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  317. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  318. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  319. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  320. homeassistant-stubs/components/sensor/const.pyi +2 -1
  321. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  322. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  323. homeassistant-stubs/components/shelly/button.pyi +2 -2
  324. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  325. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  326. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  327. homeassistant-stubs/components/shelly/event.pyi +2 -2
  328. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  329. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  330. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  331. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  332. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  333. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  334. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  335. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  336. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  337. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  338. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  339. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  340. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  342. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  343. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  344. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  345. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  346. homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
  347. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  348. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  349. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  350. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  351. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  352. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  353. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  354. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  355. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  356. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  357. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  358. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  359. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  360. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  361. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  362. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  363. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  364. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  365. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  366. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  367. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  368. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  369. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  370. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  371. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  372. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  373. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  374. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  375. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  376. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  377. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  378. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  379. homeassistant-stubs/components/tts/entity.pyi +0 -2
  380. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  381. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  382. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  383. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  384. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  385. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  386. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  387. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  388. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  389. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  390. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  391. homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
  392. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  393. homeassistant-stubs/components/velbus/const.pyi +0 -1
  394. homeassistant-stubs/components/velbus/services.pyi +4 -4
  395. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  396. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  397. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  398. homeassistant-stubs/components/volvo/api.pyi +14 -0
  399. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  400. homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
  401. homeassistant-stubs/components/volvo/const.pyi +8 -0
  402. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  403. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  404. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  405. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  406. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  407. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  408. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  409. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  410. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  411. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  412. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  413. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  414. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  415. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  416. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  417. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  418. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  419. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  420. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  421. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  422. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  423. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  424. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  425. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  426. homeassistant-stubs/components/zone/condition.pyi +22 -0
  427. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  428. homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
  429. homeassistant-stubs/components/zwave_js/api.pyi +35 -34
  430. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  431. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  432. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  433. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -3
  434. homeassistant-stubs/components/zwave_js/const.pyi +0 -2
  435. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  436. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  437. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  438. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  439. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  440. homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
  441. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  442. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  443. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  444. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  445. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  446. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  447. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  448. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  449. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  450. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  451. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  452. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  453. homeassistant-stubs/config.pyi +0 -2
  454. homeassistant-stubs/config_entries.pyi +3 -0
  455. homeassistant-stubs/const.pyi +2 -0
  456. homeassistant-stubs/core.pyi +12 -8
  457. homeassistant-stubs/helpers/condition.pyi +25 -6
  458. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  459. homeassistant-stubs/helpers/device.pyi +2 -0
  460. homeassistant-stubs/helpers/device_registry.pyi +11 -6
  461. homeassistant-stubs/helpers/entity.pyi +3 -1
  462. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  463. homeassistant-stubs/helpers/frame.pyi +1 -1
  464. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  465. homeassistant-stubs/helpers/llm.pyi +5 -1
  466. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  467. homeassistant-stubs/helpers/selector.pyi +42 -37
  468. homeassistant-stubs/helpers/service.pyi +9 -26
  469. homeassistant-stubs/helpers/target.pyi +59 -0
  470. homeassistant-stubs/helpers/trigger.pyi +3 -1
  471. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  472. homeassistant-stubs/loader.pyi +2 -9
  473. homeassistant-stubs/runner.pyi +1 -0
  474. homeassistant-stubs/util/resource.pyi +7 -0
  475. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  476. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/METADATA +2 -2
  477. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/RECORD +479 -411
  478. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  479. homeassistant-stubs/helpers/backup.pyi +0 -24
  480. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/WHEEL +0 -0
  481. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,11 @@
1
1
  from .agent import BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupAgentPlatformProtocol as BackupAgentPlatformProtocol, LocalBackupAgent as LocalBackupAgent
2
2
  from .config import BackupConfig as BackupConfig, CreateBackupParametersDict as CreateBackupParametersDict
3
- from .manager import AddonErrorData as AddonErrorData, BackupManagerError as BackupManagerError, BackupPlatformEvent as BackupPlatformEvent, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, CreateBackupStage as CreateBackupStage, CreateBackupState as CreateBackupState, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, ManagerStateEvent as ManagerStateEvent, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupStage as RestoreBackupStage, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
3
+ from .manager import AddonErrorData as AddonErrorData, BackupManager, BackupManagerError as BackupManagerError, BackupPlatformEvent as BackupPlatformEvent, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, CreateBackupStage as CreateBackupStage, CreateBackupState as CreateBackupState, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupStage as RestoreBackupStage, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
4
4
  from .models import AddonInfo as AddonInfo, AgentBackup as AgentBackup, BackupNotFound as BackupNotFound, Folder as Folder
5
5
  from .util import suggested_filename as suggested_filename, suggested_filename_from_name_date as suggested_filename_from_name_date
6
+ from homeassistant.core import HomeAssistant, callback
6
7
 
7
- __all__ = ['AddonErrorData', 'AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupConfig', 'BackupManagerError', 'BackupNotFound', 'BackupPlatformEvent', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'CreateBackupParametersDict', 'CreateBackupStage', 'CreateBackupState', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'ManagerStateEvent', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupStage', 'RestoreBackupState', 'WrittenBackup', 'suggested_filename', 'suggested_filename_from_name_date']
8
+ __all__ = ['AddonErrorData', 'AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupConfig', 'BackupManagerError', 'BackupNotFound', 'BackupPlatformEvent', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'CreateBackupParametersDict', 'CreateBackupStage', 'CreateBackupState', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupStage', 'RestoreBackupState', 'WrittenBackup', 'async_get_manager', 'suggested_filename', 'suggested_filename_from_name_date']
9
+
10
+ @callback
11
+ def async_get_manager(hass: HomeAssistant) -> BackupManager: ...
@@ -6,7 +6,6 @@ from dataclasses import dataclass
6
6
  from datetime import datetime
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.helpers.backup import async_subscribe_events as async_subscribe_events, async_subscribe_platform_events as async_subscribe_platform_events
10
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
11
10
 
12
11
  type BackupConfigEntry = ConfigEntry[BackupDataUpdateCoordinator]
@@ -14,7 +14,6 @@ from enum import StrEnum
14
14
  from homeassistant.backup_restore import RESTORE_BACKUP_FILE as RESTORE_BACKUP_FILE, RESTORE_BACKUP_RESULT_FILE as RESTORE_BACKUP_RESULT_FILE, password_to_key as password_to_key
15
15
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
16
16
  from homeassistant.helpers import frame as frame, instance_id as instance_id, integration_platform as integration_platform, start as start
17
- from homeassistant.helpers.backup import DATA_BACKUP as DATA_BACKUP
18
17
  from homeassistant.helpers.json import json_bytes as json_bytes
19
18
  from pathlib import Path
20
19
  from typing import Any, Protocol, TypedDict
@@ -178,8 +177,8 @@ class BackupManager:
178
177
  remove_next_delete_event: Callable[[], None] | None
179
178
  last_event: ManagerStateEvent
180
179
  last_action_event: ManagerStateEvent | None
181
- _backup_event_subscriptions: Incomplete
182
- _backup_platform_event_subscriptions: Incomplete
180
+ _backup_event_subscriptions: list[Callable[[ManagerStateEvent], None]]
181
+ _backup_platform_event_subscriptions: list[Callable[[BackupPlatformEvent], None]]
183
182
  def __init__(self, hass: HomeAssistant, reader_writer: BackupReaderWriter) -> None: ...
184
183
  async def async_setup(self) -> None: ...
185
184
  @property
@@ -211,6 +210,10 @@ class BackupManager:
211
210
  async def _async_restore_backup(self, backup_id: str, *, agent_id: str, password: str | None, restore_addons: list[str] | None, restore_database: bool, restore_folders: list[Folder] | None, restore_homeassistant: bool) -> None: ...
212
211
  @callback
213
212
  def async_on_backup_event(self, event: ManagerStateEvent) -> None: ...
213
+ @callback
214
+ def async_subscribe_events(self, on_event: Callable[[ManagerStateEvent], None]) -> Callable[[], None]: ...
215
+ @callback
216
+ def async_subscribe_platform_events(self, on_event: Callable[[BackupPlatformEvent], None]) -> Callable[[], None]: ...
214
217
  def _create_automatic_backup_failed_issue(self, translation_key: str, translation_placeholders: dict[str, str] | None) -> None: ...
215
218
  def _update_issue_backup_failed(self) -> None: ...
216
219
  def _update_issue_after_agent_upload(self, written_backup: WrittenBackup, agent_errors: dict[str, Exception], unavailable_agents: list[str]) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import BackupManager as BackupManager, Folder as Folder, IncorrectPasswordError as IncorrectPasswordError, http as backup_http
1
+ from . import BackupManager as BackupManager, Folder as Folder, IncorrectPasswordError as IncorrectPasswordError, async_get_manager as async_get_manager, http as backup_http
2
2
  from aiohttp import web
3
3
  from collections.abc import Callable as Callable, Coroutine
4
4
  from homeassistant.components.http import KEY_HASS as KEY_HASS
@@ -0,0 +1,7 @@
1
+ from .const import DATA_MANAGER as DATA_MANAGER, DOMAIN as DOMAIN
2
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
3
+ from homeassistant.helpers.hassio import is_hassio as is_hassio
4
+
5
+ async def _async_handle_create_service(call: ServiceCall) -> None: ...
6
+ async def _async_handle_create_automatic_service(call: ServiceCall) -> None: ...
7
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .config import Day as Day, ScheduleRecurrence as ScheduleRecurrence
2
2
  from .const import DATA_MANAGER as DATA_MANAGER, LOGGER as LOGGER
3
- from .manager import DecryptOnDowloadNotSupported as DecryptOnDowloadNotSupported, IncorrectPasswordError as IncorrectPasswordError
3
+ from .manager import DecryptOnDowloadNotSupported as DecryptOnDowloadNotSupported, IncorrectPasswordError as IncorrectPasswordError, ManagerStateEvent as ManagerStateEvent
4
4
  from .models import BackupNotFound as BackupNotFound, Folder as Folder
5
5
  from homeassistant.components import websocket_api as websocket_api
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -42,3 +42,6 @@ async def handle_config_info(hass: HomeAssistant, connection: websocket_api.Acti
42
42
  @callback
43
43
  @websocket_api.require_admin
44
44
  def handle_config_update(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
45
+ @websocket_api.require_admin
46
+ @websocket_api.async_response
47
+ async def handle_subscribe_events(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,8 +1,8 @@
1
- from .const import DOMAIN as DOMAIN, EVSE_ID as EVSE_ID, LOGGER as LOGGER, MODEL_TYPE as MODEL_TYPE
1
+ from .const import CHARGEPOINT_SETTINGS as CHARGEPOINT_SETTINGS, CHARGEPOINT_STATUS as CHARGEPOINT_STATUS, DOMAIN as DOMAIN, EVSE_ID as EVSE_ID, LOGGER as LOGGER, PLUG_AND_CHARGE as PLUG_AND_CHARGE, VALUE as VALUE
2
2
  from _typeshed import Incomplete
3
3
  from bluecurrent_api import Client
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import ATTR_NAME as ATTR_NAME, CONF_API_TOKEN as CONF_API_TOKEN, Platform as Platform
5
+ from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
@@ -29,9 +29,9 @@ class Connector:
29
29
  def __init__(self, hass: HomeAssistant, config: BlueCurrentConfigEntry, client: Client) -> None: ...
30
30
  async def on_data(self, message: dict) -> None: ...
31
31
  async def handle_charge_point_data(self, charge_points_data: list) -> None: ...
32
- async def handle_charge_point(self, evse_id: str, model: str, name: str) -> None: ...
33
- def add_charge_point(self, evse_id: str, model: str, name: str) -> None: ...
34
- def update_charge_point(self, evse_id: str, data: dict) -> None: ...
32
+ async def handle_charge_point(self, evse_id: str, charge_point: dict[str, Any]) -> None: ...
33
+ def add_charge_point(self, evse_id: str, charge_point: dict[str, Any]) -> None: ...
34
+ def update_charge_point(self, evse_id: str, update_type: str, data: dict) -> None: ...
35
35
  def dispatch_charge_point_update_signal(self, evse_id: str) -> None: ...
36
36
  def dispatch_grid_update_signal(self) -> None: ...
37
37
  async def on_open(self) -> None: ...
@@ -4,3 +4,14 @@ DOMAIN: str
4
4
  LOGGER: Incomplete
5
5
  EVSE_ID: str
6
6
  MODEL_TYPE: str
7
+ PLUG_AND_CHARGE: str
8
+ VALUE: str
9
+ PERMISSION: str
10
+ CHARGEPOINT_STATUS: str
11
+ CHARGEPOINT_SETTINGS: str
12
+ BLOCK: str
13
+ UNAVAILABLE: str
14
+ AVAILABLE: str
15
+ LINKED_CHARGE_CARDS: str
16
+ PUBLIC_CHARGING: str
17
+ ACTIVITY: str
@@ -0,0 +1,40 @@
1
+ from . import BlueCurrentConfigEntry as BlueCurrentConfigEntry, Connector as Connector, PLUG_AND_CHARGE as PLUG_AND_CHARGE
2
+ from .const import AVAILABLE as AVAILABLE, BLOCK as BLOCK, LINKED_CHARGE_CARDS as LINKED_CHARGE_CARDS, PUBLIC_CHARGING as PUBLIC_CHARGING, UNAVAILABLE as UNAVAILABLE, VALUE as VALUE
3
+ from .entity import ChargepointEntity as ChargepointEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any
11
+
12
+ @dataclass(kw_only=True, frozen=True)
13
+ class BlueCurrentSwitchEntityDescription(SwitchEntityDescription):
14
+ function: Callable[[Connector, str, bool], Any]
15
+ turn_on_off_fn: Callable[[str, Connector], tuple[bool, bool]]
16
+
17
+ def update_on_value_and_activity(key: str, evse_id: str, connector: Connector, reverse_is_on: bool = False) -> tuple[bool, bool]: ...
18
+ def update_block_switch(evse_id: str, connector: Connector) -> tuple[bool, bool]: ...
19
+ def update_charge_point(key: str, evse_id: str, connector: Connector, new_switch_value: bool) -> None: ...
20
+ async def set_plug_and_charge(connector: Connector, evse_id: str, value: bool) -> None: ...
21
+ async def set_linked_charge_cards(connector: Connector, evse_id: str, value: bool) -> None: ...
22
+
23
+ SWITCHES: Incomplete
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: BlueCurrentConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+
27
+ class ChargePointSwitch(ChargepointEntity, SwitchEntity):
28
+ has_value: bool
29
+ entity_description: BlueCurrentSwitchEntityDescription
30
+ key: Incomplete
31
+ evse_id: Incomplete
32
+ _attr_available: bool
33
+ _attr_unique_id: Incomplete
34
+ def __init__(self, connector: Connector, evse_id: str, switch: BlueCurrentSwitchEntityDescription) -> None: ...
35
+ async def call_function(self, value: bool) -> None: ...
36
+ _attr_is_on: bool
37
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
38
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
39
+ @callback
40
+ def update_from_latest_data(self) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE, DOMAIN as DOMAIN
2
- from .services import setup_services as setup_services
2
+ from .services import async_setup_services as async_setup_services
3
3
  from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, Platform as Platform
@@ -3,7 +3,7 @@ from .const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATETIME a
3
3
  from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
8
  from typing import Any
9
9
 
@@ -12,4 +12,5 @@ def validate_datetime(value: Any) -> dt.datetime: ...
12
12
  SET_DATE_TIME_SCHEMA: Incomplete
13
13
 
14
14
  async def async_set_panel_date(call: ServiceCall) -> None: ...
15
- def setup_services(hass: HomeAssistant) -> None: ...
15
+ @callback
16
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,11 +1,16 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import BringActivityCoordinator as BringActivityCoordinator, BringConfigEntry as BringConfigEntry, BringCoordinators as BringCoordinators, BringDataUpdateCoordinator as BringDataUpdateCoordinator
3
+ from .services import async_setup_services as async_setup_services
2
4
  from _typeshed import Incomplete
3
5
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
4
6
  from homeassistant.core import HomeAssistant as HomeAssistant
5
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
6
9
 
10
+ CONFIG_SCHEMA: Incomplete
7
11
  PLATFORMS: list[Platform]
8
12
  _LOGGER: Incomplete
9
13
 
14
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
10
15
  async def async_setup_entry(hass: HomeAssistant, entry: BringConfigEntry) -> bool: ...
11
16
  async def async_unload_entry(hass: HomeAssistant, entry: BringConfigEntry) -> bool: ...
@@ -4,4 +4,8 @@ DOMAIN: str
4
4
  ATTR_SENDER: Final[str]
5
5
  ATTR_ITEM_NAME: Final[str]
6
6
  ATTR_NOTIFICATION_TYPE: Final[str]
7
+ ATTR_REACTION: Final[str]
8
+ ATTR_ACTIVITY: Final[str]
9
+ ATTR_RECEIVER: Final[str]
7
10
  SERVICE_PUSH_NOTIFICATION: str
11
+ SERVICE_ACTIVITY_STREAM_REACTION: str
@@ -0,0 +1,14 @@
1
+ from .const import ATTR_ACTIVITY as ATTR_ACTIVITY, ATTR_REACTION as ATTR_REACTION, ATTR_RECEIVER as ATTR_RECEIVER, DOMAIN as DOMAIN, SERVICE_ACTIVITY_STREAM_REACTION as SERVICE_ACTIVITY_STREAM_REACTION
2
+ from .coordinator import BringConfigEntry as BringConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.event import ATTR_EVENT_TYPE as ATTR_EVENT_TYPE
5
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
+
10
+ _LOGGER: Incomplete
11
+ SERVICE_ACTIVITY_STREAM_REACTION_SCHEMA: Incomplete
12
+
13
+ def get_config_entry(hass: HomeAssistant, entry_id: str) -> BringConfigEntry: ...
14
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -3,7 +3,7 @@ from .const import DATA_CLOUD as DATA_CLOUD, DOMAIN as DOMAIN, EVENT_CLOUD_EVENT
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import AsyncIterator, Callable as Callable, Coroutine
5
5
  from hass_nabucasa import Cloud as Cloud
6
- from hass_nabucasa.cloud_api import FilesHandlerListEntry as FilesHandlerListEntry
6
+ from hass_nabucasa.files import StoredFile as StoredFile
7
7
  from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupNotFound as BackupNotFound
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
@@ -30,6 +30,6 @@ class CloudBackupAgent(BackupAgent):
30
30
  async def async_upload_backup(self, *, open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]], backup: AgentBackup, **kwargs: Any) -> None: ...
31
31
  async def async_delete_backup(self, backup_id: str, **kwargs: Any) -> None: ...
32
32
  async def async_list_backups(self, **kwargs: Any) -> list[AgentBackup]: ...
33
- async def _async_list_backups(self) -> list[FilesHandlerListEntry]: ...
33
+ async def _async_list_backups(self) -> list[StoredFile]: ...
34
34
  async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup: ...
35
- async def _async_get_backup(self, backup_id: str) -> FilesHandlerListEntry: ...
35
+ async def _async_get_backup(self, backup_id: str) -> StoredFile: ...
@@ -1,20 +1,20 @@
1
1
  import asyncio
2
2
  from .const import DATA_CLOUD as DATA_CLOUD, DOMAIN as DOMAIN
3
3
  from .subscription import async_migrate_paypal_agreement as async_migrate_paypal_agreement, async_subscription_info as async_subscription_info
4
+ from hass_nabucasa.payments_api import SubscriptionInfo as SubscriptionInfo
4
5
  from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow, repairs_flow_manager as repairs_flow_manager
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.data_entry_flow import FlowResult as FlowResult
7
- from typing import Any
8
8
 
9
9
  BACKOFF_TIME: int
10
10
  MAX_RETRIES: int
11
11
 
12
12
  @callback
13
- def async_manage_legacy_subscription_issue(hass: HomeAssistant, subscription_info: dict[str, Any]) -> None: ...
13
+ def async_manage_legacy_subscription_issue(hass: HomeAssistant, subscription_info: SubscriptionInfo) -> None: ...
14
14
 
15
15
  class LegacySubscriptionRepairFlow(RepairsFlow):
16
16
  wait_task: asyncio.Task | None
17
- _data: dict[str, Any] | None
17
+ _data: SubscriptionInfo | None
18
18
  async def async_step_init(self, _: None = None) -> FlowResult: ...
19
19
  async def async_step_confirm_change_plan(self, user_input: dict[str, str] | None = None) -> FlowResult: ...
20
20
  async def async_step_change_plan(self, _: None = None) -> FlowResult: ...
@@ -2,9 +2,10 @@ from .client import CloudClient as CloudClient
2
2
  from .const import REQUEST_TIMEOUT as REQUEST_TIMEOUT
3
3
  from _typeshed import Incomplete
4
4
  from hass_nabucasa import Cloud as Cloud
5
+ from hass_nabucasa.payments_api import SubscriptionInfo as SubscriptionInfo
5
6
  from typing import Any
6
7
 
7
8
  _LOGGER: Incomplete
8
9
 
9
- async def async_subscription_info(cloud: Cloud[CloudClient]) -> dict[str, Any] | None: ...
10
+ async def async_subscription_info(cloud: Cloud[CloudClient]) -> SubscriptionInfo | None: ...
10
11
  async def async_migrate_paypal_agreement(cloud: Cloud[CloudClient]) -> dict[str, Any] | None: ...
@@ -5,7 +5,7 @@ from .prefs import CloudPreferences as CloudPreferences
5
5
  from _typeshed import Incomplete
6
6
  from hass_nabucasa import Cloud as Cloud
7
7
  from hass_nabucasa.voice import Gender
8
- from homeassistant.components.tts import ATTR_AUDIO_OUTPUT as ATTR_AUDIO_OUTPUT, ATTR_VOICE as ATTR_VOICE, CONF_LANG as CONF_LANG, Provider as Provider, TextToSpeechEntity as TextToSpeechEntity, TtsAudioType as TtsAudioType, Voice as Voice
8
+ from homeassistant.components.tts import ATTR_AUDIO_OUTPUT as ATTR_AUDIO_OUTPUT, ATTR_VOICE as ATTR_VOICE, CONF_LANG as CONF_LANG, Provider as Provider, TTSAudioRequest as TTSAudioRequest, TTSAudioResponse as TTSAudioResponse, TextToSpeechEntity as TextToSpeechEntity, TtsAudioType as TtsAudioType, Voice as Voice
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
@@ -49,6 +49,7 @@ class CloudTTSEntity(TextToSpeechEntity):
49
49
  @callback
50
50
  def async_get_supported_voices(self, language: str) -> list[Voice] | None: ...
51
51
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
52
+ async def async_stream_tts_audio(self, request: TTSAudioRequest) -> TTSAudioResponse: ...
52
53
 
53
54
  class CloudProvider(Provider):
54
55
  has_entity: bool
@@ -3,8 +3,6 @@ from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, CONF_JSON_ATTRI
3
3
  from .utils import async_check_output_or_log as async_check_output_or_log, render_template_args as render_template_args
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime, timedelta
6
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
7
- from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
8
6
  from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -28,11 +28,8 @@ class StateDemoVacuum(StateVacuumEntity):
28
28
  _attr_activity: Incomplete
29
29
  _fan_speed: Incomplete
30
30
  _cleaned_area: float
31
- _battery_level: int
32
31
  def __init__(self, name: str, supported_features: VacuumEntityFeature) -> None: ...
33
32
  @property
34
- def battery_level(self) -> int: ...
35
- @property
36
33
  def fan_speed(self) -> str: ...
37
34
  @property
38
35
  def fan_speed_list(self) -> list[str]: ...
@@ -1,9 +1,13 @@
1
+ from _typeshed import Incomplete
1
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
2
3
  from homeassistant.const import CONF_SOURCE as CONF_SOURCE, Platform as Platform
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
4
5
  from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
5
- from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
6
+ from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
7
+
8
+ _LOGGER: Incomplete
6
9
 
7
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
8
11
  async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
9
12
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -24,4 +24,6 @@ OPTIONS_FLOW: Incomplete
24
24
  class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
25
25
  config_flow = CONFIG_FLOW
26
26
  options_flow = OPTIONS_FLOW
27
+ VERSION: int
28
+ MINOR_VERSION: int
27
29
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -6,8 +6,7 @@ from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_SOURCE as CONF_SOURCE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData, HomeAssistant as HomeAssistant, State as State, callback as callback
9
- from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
10
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
+ from homeassistant.helpers.device import async_entity_id_to_device as async_entity_id_to_device
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
12
11
  from homeassistant.helpers.event import async_call_later as async_call_later, async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
13
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -28,11 +27,12 @@ class DerivativeSensor(RestoreSensor, SensorEntity):
28
27
  _attr_translation_key: str
29
28
  _attr_should_poll: bool
30
29
  _attr_unique_id: Incomplete
31
- _attr_device_info: Incomplete
30
+ device_entry: Incomplete
32
31
  _sensor_source_id: Incomplete
33
32
  _round_digits: Incomplete
34
33
  _attr_native_value: Incomplete
35
34
  _state_list: list[tuple[datetime, datetime, Decimal]]
35
+ _last_valid_state_time: tuple[str, datetime] | None
36
36
  _attr_name: Incomplete
37
37
  _attr_extra_state_attributes: Incomplete
38
38
  _unit_template: Incomplete
@@ -42,7 +42,10 @@ class DerivativeSensor(RestoreSensor, SensorEntity):
42
42
  _time_window: Incomplete
43
43
  _max_sub_interval: timedelta | None
44
44
  _cancel_max_sub_interval_exceeded_callback: CALLBACK_TYPE
45
- def __init__(self, *, name: str | None, round_digits: int, source_entity: str, time_window: timedelta, unit_of_measurement: str | None, unit_prefix: str | None, unit_time: UnitOfTime, max_sub_interval: timedelta | None, unique_id: str | None, device_info: DeviceInfo | None = None) -> None: ...
45
+ def __init__(self, hass: HomeAssistant, *, name: str | None, round_digits: int, source_entity: str, time_window: timedelta, unit_of_measurement: str | None, unit_prefix: str | None, unit_time: UnitOfTime, max_sub_interval: timedelta | None, unique_id: str | None) -> None: ...
46
46
  def _calc_derivative_from_state_list(self, current_time: datetime) -> Decimal: ...
47
47
  def _prune_state_list(self, current_time: datetime) -> None: ...
48
+ _attr_available: bool
49
+ def _handle_invalid_source_state(self, state: State | None) -> bool: ...
50
+ def _write_native_value(self, derivative: Decimal | None) -> None: ...
48
51
  async def async_added_to_hass(self) -> None: ...
@@ -3,22 +3,18 @@ from .const import DOMAIN as DOMAIN, SUPPORTED_MODEL_TYPES as SUPPORTED_MODEL_TY
3
3
  from .exceptions import CredentialsInvalid as CredentialsInvalid, UuidChanged as UuidChanged
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
7
7
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
- from homeassistant.core import callback as callback
9
8
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
9
  from typing import Any
11
10
 
11
+ DATA_SCHEMA: Incomplete
12
+
12
13
  class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN):
13
14
  VERSION: int
14
- _reauth_entry: ConfigEntry
15
- data_schema: Incomplete
16
- def __init__(self) -> None: ...
17
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
16
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
19
17
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
18
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
21
19
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
20
  async def _connect_mydevolo(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
23
- @callback
24
- def _show_form(self, step_id: str, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from devolo_home_control_api.devices.zwave import Zwave as Zwave
5
5
  from devolo_home_control_api.homecontrol import HomeControl as HomeControl
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
7
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
7
  from homeassistant.helpers.entity import Entity as Entity
9
8
 
10
9
  _LOGGER: Incomplete
@@ -42,10 +42,10 @@ class DevoloUptimeGetCoordinator(DevoloDataUpdateCoordinator[int]):
42
42
  def __init__(self, hass: HomeAssistant, logger: Logger, *, config_entry: ConfigEntry, name: str = ..., update_interval: timedelta | None = ...) -> None: ...
43
43
  async def async_update_last_restart(self) -> int: ...
44
44
 
45
- class DevoloWifiConnectedStationsGetCoordinator(DevoloDataUpdateCoordinator[list[ConnectedStationInfo]]):
45
+ class DevoloWifiConnectedStationsGetCoordinator(DevoloDataUpdateCoordinator[dict[str, ConnectedStationInfo]]):
46
46
  update_method: Incomplete
47
47
  def __init__(self, hass: HomeAssistant, logger: Logger, *, config_entry: ConfigEntry, name: str = ..., update_interval: timedelta | None = ...) -> None: ...
48
- async def async_get_wifi_connected_station(self) -> list[ConnectedStationInfo]: ...
48
+ async def async_get_wifi_connected_station(self) -> dict[str, ConnectedStationInfo]: ...
49
49
 
50
50
  class DevoloWifiGuestAccessGetCoordinator(DevoloDataUpdateCoordinator[WifiGuestAccessGet]):
51
51
  update_method: Incomplete
@@ -13,13 +13,13 @@ PARALLEL_UPDATES: int
13
13
 
14
14
  async def async_setup_entry(hass: HomeAssistant, entry: DevoloHomeNetworkConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
15
 
16
- class DevoloScannerEntity(CoordinatorEntity[DevoloDataUpdateCoordinator[list[ConnectedStationInfo]]], ScannerEntity):
16
+ class DevoloScannerEntity(CoordinatorEntity[DevoloDataUpdateCoordinator[dict[str, ConnectedStationInfo]]], ScannerEntity):
17
17
  _attr_has_entity_name: bool
18
18
  _attr_translation_key: str
19
19
  _device: Incomplete
20
20
  _attr_mac_address: Incomplete
21
21
  _attr_name: Incomplete
22
- def __init__(self, coordinator: DevoloDataUpdateCoordinator[list[ConnectedStationInfo]], device: Device, mac: str) -> None: ...
22
+ def __init__(self, coordinator: DevoloDataUpdateCoordinator[dict[str, ConnectedStationInfo]], device: Device, mac: str) -> None: ...
23
23
  @property
24
24
  def extra_state_attributes(self) -> dict[str, str]: ...
25
25
  @property
@@ -8,7 +8,7 @@ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONN
8
8
  from homeassistant.helpers.entity import Entity as Entity
9
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
10
 
11
- type _DataType = LogicalNetwork | DataRate | list[ConnectedStationInfo] | list[NeighborAPInfo] | WifiGuestAccessGet | bool | int
11
+ type _DataType = LogicalNetwork | DataRate | dict[str, ConnectedStationInfo] | list[NeighborAPInfo] | WifiGuestAccessGet | bool | int
12
12
  class DevoloEntity(Entity):
13
13
  _attr_has_entity_name: bool
14
14
  device: Incomplete
@@ -18,7 +18,7 @@ from typing import Any
18
18
  PARALLEL_UPDATES: int
19
19
 
20
20
  def _last_restart(runtime: int) -> datetime: ...
21
- type _CoordinatorDataType = LogicalNetwork | DataRate | list[ConnectedStationInfo] | list[NeighborAPInfo] | int
21
+ type _CoordinatorDataType = LogicalNetwork | DataRate | dict[str, ConnectedStationInfo] | list[NeighborAPInfo] | int
22
22
  type _SensorDataType = int | float | datetime
23
23
 
24
24
  class DataRateDirection(StrEnum):
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import DiscovergyConfigEntry as DiscovergyConfigEntry, DiscovergyUpdateCoordinator as DiscovergyUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -4,6 +4,5 @@ from homeassistant.const import CONF_PORT as CONF_PORT
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, _LOGGER as _LOGGER
5
5
 
6
6
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
7
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
8
7
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
8
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_HOSTNAME as CONF_HOSTNAME, CONF_IPV4 as CONF_IPV4, CONF_IPV6 as CONF_IPV6, CONF_IPV6_V4 as CONF_IPV6_V4, CONF_PORT_IPV6 as CONF_PORT_IPV6, CONF_RESOLVER as CONF_RESOLVER, CONF_RESOLVER_IPV6 as CONF_RESOLVER_IPV6, DEFAULT_HOSTNAME as DEFAULT_HOSTNAME, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_RESOLVER as DEFAULT_RESOLVER, DEFAULT_RESOLVER_IPV6 as DEFAULT_RESOLVER_IPV6, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
4
4
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
5
5
  from homeassistant.core import callback as callback
6
6
  from typing import Any
@@ -18,5 +18,5 @@ class DnsIPConfigFlow(ConfigFlow, domain=DOMAIN):
18
18
  def async_get_options_flow(config_entry: ConfigEntry) -> DnsIPOptionsFlowHandler: ...
19
19
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
20
 
21
- class DnsIPOptionsFlowHandler(OptionsFlow):
21
+ class DnsIPOptionsFlowHandler(OptionsFlowWithReload):
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,15 +1,16 @@
1
1
  from . import EcovacsConfigEntry as EcovacsConfigEntry
2
- from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity
2
+ from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsLegacyEntity as EcovacsLegacyEntity
3
3
  from .util import get_supported_entities as get_supported_entities
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from deebot_client.capabilities import CapabilityEvent
8
- from deebot_client.events.base import Event as Event
9
- from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
+ from deebot_client.events import Event as Event
9
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
10
10
  from homeassistant.const import EntityCategory as EntityCategory
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+ from sucks import VacBot as VacBot
13
14
 
14
15
  @dataclass(kw_only=True, frozen=True)
15
16
  class EcovacsBinarySensorEntityDescription[EventT: Event](BinarySensorEntityDescription, EcovacsCapabilityEntityDescription):
@@ -23,3 +24,12 @@ class EcovacsBinarySensor[EventT: Event](EcovacsDescriptionEntity[CapabilityEven
23
24
  entity_description: EcovacsBinarySensorEntityDescription
24
25
  _attr_is_on: Incomplete
25
26
  async def async_added_to_hass(self) -> None: ...
27
+
28
+ class EcovacsLegacyBatteryChargingSensor(EcovacsLegacyEntity, BinarySensorEntity):
29
+ _attr_device_class: Incomplete
30
+ _attr_entity_category: Incomplete
31
+ _attr_unique_id: Incomplete
32
+ def __init__(self, device: VacBot) -> None: ...
33
+ async def async_added_to_hass(self) -> None: ...
34
+ @property
35
+ def is_on(self) -> bool | None: ...
@@ -12,6 +12,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
12
12
  from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, CONF_DESCRIPTION as CONF_DESCRIPTION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfArea as UnitOfArea, UnitOfTime as UnitOfTime
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
15
+ from homeassistant.helpers.icon import icon_for_battery_level as icon_for_battery_level
15
16
  from homeassistant.helpers.typing import StateType as StateType
16
17
  from sucks import VacBot as VacBot
17
18
  from typing import Any
@@ -61,6 +62,18 @@ class EcovacsErrorSensor(EcovacsEntity[CapabilityEvent[ErrorEvent]], SensorEntit
61
62
  _attr_extra_state_attributes: Incomplete
62
63
  async def async_added_to_hass(self) -> None: ...
63
64
 
65
+ class EcovacsLegacyBatterySensor(EcovacsLegacyEntity, SensorEntity):
66
+ _attr_native_unit_of_measurement = PERCENTAGE
67
+ _attr_device_class: Incomplete
68
+ _attr_entity_category: Incomplete
69
+ _attr_unique_id: Incomplete
70
+ def __init__(self, device: VacBot) -> None: ...
71
+ async def async_added_to_hass(self) -> None: ...
72
+ @property
73
+ def native_value(self) -> StateType: ...
74
+ @property
75
+ def icon(self) -> str | None: ...
76
+
64
77
  class EcovacsLegacyLifespanSensor(EcovacsLegacyEntity, SensorEntity):
65
78
  entity_description: EcovacsLegacyLifespanSensorEntityDescription
66
79
  _attr_unique_id: Incomplete