homeassistant-stubs 2025.7.3__py3-none-any.whl → 2025.8.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (495) 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/diagnostics.pyi +13 -0
  9. homeassistant-stubs/components/airos/entity.pyi +11 -0
  10. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  11. homeassistant-stubs/components/airq/const.pyi +0 -1
  12. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  13. homeassistant-stubs/components/airthings/__init__.pyi +1 -3
  14. homeassistant-stubs/components/airthings/coordinator.pyi +3 -1
  15. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  16. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  17. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  18. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  19. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  20. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  21. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  22. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  23. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  24. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  25. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  26. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  27. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  28. homeassistant-stubs/components/analytics/http.pyi +10 -0
  29. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  30. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  31. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  32. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  33. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  34. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  35. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  36. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  37. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  38. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  39. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  40. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  41. homeassistant-stubs/components/asuswrt/router.pyi +3 -1
  42. homeassistant-stubs/components/awair/const.pyi +1 -0
  43. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  44. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  45. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  46. homeassistant-stubs/components/backup/manager.pyi +6 -3
  47. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  48. homeassistant-stubs/components/backup/services.pyi +7 -0
  49. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  50. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  51. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  52. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  53. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  54. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  55. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  56. homeassistant-stubs/components/bring/const.pyi +4 -0
  57. homeassistant-stubs/components/bring/services.pyi +14 -0
  58. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  59. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  60. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  61. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  62. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  63. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  64. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  65. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  66. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  67. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  68. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  69. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  70. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  71. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  72. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  73. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  74. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  75. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  76. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  77. homeassistant-stubs/components/downloader/services.pyi +1 -0
  78. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  79. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  80. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  81. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  82. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  83. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  84. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  85. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  86. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  87. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  88. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  89. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  90. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  91. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  92. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  93. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  94. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  95. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  96. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  97. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  98. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  99. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  100. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  101. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +1 -1
  102. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  103. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  104. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  105. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  106. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  107. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  108. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  109. homeassistant-stubs/components/gios/const.pyi +2 -0
  110. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  111. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  112. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  113. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  114. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  115. homeassistant-stubs/components/guardian/services.pyi +2 -1
  116. homeassistant-stubs/components/habitica/button.pyi +3 -4
  117. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  118. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  119. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  120. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  121. homeassistant-stubs/components/habitica/util.pyi +2 -1
  122. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  123. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  124. homeassistant-stubs/components/heos/services.pyi +3 -2
  125. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  126. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  127. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  128. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  129. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  130. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  131. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  132. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  133. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  134. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  135. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  136. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  137. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  139. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  140. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  141. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  142. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  143. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  144. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  145. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  146. homeassistant-stubs/components/http/__init__.pyi +1 -2
  147. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  148. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  149. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  150. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  151. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  152. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  153. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  154. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  155. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  156. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  157. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  158. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  159. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  160. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  161. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  162. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  163. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  164. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  165. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  167. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  168. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  169. homeassistant-stubs/components/immich/services.pyi +18 -0
  170. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  171. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  172. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  173. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  174. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  175. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  176. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  177. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  178. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  179. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  180. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  181. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  182. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  183. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  184. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  185. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  186. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  187. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  188. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  189. homeassistant-stubs/components/knx/button.pyi +1 -1
  190. homeassistant-stubs/components/knx/climate.pyi +1 -1
  191. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  192. homeassistant-stubs/components/knx/const.pyi +1 -1
  193. homeassistant-stubs/components/knx/cover.pyi +3 -2
  194. homeassistant-stubs/components/knx/date.pyi +1 -1
  195. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  196. homeassistant-stubs/components/knx/entity.pyi +1 -1
  197. homeassistant-stubs/components/knx/fan.pyi +1 -1
  198. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  199. homeassistant-stubs/components/knx/light.pyi +3 -2
  200. homeassistant-stubs/components/knx/notify.pyi +1 -1
  201. homeassistant-stubs/components/knx/number.pyi +1 -1
  202. homeassistant-stubs/components/knx/scene.pyi +1 -1
  203. homeassistant-stubs/components/knx/select.pyi +1 -1
  204. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  205. homeassistant-stubs/components/knx/services.pyi +2 -2
  206. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  207. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  208. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  209. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  210. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  211. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  212. homeassistant-stubs/components/knx/switch.pyi +3 -2
  213. homeassistant-stubs/components/knx/text.pyi +1 -1
  214. homeassistant-stubs/components/knx/time.pyi +1 -1
  215. homeassistant-stubs/components/knx/weather.pyi +1 -1
  216. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  217. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  218. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  219. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  220. homeassistant-stubs/components/lcn/light.pyi +2 -1
  221. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  222. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  223. homeassistant-stubs/components/letpot/time.pyi +1 -1
  224. homeassistant-stubs/components/lifx/const.pyi +1 -0
  225. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  226. homeassistant-stubs/components/lifx/light.pyi +1 -1
  227. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  228. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  229. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  230. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  231. homeassistant-stubs/components/matrix/services.pyi +3 -2
  232. homeassistant-stubs/components/matter/entity.pyi +2 -2
  233. homeassistant-stubs/components/matter/light.pyi +1 -1
  234. homeassistant-stubs/components/matter/number.pyi +29 -1
  235. homeassistant-stubs/components/matter/select.pyi +2 -2
  236. homeassistant-stubs/components/matter/vacuum.pyi +2 -1
  237. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  238. homeassistant-stubs/components/mealie/const.pyi +2 -0
  239. homeassistant-stubs/components/mealie/services.pyi +4 -1
  240. homeassistant-stubs/components/media_player/const.pyi +2 -2
  241. homeassistant-stubs/components/media_source/const.pyi +3 -0
  242. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  243. homeassistant-stubs/components/media_source/models.pyi +6 -2
  244. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  245. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  246. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  247. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  248. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  249. homeassistant-stubs/components/miele/entity.pyi +2 -0
  250. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  251. homeassistant-stubs/components/miele/services.pyi +24 -0
  252. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  253. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  254. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  255. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  256. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  257. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  258. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  259. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  260. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  261. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -3
  262. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  263. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  264. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  265. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  266. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  267. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  268. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  269. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  270. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  271. homeassistant-stubs/components/number/const.pyi +2 -1
  272. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  273. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  274. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  275. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  276. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  277. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  278. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  279. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  280. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  281. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  282. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  283. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  284. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  285. homeassistant-stubs/components/open_router/const.pyi +8 -0
  286. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  287. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  288. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  289. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  290. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  291. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  292. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  293. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  294. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  295. homeassistant-stubs/components/opower/config_flow.pyi +30 -0
  296. homeassistant-stubs/components/opower/const.pyi +4 -0
  297. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  298. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  299. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  300. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  301. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  302. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  303. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  304. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  305. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  306. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  307. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  308. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  309. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  310. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  311. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  312. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  313. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  314. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  315. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  316. homeassistant-stubs/components/renault/services.pyi +3 -2
  317. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  318. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  319. homeassistant-stubs/components/reolink/number.pyi +1 -1
  320. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  321. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  322. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  323. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  324. homeassistant-stubs/components/roborock/vacuum.pyi +0 -2
  325. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  326. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  327. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  328. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  329. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  330. homeassistant-stubs/components/sensor/const.pyi +2 -1
  331. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  332. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  333. homeassistant-stubs/components/shelly/button.pyi +2 -2
  334. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  335. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  336. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  337. homeassistant-stubs/components/shelly/event.pyi +2 -2
  338. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  339. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  340. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  341. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  342. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  343. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  344. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  345. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  346. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  347. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  348. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  349. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  350. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  351. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  352. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  353. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  354. homeassistant-stubs/components/squeezebox/browse_media.pyi +3 -1
  355. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  356. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  357. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -2
  358. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  359. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  360. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  361. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  362. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  363. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  364. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  365. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  366. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  367. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  368. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  369. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  370. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  371. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  372. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  373. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  374. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  375. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  376. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  377. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  378. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  379. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  380. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  381. homeassistant-stubs/components/telegram_bot/webhooks.pyi +3 -1
  382. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  383. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  384. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  385. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  386. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  387. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  388. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  389. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  390. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  391. homeassistant-stubs/components/tts/entity.pyi +0 -2
  392. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +3 -2
  393. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  394. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  395. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  396. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  397. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  398. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  399. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  400. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  401. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  402. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  403. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  404. homeassistant-stubs/components/vacuum/__init__.pyi +8 -0
  405. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  406. homeassistant-stubs/components/velbus/const.pyi +0 -1
  407. homeassistant-stubs/components/velbus/services.pyi +4 -4
  408. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  409. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  410. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  411. homeassistant-stubs/components/volvo/api.pyi +14 -0
  412. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  413. homeassistant-stubs/components/volvo/config_flow.pyi +36 -0
  414. homeassistant-stubs/components/volvo/const.pyi +8 -0
  415. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  416. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  417. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  418. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  419. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  420. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  421. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  422. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  423. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  424. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  425. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  426. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  427. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  428. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  429. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  430. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  431. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  432. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  433. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  434. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  435. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  436. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  437. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  438. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  439. homeassistant-stubs/components/zone/condition.pyi +22 -0
  440. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  441. homeassistant-stubs/components/zwave_js/__init__.pyi +12 -10
  442. homeassistant-stubs/components/zwave_js/api.pyi +36 -35
  443. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  444. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  445. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  446. homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -4
  447. homeassistant-stubs/components/zwave_js/const.pyi +0 -3
  448. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  449. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  450. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  451. homeassistant-stubs/components/zwave_js/entity.pyi +0 -4
  452. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  453. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  454. homeassistant-stubs/components/zwave_js/helpers.pyi +10 -6
  455. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  456. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  457. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  458. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  459. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  460. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  461. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  462. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  463. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  464. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  465. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  466. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  467. homeassistant-stubs/config.pyi +0 -2
  468. homeassistant-stubs/config_entries.pyi +3 -0
  469. homeassistant-stubs/const.pyi +2 -0
  470. homeassistant-stubs/core.pyi +12 -8
  471. homeassistant-stubs/helpers/condition.pyi +25 -6
  472. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  473. homeassistant-stubs/helpers/device.pyi +2 -0
  474. homeassistant-stubs/helpers/device_registry.pyi +16 -8
  475. homeassistant-stubs/helpers/entity.pyi +3 -1
  476. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  477. homeassistant-stubs/helpers/frame.pyi +1 -1
  478. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  479. homeassistant-stubs/helpers/llm.pyi +5 -1
  480. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  481. homeassistant-stubs/helpers/selector.pyi +42 -37
  482. homeassistant-stubs/helpers/service.pyi +9 -26
  483. homeassistant-stubs/helpers/target.pyi +59 -0
  484. homeassistant-stubs/helpers/trigger.pyi +3 -1
  485. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  486. homeassistant-stubs/loader.pyi +2 -9
  487. homeassistant-stubs/runner.pyi +1 -0
  488. homeassistant-stubs/util/resource.pyi +7 -0
  489. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  490. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/METADATA +2 -2
  491. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/RECORD +493 -424
  492. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  493. homeassistant-stubs/helpers/backup.pyi +0 -24
  494. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/WHEEL +0 -0
  495. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,7 @@ import threading
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
4
4
  from homeassistant.util.loop import raise_for_blocking_call as raise_for_blocking_call
5
- from sqlalchemy.pool import ConnectionPoolEntry as ConnectionPoolEntry, NullPool, SingletonThreadPool, StaticPool
5
+ from sqlalchemy.pool import ConnectionPoolEntry as ConnectionPoolEntry, NullPool, PoolProxiedConnection as PoolProxiedConnection, SingletonThreadPool, StaticPool
6
6
  from typing import Any
7
7
 
8
8
  _LOGGER: Incomplete
@@ -20,6 +20,7 @@ class RecorderPool(SingletonThreadPool, NullPool):
20
20
  def dispose(self) -> None: ...
21
21
  def _do_get(self) -> ConnectionPoolEntry: ...
22
22
  def _do_get_db_connection_protected(self) -> ConnectionPoolEntry: ...
23
+ def connect(self) -> PoolProxiedConnection: ...
23
24
 
24
25
  class MutexPool(StaticPool):
25
26
  _reference_counter: int
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_LOCALE as CONF_LOCALE, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .renault_hub import RenaultHub as RenaultHub
3
- from .services import setup_services as setup_services
3
+ from .services import async_setup_services as async_setup_services
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
@@ -2,7 +2,7 @@ from . import RenaultConfigEntry as RenaultConfigEntry
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .renault_vehicle import RenaultVehicleProxy as RenaultVehicleProxy
4
4
  from _typeshed import Incomplete
5
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
6
6
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
7
 
8
8
  LOGGER: Incomplete
@@ -29,4 +29,5 @@ async def ac_start(service_call: ServiceCall) -> None: ...
29
29
  async def charge_set_schedules(service_call: ServiceCall) -> None: ...
30
30
  async def ac_set_schedules(service_call: ServiceCall) -> None: ...
31
31
  def get_vehicle_proxy(service_call: ServiceCall) -> RenaultVehicleProxy: ...
32
- def setup_services(hass: HomeAssistant) -> None: ...
32
+ @callback
33
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -26,7 +26,6 @@ CONFIG_SCHEMA: Incomplete
26
26
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
27
27
  async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
28
28
  async def register_callbacks(host: ReolinkHost, device_coordinator: DataUpdateCoordinator[None], hass: HomeAssistant) -> None: ...
29
- async def entry_update_listener(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
30
29
  async def async_unload_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
31
30
  async def async_remove_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
32
31
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ReolinkConfigEntry, device: dr.DeviceEntry) -> bool: ...
@@ -4,7 +4,7 @@ from .host import ReolinkHost as ReolinkHost
4
4
  from .util import ReolinkConfigEntry as ReolinkConfigEntry, is_connected as is_connected
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
7
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
8
8
  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
9
9
  from homeassistant.core import callback as callback
10
10
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -18,7 +18,7 @@ DEFAULT_PROTOCOL: str
18
18
  DEFAULT_OPTIONS: Incomplete
19
19
  API_STARTUP_TIME: int
20
20
 
21
- class ReolinkOptionsFlowHandler(OptionsFlow):
21
+ class ReolinkOptionsFlowHandler(OptionsFlowWithReload):
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
23
 
24
24
  class ReolinkFlowHandler(ConfigFlow, domain=DOMAIN):
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
7
- from homeassistant.const import EntityCategory as EntityCategory, UnitOfTime as UnitOfTime
7
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from reolink_aio.api import Chime as Chime, Host as Host
@@ -6,7 +6,7 @@ from dataclasses import dataclass
6
6
  from datetime import date, datetime
7
7
  from decimal import Decimal
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfTemperature as UnitOfTemperature
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
  from homeassistant.helpers.typing import StateType as StateType
@@ -5,8 +5,7 @@ from .entity import RestEntity as RestEntity
5
5
  from .schema import RESOURCE_SCHEMA as RESOURCE_SCHEMA, SENSOR_SCHEMA as SENSOR_SCHEMA
6
6
  from .util import parse_json_attributes as parse_json_attributes
7
7
  from _typeshed import Incomplete
8
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass
9
- from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
8
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
10
9
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE, CONF_RESOURCE_TEMPLATE as CONF_RESOURCE_TEMPLATE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
11
  from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
@@ -33,5 +32,4 @@ class RestSensor(ManualTriggerSensorEntity, RestEntity):
33
32
  def available(self) -> bool: ...
34
33
  @property
35
34
  def extra_state_attributes(self) -> dict[str, Any]: ...
36
- _attr_native_value: Incomplete
37
35
  def _update_from_rest_data(self) -> None: ...
@@ -22,5 +22,4 @@ async def setup_device(hass: HomeAssistant, entry: RoborockConfigEntry, user_dat
22
22
  async def setup_device_v1(hass: HomeAssistant, entry: RoborockConfigEntry, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct, home_data_rooms: list[HomeDataRoom], api_client: RoborockApiClient) -> RoborockDataUpdateCoordinator | None: ...
23
23
  async def setup_device_a01(hass: HomeAssistant, entry: RoborockConfigEntry, user_data: UserData, device: HomeDataDevice, product_info: HomeDataProduct) -> RoborockDataUpdateCoordinatorA01 | None: ...
24
24
  async def async_unload_entry(hass: HomeAssistant, entry: RoborockConfigEntry) -> bool: ...
25
- async def update_listener(hass: HomeAssistant, entry: RoborockConfigEntry) -> None: ...
26
25
  async def async_remove_entry(hass: HomeAssistant, entry: RoborockConfigEntry) -> None: ...
@@ -2,7 +2,7 @@ from . import RoborockConfigEntry as RoborockConfigEntry
2
2
  from .const import CONF_BASE_URL as CONF_BASE_URL, CONF_ENTRY_CODE as CONF_ENTRY_CODE, CONF_USER_DATA as CONF_USER_DATA, DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH
6
6
  from homeassistant.const import CONF_USERNAME as CONF_USERNAME
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -30,7 +30,7 @@ class RoborockFlowHandler(ConfigFlow, domain=DOMAIN):
30
30
  @callback
31
31
  def async_get_options_flow(config_entry: RoborockConfigEntry) -> RoborockOptionsFlowHandler: ...
32
32
 
33
- class RoborockOptionsFlowHandler(OptionsFlow):
33
+ class RoborockOptionsFlowHandler(OptionsFlowWithReload):
34
34
  options: Incomplete
35
35
  def __init__(self, config_entry: RoborockConfigEntry) -> None: ...
36
36
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -24,8 +24,6 @@ class RoborockVacuum(RoborockCoordinatedEntityV1, StateVacuumEntity):
24
24
  @property
25
25
  def activity(self) -> VacuumActivity | None: ...
26
26
  @property
27
- def battery_level(self) -> int | None: ...
28
- @property
29
27
  def fan_speed(self) -> str | None: ...
30
28
  async def async_start(self) -> None: ...
31
29
  async def async_pause(self) -> None: ...
@@ -7,4 +7,3 @@ PLATFORMS: Incomplete
7
7
 
8
8
  async def async_setup_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> bool: ...
9
9
  async def async_unload_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> bool: ...
10
- async def async_reload_entry(hass: HomeAssistant, entry: RokuConfigEntry) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID, DOMAIN as DOMAIN
2
2
  from .coordinator import RokuConfigEntry as RokuConfigEntry
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -31,5 +31,5 @@ class RokuConfigFlow(ConfigFlow, domain=DOMAIN):
31
31
  @callback
32
32
  def async_get_options_flow(config_entry: RokuConfigEntry) -> RokuOptionsFlowHandler: ...
33
33
 
34
- class RokuOptionsFlowHandler(OptionsFlow):
34
+ class RokuOptionsFlowHandler(OptionsFlowWithReload):
35
35
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
+ RUSSOUND_MEDIA_TYPE_PRESET: str
5
+ SELECT_SOURCE_DELAY: float
4
6
  RUSSOUND_RIO_EXCEPTIONS: Incomplete
@@ -1,17 +1,21 @@
1
1
  import datetime as dt
2
2
  from . import RussoundConfigEntry as RussoundConfigEntry
3
+ from .const import DOMAIN as DOMAIN, RUSSOUND_MEDIA_TYPE_PRESET as RUSSOUND_MEDIA_TYPE_PRESET, SELECT_SOURCE_DELAY as SELECT_SOURCE_DELAY
3
4
  from .entity import RussoundBaseEntity as RussoundBaseEntity, command as command
4
5
  from _typeshed import Incomplete
5
6
  from aiorussound import Controller as Controller
6
7
  from aiorussound.models import Source as Source
7
8
  from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from typing import Any
10
13
 
11
14
  _LOGGER: Incomplete
12
15
  PARALLEL_UPDATES: int
13
16
 
14
17
  async def async_setup_entry(hass: HomeAssistant, entry: RussoundConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+ def _parse_preset_source_id(media_id: str) -> tuple[int | None, int]: ...
15
19
 
16
20
  class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
17
21
  _attr_device_class: Incomplete
@@ -63,3 +67,5 @@ class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
63
67
  async def async_mute_volume(self, mute: bool) -> None: ...
64
68
  @command
65
69
  async def async_media_seek(self, position: float) -> None: ...
70
+ @command
71
+ async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
@@ -2,8 +2,7 @@ from . import ScrapeConfigEntry as ScrapeConfigEntry
2
2
  from .const import CONF_INDEX as CONF_INDEX, CONF_SELECT as CONF_SELECT, DOMAIN as DOMAIN
3
3
  from .coordinator import ScrapeCoordinator as ScrapeCoordinator
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass
6
- from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
5
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
7
6
  from homeassistant.const import CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
3
+ from homeassistant.const import CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
4
  from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
5
5
  from typing import Final
6
6
 
@@ -14,6 +14,7 @@ class SensorDeviceClass(StrEnum):
14
14
  DATE = 'date'
15
15
  ENUM = 'enum'
16
16
  TIMESTAMP = 'timestamp'
17
+ ABSOLUTE_HUMIDITY = 'absolute_humidity'
17
18
  APPARENT_POWER = 'apparent_power'
18
19
  AQI = 'aqi'
19
20
  AREA = 'area'
@@ -10,6 +10,7 @@ from homeassistant.helpers.entity import get_capability as get_capability, get_d
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
 
12
12
  DEVICE_CLASS_NONE: str
13
+ CONF_IS_ABSOLUTE_HUMIDITY: str
13
14
  CONF_IS_APPARENT_POWER: str
14
15
  CONF_IS_AQI: str
15
16
  CONF_IS_AREA: str
@@ -10,6 +10,7 @@ from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
 
12
12
  DEVICE_CLASS_NONE: str
13
+ CONF_ABSOLUTE_HUMIDITY: str
13
14
  CONF_APPARENT_POWER: str
14
15
  CONF_AQI: str
15
16
  CONF_AREA: str
@@ -1,6 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SHELLY_GAS_MODELS as SHELLY_GAS_MODELS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .utils import get_block_device_info as get_block_device_info, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_key_ids as get_rpc_key_ids
3
+ from .entity import get_entity_block_device_info as get_entity_block_device_info, get_entity_rpc_device_info as get_entity_rpc_device_info
4
+ from .utils import get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Callable as Callable
6
7
  from dataclasses import dataclass
@@ -9,7 +10,6 @@ from homeassistant.const import EntityCategory as EntityCategory
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
12
  from homeassistant.helpers import entity_registry as er
12
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
14
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
15
15
  from homeassistant.util import slugify as slugify
@@ -1,7 +1,7 @@
1
1
  from .const import BLU_TRV_TEMPERATURE_SETTINGS as BLU_TRV_TEMPERATURE_SETTINGS, DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .entity import ShellyRpcEntity as ShellyRpcEntity, rpc_call as rpc_call
4
- from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_device_info as get_block_device_info, get_block_entity_name as get_block_entity_name, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
3
+ from .entity import ShellyRpcEntity as ShellyRpcEntity, get_entity_block_device_info as get_entity_block_device_info, rpc_call as rpc_call
4
+ from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_entity_name as get_block_entity_name, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Mapping
@@ -26,7 +26,7 @@ class ShellyEntryData:
26
26
  rpc_poll: ShellyRpcPollingCoordinator | None = ...
27
27
  rpc_script_events: dict[int, list[str]] | None = ...
28
28
  rpc_supports_scripts: bool | None = ...
29
- rpc_zigbee_enabled: bool | None = ...
29
+ rpc_zigbee_firmware: bool | None = ...
30
30
  type ShellyConfigEntry = ConfigEntry[ShellyEntryData]
31
31
 
32
32
  class ShellyCoordinatorBase[_DeviceT: BlockDevice | RpcDevice](DataUpdateCoordinator[None]):
@@ -39,8 +39,12 @@ class ShellyCoordinatorBase[_DeviceT: BlockDevice | RpcDevice](DataUpdateCoordin
39
39
  _debounced_reload: Debouncer[Coroutine[Any, Any, None]]
40
40
  def __init__(self, hass: HomeAssistant, entry: ShellyConfigEntry, device: _DeviceT, update_interval: float) -> None: ...
41
41
  @cached_property
42
+ def configuration_url(self) -> str: ...
43
+ @cached_property
42
44
  def model(self) -> str: ...
43
45
  @cached_property
46
+ def model_name(self) -> str | None: ...
47
+ @cached_property
44
48
  def mac(self) -> str: ...
45
49
  @property
46
50
  def sw_version(self) -> str: ...
@@ -7,6 +7,7 @@ from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
11
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
13
  from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
@@ -161,3 +162,5 @@ class ShellySleepingRpcAttributeEntity(ShellyRpcAttributeEntity):
161
162
  async def async_update(self) -> None: ...
162
163
 
163
164
  def get_entity_class(sensor_class: Callable, description: RpcEntityDescription) -> Callable: ...
165
+ def get_entity_block_device_info(coordinator: ShellyBlockCoordinator, block: Block | None = None) -> DeviceInfo: ...
166
+ def get_entity_rpc_device_info(coordinator: ShellyRpcCoordinator, key: str | None = None, emeter_phase: str | None = None) -> DeviceInfo: ...
@@ -1,7 +1,7 @@
1
1
  from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .entity import ShellyBlockEntity as ShellyBlockEntity
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_device_info as get_rpc_device_info, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
3
+ from .entity import ShellyBlockEntity as ShellyBlockEntity, get_entity_rpc_device_info as get_entity_rpc_device_info
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Callable as Callable
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, ROLE_TO_DEVICE_CLASS_MAP as ROLE_TO_DEVICE_CLASS_MAP
2
2
  from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
3
- from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
4
- from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_rpc_device_info as get_rpc_device_info, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
3
+ from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc, get_entity_rpc_device_info as get_entity_rpc_device_info
4
+ from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
5
5
  from _typeshed import Incomplete
6
6
  from aioshelly.block_device import Block as Block
7
7
  from collections.abc import Callable as Callable
@@ -77,8 +77,8 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
77
77
  def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
78
78
  def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
79
79
  async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
80
- def get_rpc_device_info(device: RpcDevice, mac: str, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
80
+ def get_rpc_device_info(device: RpcDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
81
81
  def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
82
- def get_block_device_info(device: BlockDevice, mac: str, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
82
+ def get_block_device_info(device: BlockDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
83
83
  @callback
84
84
  def remove_stale_blu_trv_devices(hass: HomeAssistant, rpc_device: RpcDevice, entry: ConfigEntry) -> None: ...
@@ -3,6 +3,8 @@ from _typeshed import Incomplete
3
3
  DATA_SLEEPIQ: str
4
4
  DOMAIN: str
5
5
  ACTUATOR: str
6
+ CORE_CLIMATE_TIMER: str
7
+ CORE_CLIMATE: str
6
8
  BED: str
7
9
  FIRMNESS: str
8
10
  ICON_EMPTY: str
@@ -1,12 +1,13 @@
1
- from .const import ACTUATOR as ACTUATOR, DOMAIN as DOMAIN, ENTITY_TYPES as ENTITY_TYPES, FIRMNESS as FIRMNESS, FOOT_WARMING_TIMER as FOOT_WARMING_TIMER, ICON_OCCUPIED as ICON_OCCUPIED
1
+ from .const import ACTUATOR as ACTUATOR, CORE_CLIMATE_TIMER as CORE_CLIMATE_TIMER, DOMAIN as DOMAIN, ENTITY_TYPES as ENTITY_TYPES, FIRMNESS as FIRMNESS, FOOT_WARMING_TIMER as FOOT_WARMING_TIMER, ICON_OCCUPIED as ICON_OCCUPIED
2
2
  from .coordinator import SleepIQData as SleepIQData, SleepIQDataUpdateCoordinator as SleepIQDataUpdateCoordinator
3
3
  from .entity import SleepIQBedEntity as SleepIQBedEntity, sleeper_for_side as sleeper_for_side
4
4
  from _typeshed import Incomplete
5
- from asyncsleepiq import SleepIQActuator as SleepIQActuator, SleepIQBed as SleepIQBed, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQSleeper as SleepIQSleeper
5
+ from asyncsleepiq import SleepIQActuator as SleepIQActuator, SleepIQBed as SleepIQBed, SleepIQCoreClimate, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQSleeper as SleepIQSleeper
6
6
  from collections.abc import Callable as Callable, Coroutine
7
7
  from dataclasses import dataclass
8
- from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
8
+ from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.const import UnitOfTime as UnitOfTime
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
13
  from typing import Any
@@ -27,6 +28,9 @@ def _get_sleeper_unique_id(bed: SleepIQBed, sleeper: SleepIQSleeper) -> str: ...
27
28
  async def _async_set_foot_warmer_time(foot_warmer: SleepIQFootWarmer, time: int) -> None: ...
28
29
  def _get_foot_warming_name(bed: SleepIQBed, foot_warmer: SleepIQFootWarmer) -> str: ...
29
30
  def _get_foot_warming_unique_id(bed: SleepIQBed, foot_warmer: SleepIQFootWarmer) -> str: ...
31
+ async def _async_set_core_climate_time(core_climate: SleepIQCoreClimate, time: int) -> None: ...
32
+ def _get_core_climate_name(bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> str: ...
33
+ def _get_core_climate_unique_id(bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> str: ...
30
34
 
31
35
  NUMBER_DESCRIPTIONS: dict[str, SleepIQNumberEntityDescription]
32
36
 
@@ -1,8 +1,8 @@
1
- from .const import DOMAIN as DOMAIN, FOOT_WARMER as FOOT_WARMER
1
+ from .const import CORE_CLIMATE as CORE_CLIMATE, DOMAIN as DOMAIN, FOOT_WARMER as FOOT_WARMER
2
2
  from .coordinator import SleepIQData as SleepIQData, SleepIQDataUpdateCoordinator as SleepIQDataUpdateCoordinator
3
3
  from .entity import SleepIQBedEntity as SleepIQBedEntity, SleepIQSleeperEntity as SleepIQSleeperEntity, sleeper_for_side as sleeper_for_side
4
4
  from _typeshed import Incomplete
5
- from asyncsleepiq import SleepIQBed as SleepIQBed, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQPreset as SleepIQPreset
5
+ from asyncsleepiq import SleepIQBed as SleepIQBed, SleepIQCoreClimate as SleepIQCoreClimate, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQPreset as SleepIQPreset
6
6
  from homeassistant.components.select import SelectEntity as SelectEntity
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -31,3 +31,16 @@ class SleepIQFootWarmingTempSelectEntity(SleepIQSleeperEntity[SleepIQDataUpdateC
31
31
  @callback
32
32
  def _async_update_attrs(self) -> None: ...
33
33
  async def async_select_option(self, option: str) -> None: ...
34
+
35
+ class SleepIQCoreTempSelectEntity(SleepIQSleeperEntity[SleepIQDataUpdateCoordinator], SelectEntity):
36
+ SLEEPIQ_TO_HA_CORE_TEMP_MAP: Incomplete
37
+ HA_TO_SLEEPIQ_CORE_TEMP_MAP: Incomplete
38
+ _attr_icon: str
39
+ _attr_options: Incomplete
40
+ _attr_translation_key: str
41
+ core_climate: Incomplete
42
+ def __init__(self, coordinator: SleepIQDataUpdateCoordinator, bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> None: ...
43
+ _attr_current_option: Incomplete
44
+ @callback
45
+ def _async_update_attrs(self) -> None: ...
46
+ async def async_select_option(self, option: str) -> None: ...
@@ -13,9 +13,12 @@ type SMHIConfigEntry = ConfigEntry[SMHIDataUpdateCoordinator]
13
13
  class SMHIForecastData:
14
14
  daily: list[SMHIForecast]
15
15
  hourly: list[SMHIForecast]
16
+ twice_daily: list[SMHIForecast]
16
17
 
17
18
  class SMHIDataUpdateCoordinator(DataUpdateCoordinator[SMHIForecastData]):
18
19
  config_entry: SMHIConfigEntry
19
20
  _smhi_api: Incomplete
20
21
  def __init__(self, hass: HomeAssistant, config_entry: SMHIConfigEntry) -> None: ...
21
22
  async def _async_update_data(self) -> SMHIForecastData: ...
23
+ @property
24
+ def current(self) -> SMHIForecast: ...
@@ -3,15 +3,17 @@ from .const import DOMAIN as DOMAIN
3
3
  from .coordinator import SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from abc import abstractmethod
6
+ from homeassistant.core import callback as callback
6
7
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
9
 
9
10
  class SmhiWeatherBaseEntity(CoordinatorEntity[SMHIDataUpdateCoordinator], metaclass=abc.ABCMeta):
10
11
  _attr_attribution: str
11
12
  _attr_has_entity_name: bool
12
- _attr_name: Incomplete
13
13
  _attr_unique_id: Incomplete
14
14
  _attr_device_info: Incomplete
15
15
  def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator) -> None: ...
16
+ @callback
17
+ def _handle_coordinator_update(self) -> None: ...
16
18
  @abstractmethod
17
19
  def update_entity_data(self) -> None: ...
@@ -0,0 +1,30 @@
1
+ from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
2
+ from .entity import SmhiWeatherBaseEntity as SmhiWeatherBaseEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import datetime
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, PERCENTAGE as PERCENTAGE
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ def get_percentage_values(entity: SMHISensor, key: str) -> int | None: ...
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class SMHISensorEntityDescription(SensorEntityDescription):
19
+ value_fn: Callable[[SMHISensor], StateType | datetime]
20
+
21
+ SENSOR_DESCRIPTIONS: tuple[SMHISensorEntityDescription, ...]
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, entry: SMHIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
+
25
+ class SMHISensor(SmhiWeatherBaseEntity, SensorEntity):
26
+ entity_description: SMHISensorEntityDescription
27
+ _attr_unique_id: Incomplete
28
+ def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator, entity_description: SMHISensorEntityDescription) -> None: ...
29
+ _attr_native_value: Incomplete
30
+ def update_entity_data(self) -> None: ...
@@ -3,7 +3,7 @@ from .coordinator import SMHIConfigEntry as SMHIConfigEntry
3
3
  from .entity import SmhiWeatherBaseEntity as SmhiWeatherBaseEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
6
+ from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
7
7
  from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers import sun as sun
@@ -23,6 +23,7 @@ class SmhiWeather(SmhiWeatherBaseEntity, SingleCoordinatorWeatherEntity):
23
23
  _attr_native_wind_speed_unit: Incomplete
24
24
  _attr_native_pressure_unit: Incomplete
25
25
  _attr_supported_features: Incomplete
26
+ _attr_name: Incomplete
26
27
  _attr_native_temperature: Incomplete
27
28
  _attr_humidity: Incomplete
28
29
  _attr_native_wind_speed: Incomplete
@@ -37,6 +38,7 @@ class SmhiWeather(SmhiWeatherBaseEntity, SingleCoordinatorWeatherEntity):
37
38
  def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
38
39
  @callback
39
40
  def _handle_coordinator_update(self) -> None: ...
40
- def _get_forecast_data(self, forecast_data: list[SMHIForecast] | None) -> list[Forecast] | None: ...
41
+ def _get_forecast_data(self, forecast_data: list[SMHIForecast] | None, forecast_type: str) -> list[Forecast] | None: ...
41
42
  def _async_forecast_daily(self) -> list[Forecast] | None: ...
42
43
  def _async_forecast_hourly(self) -> list[Forecast] | None: ...
44
+ def _async_forecast_twice_daily(self) -> list[Forecast] | None: ...
@@ -11,4 +11,3 @@ PLATFORMS: Incomplete
11
11
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
12
  async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
13
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
- async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -2,7 +2,7 @@ import voluptuous as vol
2
2
  from .const import CONF_UPCOMING_DAYS as CONF_UPCOMING_DAYS, CONF_WANTED_MAX_ITEMS as CONF_WANTED_MAX_ITEMS, DEFAULT_UPCOMING_DAYS as DEFAULT_UPCOMING_DAYS, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DEFAULT_WANTED_MAX_ITEMS as DEFAULT_WANTED_MAX_ITEMS, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH
6
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -22,5 +22,5 @@ class SonarrConfigFlow(ConfigFlow, domain=DOMAIN):
22
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
23
  def _get_user_data_schema(self) -> dict[vol.Marker, type]: ...
24
24
 
25
- class SonarrOptionsFlowHandler(OptionsFlow):
25
+ class SonarrOptionsFlowHandler(OptionsFlowWithReload):
26
26
  async def async_step_init(self, user_input: dict[str, int] | None = None) -> ConfigFlowResult: ...
@@ -10,4 +10,3 @@ PLATFORMS: Incomplete
10
10
 
11
11
  async def async_setup_entry(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> bool: ...
12
12
  async def async_unload_entry(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> bool: ...
13
- async def update_listener(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_SERVER_ID as CONF_SERVER_ID, CONF_SERVER_NAME as CONF_SERVER_NAME, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_SERVER as DEFAULT_SERVER, DOMAIN as DOMAIN
2
2
  from .coordinator import SpeedTestConfigEntry as SpeedTestConfigEntry
3
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
4
4
  from homeassistant.core import callback as callback
5
5
  from typing import Any
6
6
 
@@ -11,7 +11,7 @@ class SpeedTestFlowHandler(ConfigFlow, domain=DOMAIN):
11
11
  def async_get_options_flow(config_entry: SpeedTestConfigEntry) -> SpeedTestOptionsFlowHandler: ...
12
12
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
13
 
14
- class SpeedTestOptionsFlowHandler(OptionsFlow):
14
+ class SpeedTestOptionsFlowHandler(OptionsFlowWithReload):
15
15
  _servers: dict
16
16
  def __init__(self) -> None: ...
17
17
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -18,7 +18,6 @@ QUERY_SCHEMA: Incomplete
18
18
  CONFIG_SCHEMA: Incomplete
19
19
 
20
20
  def remove_configured_db_url_if_not_needed(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
21
- async def async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
22
21
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
23
22
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
24
23
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -4,7 +4,7 @@ from .util import resolve_db_url as resolve_db_url
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
6
6
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
8
8
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
9
9
  from homeassistant.core import callback as callback
10
10
  from homeassistant.helpers import selector as selector
@@ -26,5 +26,5 @@ class SQLConfigFlow(ConfigFlow, domain=DOMAIN):
26
26
  def async_get_options_flow(config_entry: ConfigEntry) -> SQLOptionsFlowHandler: ...
27
27
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
29
- class SQLOptionsFlowHandler(OptionsFlow):
29
+ class SQLOptionsFlowHandler(OptionsFlowWithReload):
30
30
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...