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,4 +1,4 @@
1
- from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DEFAULT_CONVERSATION_NAME as DEFAULT_CONVERSATION_NAME, DOMAIN as DOMAIN, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH as RECOMMENDED_WEB_SEARCH, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE, RECOMMENDED_WEB_SEARCH_USER_LOCATION as RECOMMENDED_WEB_SEARCH_USER_LOCATION, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS, WEB_SEARCH_MODELS as WEB_SEARCH_MODELS
1
+ from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_CODE_INTERPRETER as CONF_CODE_INTERPRETER, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DEFAULT_AI_TASK_NAME as DEFAULT_AI_TASK_NAME, DEFAULT_CONVERSATION_NAME as DEFAULT_CONVERSATION_NAME, DOMAIN as DOMAIN, RECOMMENDED_AI_TASK_OPTIONS as RECOMMENDED_AI_TASK_OPTIONS, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_CODE_INTERPRETER as RECOMMENDED_CODE_INTERPRETER, RECOMMENDED_CONVERSATION_OPTIONS as RECOMMENDED_CONVERSATION_OPTIONS, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH as RECOMMENDED_WEB_SEARCH, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE, RECOMMENDED_WEB_SEARCH_USER_LOCATION as RECOMMENDED_WEB_SEARCH_USER_LOCATION, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS, UNSUPPORTED_WEB_SEARCH_MODELS as UNSUPPORTED_WEB_SEARCH_MODELS
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.zone import ENTITY_ID_HOME as ENTITY_ID_HOME
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
@@ -12,7 +12,6 @@ from typing import Any
12
12
 
13
13
  _LOGGER: Incomplete
14
14
  STEP_USER_DATA_SCHEMA: Incomplete
15
- RECOMMENDED_OPTIONS: Incomplete
16
15
 
17
16
  async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> None: ...
18
17
 
@@ -24,7 +23,7 @@ class OpenAIConfigFlow(ConfigFlow, domain=DOMAIN):
24
23
  @callback
25
24
  def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
26
25
 
27
- class ConversationSubentryFlowHandler(ConfigSubentryFlow):
26
+ class OpenAISubentryFlowHandler(ConfigSubentryFlow):
28
27
  last_rendered_recommended: bool
29
28
  options: dict[str, Any]
30
29
  @property
@@ -1,10 +1,15 @@
1
1
  import logging
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
4
+ from homeassistant.helpers import llm as llm
2
5
 
3
6
  DOMAIN: str
4
7
  LOGGER: logging.Logger
5
8
  DEFAULT_CONVERSATION_NAME: str
9
+ DEFAULT_AI_TASK_NAME: str
6
10
  DEFAULT_NAME: str
7
11
  CONF_CHAT_MODEL: str
12
+ CONF_CODE_INTERPRETER: str
8
13
  CONF_FILENAMES: str
9
14
  CONF_MAX_TOKENS: str
10
15
  CONF_PROMPT: str
@@ -19,6 +24,7 @@ CONF_WEB_SEARCH_CITY: str
19
24
  CONF_WEB_SEARCH_REGION: str
20
25
  CONF_WEB_SEARCH_COUNTRY: str
21
26
  CONF_WEB_SEARCH_TIMEZONE: str
27
+ RECOMMENDED_CODE_INTERPRETER: bool
22
28
  RECOMMENDED_CHAT_MODEL: str
23
29
  RECOMMENDED_MAX_TOKENS: int
24
30
  RECOMMENDED_REASONING_EFFORT: str
@@ -28,4 +34,6 @@ RECOMMENDED_WEB_SEARCH: bool
28
34
  RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE: str
29
35
  RECOMMENDED_WEB_SEARCH_USER_LOCATION: bool
30
36
  UNSUPPORTED_MODELS: list[str]
31
- WEB_SEARCH_MODELS: list[str]
37
+ UNSUPPORTED_WEB_SEARCH_MODELS: list[str]
38
+ RECOMMENDED_CONVERSATION_OPTIONS: Incomplete
39
+ RECOMMENDED_AI_TASK_OPTIONS: Incomplete
@@ -1,32 +1,18 @@
1
1
  from . import OpenAIConfigEntry as OpenAIConfigEntry
2
- from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE
2
+ from .const import CONF_PROMPT as CONF_PROMPT, DOMAIN as DOMAIN
3
+ from .entity import OpenAIBaseLLMEntity as OpenAIBaseLLMEntity
3
4
  from _typeshed import Incomplete
4
- from collections.abc import AsyncGenerator, Callable as Callable
5
- from homeassistant.components import assist_pipeline as assist_pipeline, conversation as conversation
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
5
+ from homeassistant.components import conversation as conversation
6
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
7
7
  from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API, MATCH_ALL as MATCH_ALL
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
- from homeassistant.helpers import intent as intent, llm as llm
11
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from openai._streaming import AsyncStream as AsyncStream
13
- from openai.types.responses import FunctionToolParam, ResponseInputParam as ResponseInputParam, ResponseStreamEvent as ResponseStreamEvent, ToolParam as ToolParam
14
- from typing import Any, Literal
15
-
16
- MAX_TOOL_ITERATIONS: int
10
+ from typing import Literal
17
11
 
18
12
  async def async_setup_entry(hass: HomeAssistant, config_entry: OpenAIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
- def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> FunctionToolParam: ...
20
- def _convert_content_to_param(content: conversation.Content) -> ResponseInputParam: ...
21
- async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[ResponseStreamEvent], messages: ResponseInputParam) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
22
13
 
23
- class OpenAIConversationEntity(conversation.ConversationEntity, conversation.AbstractConversationAgent):
14
+ class OpenAIConversationEntity(conversation.ConversationEntity, conversation.AbstractConversationAgent, OpenAIBaseLLMEntity):
24
15
  _attr_supports_streaming: bool
25
- entry: Incomplete
26
- subentry: Incomplete
27
- _attr_name: Incomplete
28
- _attr_unique_id: Incomplete
29
- _attr_device_info: Incomplete
30
16
  _attr_supported_features: Incomplete
31
17
  def __init__(self, entry: OpenAIConfigEntry, subentry: ConfigSubentry) -> None: ...
32
18
  @property
@@ -34,5 +20,3 @@ class OpenAIConversationEntity(conversation.ConversationEntity, conversation.Abs
34
20
  async def async_added_to_hass(self) -> None: ...
35
21
  async def async_will_remove_from_hass(self) -> None: ...
36
22
  async def _async_handle_message(self, user_input: conversation.ConversationInput, chat_log: conversation.ChatLog) -> conversation.ConversationResult: ...
37
- async def _async_handle_chat_log(self, chat_log: conversation.ChatLog) -> None: ...
38
- async def _async_entry_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -0,0 +1,36 @@
1
+ import voluptuous as vol
2
+ from . import OpenAIConfigEntry as OpenAIConfigEntry
3
+ from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_CODE_INTERPRETER as CONF_CODE_INTERPRETER, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE
4
+ from _typeshed import Incomplete
5
+ from collections.abc import AsyncGenerator, Callable as Callable
6
+ from homeassistant.components import conversation as conversation
7
+ from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers import llm as llm
11
+ from homeassistant.helpers.entity import Entity as Entity
12
+ from homeassistant.util import slugify as slugify
13
+ from openai._streaming import AsyncStream as AsyncStream
14
+ from openai.types.responses import FunctionToolParam, ResponseInputMessageContentListParam as ResponseInputMessageContentListParam, ResponseInputParam as ResponseInputParam, ResponseStreamEvent as ResponseStreamEvent, ToolParam as ToolParam
15
+ from pathlib import Path
16
+ from typing import Any
17
+
18
+ MAX_TOOL_ITERATIONS: int
19
+
20
+ def _adjust_schema(schema: dict[str, Any]) -> None: ...
21
+ def _format_structured_output(schema: vol.Schema, llm_api: llm.APIInstance | None) -> dict[str, Any]: ...
22
+ def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> FunctionToolParam: ...
23
+ def _convert_content_to_param(content: conversation.Content) -> ResponseInputParam: ...
24
+ async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[ResponseStreamEvent], messages: ResponseInputParam) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
25
+
26
+ class OpenAIBaseLLMEntity(Entity):
27
+ _attr_has_entity_name: bool
28
+ _attr_name: Incomplete
29
+ entry: Incomplete
30
+ subentry: Incomplete
31
+ _attr_unique_id: Incomplete
32
+ _attr_device_info: Incomplete
33
+ def __init__(self, entry: OpenAIConfigEntry, subentry: ConfigSubentry) -> None: ...
34
+ async def _async_handle_chat_log(self, chat_log: conversation.ChatLog, structure_name: str | None = None, structure: vol.Schema | None = None) -> None: ...
35
+
36
+ async def async_prepare_files_for_prompt(hass: HomeAssistant, files: list[Path]) -> ResponseInputMessageContentListParam: ...
@@ -0,0 +1,8 @@
1
+ from .coordinator import OpowerConfigEntry as OpowerConfigEntry, OpowerCoordinator as OpowerCoordinator
2
+ from homeassistant.const import Platform as Platform
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+
5
+ PLATFORMS: list[Platform]
6
+
7
+ async def async_setup_entry(hass: HomeAssistant, entry: OpowerConfigEntry) -> bool: ...
8
+ async def async_unload_entry(hass: HomeAssistant, entry: OpowerConfigEntry) -> bool: ...
@@ -0,0 +1,25 @@
1
+ from .const import CONF_TOTP_SECRET as CONF_TOTP_SECRET, CONF_UTILITY as CONF_UTILITY, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
8
+ from homeassistant.helpers.typing import VolDictType as VolDictType
9
+ from typing import Any
10
+
11
+ _LOGGER: Incomplete
12
+ STEP_USER_DATA_SCHEMA: Incomplete
13
+
14
+ async def _validate_login(hass: HomeAssistant, login_data: dict[str, str]) -> dict[str, str]: ...
15
+
16
+ class OpowerConfigFlow(ConfigFlow, domain=DOMAIN):
17
+ VERSION: int
18
+ utility_info: dict[str, Any] | None
19
+ def __init__(self) -> None: ...
20
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_mfa(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+ @callback
23
+ def _async_create_opower_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
24
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,3 @@
1
+ DOMAIN: str
2
+ CONF_UTILITY: str
3
+ CONF_TOTP_SECRET: str
@@ -0,0 +1,24 @@
1
+ from .const import CONF_TOTP_SECRET as CONF_TOTP_SECRET, CONF_UTILITY as CONF_UTILITY, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.recorder import get_instance as get_instance
4
+ from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData
5
+ from homeassistant.components.recorder.statistics import async_add_external_statistics as async_add_external_statistics, get_last_statistics as get_last_statistics, statistics_during_period as statistics_during_period
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, UnitOfEnergy as UnitOfEnergy, UnitOfVolume as UnitOfVolume
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
+ from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
11
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
12
+ from opower import Account as Account, CostRead as CostRead, Forecast
13
+
14
+ _LOGGER: Incomplete
15
+ type OpowerConfigEntry = ConfigEntry[OpowerCoordinator]
16
+
17
+ class OpowerCoordinator(DataUpdateCoordinator[dict[str, Forecast]]):
18
+ config_entry: OpowerConfigEntry
19
+ api: Incomplete
20
+ def __init__(self, hass: HomeAssistant, config_entry: OpowerConfigEntry) -> None: ...
21
+ async def _async_update_data(self) -> dict[str, Forecast]: ...
22
+ async def _insert_statistics(self) -> None: ...
23
+ async def _async_maybe_migrate_statistics(self, utility_account_id: str, migration_map: dict[str, str], metadata_map: dict[str, StatisticMetaData]) -> bool: ...
24
+ async def _async_get_cost_reads(self, account: Account, time_zone_str: str, start_time: float | None = None) -> list[CostRead]: ...
@@ -0,0 +1,35 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import OpowerConfigEntry as OpowerConfigEntry, OpowerCoordinator as OpowerCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import date
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import EntityCategory as EntityCategory, UnitOfEnergy as UnitOfEnergy, UnitOfVolume as UnitOfVolume
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.typing import StateType as StateType
13
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
+ from opower import Forecast as Forecast
15
+
16
+ PARALLEL_UPDATES: int
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class OpowerEntityDescription(SensorEntityDescription):
20
+ value_fn: Callable[[Forecast], str | float | date]
21
+
22
+ ELEC_SENSORS: tuple[OpowerEntityDescription, ...]
23
+ GAS_SENSORS: tuple[OpowerEntityDescription, ...]
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: OpowerConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+
27
+ class OpowerSensor(CoordinatorEntity[OpowerCoordinator], SensorEntity):
28
+ _attr_has_entity_name: bool
29
+ entity_description: OpowerEntityDescription
30
+ _attr_unique_id: Incomplete
31
+ _attr_device_info: Incomplete
32
+ utility_account_id: Incomplete
33
+ def __init__(self, coordinator: OpowerCoordinator, description: OpowerEntityDescription, utility_account_id: str, device: DeviceInfo, device_id: str) -> None: ...
34
+ @property
35
+ def native_value(self) -> StateType | date: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_STATION as CONF_STATION
1
+ from .const import CONF_STATION as CONF_STATION, DOMAIN as DOMAIN
2
2
  from .coordinator import PegelOnlineConfigEntry as PegelOnlineConfigEntry, PegelOnlineDataUpdateCoordinator as PegelOnlineDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import Platform as Platform
@@ -9,6 +9,8 @@ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE a
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
 
12
+ PARALLEL_UPDATES: int
13
+
12
14
  @dataclass(frozen=True, kw_only=True)
13
15
  class PegelOnlineSensorEntityDescription(SensorEntityDescription):
14
16
  measurement_fn: Callable[[StationMeasurements], CurrentMeasurement | None]
@@ -1,13 +1,14 @@
1
- from .const import CONF_STATISTICS_ONLY as CONF_STATISTICS_ONLY, DOMAIN as DOMAIN, MIN_TIME_BETWEEN_UPDATES as MIN_TIME_BETWEEN_UPDATES
1
+ from .const import CONF_STATISTICS_ONLY as CONF_STATISTICS_ONLY, DOMAIN as DOMAIN, MIN_TIME_BETWEEN_UPDATES as MIN_TIME_BETWEEN_UPDATES, VERSION_6_RESPONSE_TO_5_ERROR as VERSION_6_RESPONSE_TO_5_ERROR
2
2
  from _typeshed import Incomplete
3
3
  from dataclasses import dataclass
4
- from hole import Hole
4
+ from hole import Hole, HoleV5 as HoleV5, HoleV6 as HoleV6
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_LOCATION as CONF_LOCATION, CONF_NAME as CONF_NAME, CONF_SSL as CONF_SSL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+ from typing import Any, Literal
11
12
 
12
13
  _LOGGER: Incomplete
13
14
  PLATFORMS: Incomplete
@@ -17,6 +18,9 @@ type PiHoleConfigEntry = ConfigEntry[PiHoleData]
17
18
  class PiHoleData:
18
19
  api: Hole
19
20
  coordinator: DataUpdateCoordinator[None]
21
+ api_version: int
20
22
 
21
23
  async def async_setup_entry(hass: HomeAssistant, entry: PiHoleConfigEntry) -> bool: ...
22
24
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
25
+ def api_by_version(hass: HomeAssistant, entry: dict[str, Any], version: int, password: str | None = None) -> HoleV5 | HoleV6: ...
26
+ async def determine_api_version(hass: HomeAssistant, entry: dict[str, Any]) -> Literal[5, 6]: ...
@@ -1,9 +1,9 @@
1
+ from . import Hole as Hole, api_by_version as api_by_version, determine_api_version as determine_api_version
1
2
  from .const import DEFAULT_LOCATION as DEFAULT_LOCATION, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Mapping
4
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST, CONF_LOCATION as CONF_LOCATION, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
7
  from typing import Any
8
8
 
9
9
  _LOGGER: Incomplete
@@ -13,7 +13,6 @@ class PiHoleFlowHandler(ConfigFlow, domain=DOMAIN):
13
13
  _config: dict
14
14
  def __init__(self) -> None: ...
15
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
- async def async_step_api_key(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
16
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
18
17
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
18
  async def _async_try_connect(self) -> dict[str, str]: ...
@@ -11,3 +11,4 @@ DEFAULT_STATISTICS_ONLY: bool
11
11
  SERVICE_DISABLE: str
12
12
  SERVICE_DISABLE_ATTR_DURATION: str
13
13
  MIN_TIME_BETWEEN_UPDATES: Incomplete
14
+ VERSION_6_RESPONSE_TO_5_ERROR: Incomplete
@@ -1,6 +1,7 @@
1
1
  from . import PiHoleConfigEntry as PiHoleConfigEntry
2
2
  from .entity import PiHoleEntity as PiHoleEntity
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Mapping
4
5
  from hole import Hole as Hole
5
6
  from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
6
7
  from homeassistant.const import CONF_NAME as CONF_NAME, PERCENTAGE as PERCENTAGE
@@ -8,8 +9,10 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
10
  from homeassistant.helpers.typing import StateType as StateType
10
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
12
+ from typing import Any
11
13
 
12
14
  SENSOR_TYPES: tuple[SensorEntityDescription, ...]
15
+ SENSOR_TYPES_V6: tuple[SensorEntityDescription, ...]
13
16
 
14
17
  async def async_setup_entry(hass: HomeAssistant, entry: PiHoleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
18
 
@@ -20,3 +23,5 @@ class PiHoleSensor(PiHoleEntity, SensorEntity):
20
23
  def __init__(self, api: Hole, coordinator: DataUpdateCoordinator[None], name: str, server_unique_id: str, description: SensorEntityDescription) -> None: ...
21
24
  @property
22
25
  def native_value(self) -> StateType: ...
26
+
27
+ def get_nested(data: Mapping[str, Any], key: str) -> float | int: ...
@@ -12,9 +12,9 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
12
12
 
13
13
  @dataclass(frozen=True)
14
14
  class PiHoleUpdateEntityDescription(UpdateEntityDescription):
15
- installed_version: Callable[[dict], str | None] = ...
16
- latest_version: Callable[[dict], str | None] = ...
17
- has_update: Callable[[dict], bool | None] = ...
15
+ installed_version: Callable[[Hole], str | None] = ...
16
+ latest_version: Callable[[Hole], str | None] = ...
17
+ has_update: Callable[[Hole], bool | None] = ...
18
18
  release_base_url: str | None = ...
19
19
  title: str | None = ...
20
20
 
@@ -14,6 +14,5 @@ DATA_PRIVILEGED_KEY: HassKey[bool | None]
14
14
 
15
15
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
16
16
  async def async_setup_entry(hass: HomeAssistant, entry: PingConfigEntry) -> bool: ...
17
- async def async_reload_entry(hass: HomeAssistant, entry: PingConfigEntry) -> None: ...
18
17
  async def async_unload_entry(hass: HomeAssistant, entry: PingConfigEntry) -> bool: ...
19
18
  async def _can_use_icmp_lib_with_privilege() -> bool | None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_PING_COUNT as CONF_PING_COUNT, DEFAULT_PING_COUNT as DEFAULT_PING_COUNT, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.helpers import selector as selector
@@ -17,7 +17,7 @@ class PingConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
  @staticmethod
19
19
  @callback
20
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
20
+ def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
21
21
 
22
- class OptionsFlowHandler(OptionsFlow):
22
+ class OptionsFlowHandler(OptionsFlowWithReload):
23
23
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -26,7 +26,7 @@ class PlugwiseSelectEntity(PlugwiseEntity, SelectEntity):
26
26
  _location: Incomplete
27
27
  def __init__(self, coordinator: PlugwiseDataUpdateCoordinator, device_id: str, entity_description: PlugwiseSelectEntityDescription) -> None: ...
28
28
  @property
29
- def current_option(self) -> str: ...
29
+ def current_option(self) -> str | None: ...
30
30
  @property
31
31
  def options(self) -> list[str]: ...
32
32
  @plugwise_command
@@ -9,4 +9,3 @@ _LOGGER: Incomplete
9
9
 
10
10
  async def async_setup_entry(hass: HomeAssistant, entry: ProximityConfigEntry) -> bool: ...
11
11
  async def async_unload_entry(hass: HomeAssistant, entry: ProximityConfigEntry) -> bool: ...
12
- async def _async_update_listener(hass: HomeAssistant, entry: ProximityConfigEntry) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_IGNORED_ZONES as CONF_IGNORED_ZONES, CONF_TOLERANCE as CONF_TOLERANCE, CONF_TRACKED_ENTITIES as CONF_TRACKED_ENTITIES, DEFAULT_PROXIMITY_ZONE as DEFAULT_PROXIMITY_ZONE, DEFAULT_TOLERANCE as DEFAULT_TOLERANCE, DOMAIN as DOMAIN
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_ZONE as CONF_ZONE, UnitOfLength as UnitOfLength
5
5
  from homeassistant.core import State as State, callback as callback
6
6
  from homeassistant.helpers.selector import EntitySelector as EntitySelector, EntitySelectorConfig as EntitySelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig
@@ -17,9 +17,9 @@ class ProximityConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  def _user_form_schema(self, user_input: dict[str, Any] | None = None) -> vol.Schema: ...
18
18
  @staticmethod
19
19
  @callback
20
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
20
+ def async_get_options_flow(config_entry: ConfigEntry) -> ProximityOptionsFlow: ...
21
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
22
 
23
- class ProximityOptionsFlow(OptionsFlow):
23
+ class ProximityOptionsFlow(OptionsFlowWithReload):
24
24
  def _user_form_schema(self, user_input: dict[str, Any]) -> vol.Schema: ...
25
25
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -3,5 +3,4 @@ from .coordinator import PurpleAirConfigEntry as PurpleAirConfigEntry, PurpleAir
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
 
5
5
  async def async_setup_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> bool: ...
6
- async def async_reload_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> None: ...
7
6
  async def async_unload_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> bool: ...
@@ -5,7 +5,7 @@ from aiopurpleair import API
5
5
  from aiopurpleair.endpoints.sensors import NearbySensorResult as NearbySensorResult
6
6
  from collections.abc import Mapping
7
7
  from dataclasses import dataclass, field
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
9
9
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_SHOW_ON_MAP as CONF_SHOW_ON_MAP
10
10
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers import aiohttp_client as aiohttp_client
@@ -54,7 +54,7 @@ class PurpleAirConfigFlow(ConfigFlow, domain=DOMAIN):
54
54
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
55
55
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
56
56
 
57
- class PurpleAirOptionsFlowHandler(OptionsFlow):
57
+ class PurpleAirOptionsFlowHandler(OptionsFlowWithReload):
58
58
  _flow_data: dict[str, Any]
59
59
  def __init__(self) -> None: ...
60
60
  @property
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PA
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
8
8
  from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
9
+ from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
9
10
  from typing import Any
10
11
 
11
12
  _LOGGER: Incomplete
@@ -17,7 +18,10 @@ async def validate_input(hass: HomeAssistant, user_input: dict[str, Any]) -> Non
17
18
  class PyLoadConfigFlow(ConfigFlow, domain=DOMAIN):
18
19
  VERSION: int
19
20
  MINOR_VERSION: int
21
+ _hassio_discovery: HassioServiceInfo | None
20
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
23
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
22
24
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
25
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
27
+ async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -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: ...
@@ -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: ...