homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.0b0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (479) 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/homee/__init__.pyi +1 -1
  137. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  138. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  139. homeassistant-stubs/components/http/__init__.pyi +1 -2
  140. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  142. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  143. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  144. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  145. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  146. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  147. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  148. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  149. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  150. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  151. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  152. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  153. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  154. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  155. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  156. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  157. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  158. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  159. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  160. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  161. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  162. homeassistant-stubs/components/immich/services.pyi +18 -0
  163. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  164. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  165. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  166. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  167. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  168. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  169. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  170. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  171. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  172. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  173. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  174. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  175. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  176. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  177. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  178. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  179. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  180. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  181. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  182. homeassistant-stubs/components/knx/button.pyi +1 -1
  183. homeassistant-stubs/components/knx/climate.pyi +1 -1
  184. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  185. homeassistant-stubs/components/knx/const.pyi +1 -1
  186. homeassistant-stubs/components/knx/cover.pyi +3 -2
  187. homeassistant-stubs/components/knx/date.pyi +1 -1
  188. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  189. homeassistant-stubs/components/knx/entity.pyi +1 -1
  190. homeassistant-stubs/components/knx/fan.pyi +1 -1
  191. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  192. homeassistant-stubs/components/knx/light.pyi +3 -2
  193. homeassistant-stubs/components/knx/notify.pyi +1 -1
  194. homeassistant-stubs/components/knx/number.pyi +1 -1
  195. homeassistant-stubs/components/knx/scene.pyi +1 -1
  196. homeassistant-stubs/components/knx/select.pyi +1 -1
  197. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  198. homeassistant-stubs/components/knx/services.pyi +2 -2
  199. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  200. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  201. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  202. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  203. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  204. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  205. homeassistant-stubs/components/knx/switch.pyi +3 -2
  206. homeassistant-stubs/components/knx/text.pyi +1 -1
  207. homeassistant-stubs/components/knx/time.pyi +1 -1
  208. homeassistant-stubs/components/knx/weather.pyi +1 -1
  209. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  210. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  211. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  212. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  213. homeassistant-stubs/components/lcn/light.pyi +2 -1
  214. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  215. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  216. homeassistant-stubs/components/letpot/time.pyi +1 -1
  217. homeassistant-stubs/components/lifx/const.pyi +1 -0
  218. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  219. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  220. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  221. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  222. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  223. homeassistant-stubs/components/matrix/services.pyi +3 -2
  224. homeassistant-stubs/components/matter/entity.pyi +2 -2
  225. homeassistant-stubs/components/matter/number.pyi +29 -1
  226. homeassistant-stubs/components/matter/select.pyi +2 -2
  227. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  228. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  229. homeassistant-stubs/components/mealie/const.pyi +2 -0
  230. homeassistant-stubs/components/mealie/services.pyi +4 -1
  231. homeassistant-stubs/components/media_player/const.pyi +2 -2
  232. homeassistant-stubs/components/media_source/const.pyi +3 -0
  233. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  234. homeassistant-stubs/components/media_source/models.pyi +6 -2
  235. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  236. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  237. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  238. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  239. homeassistant-stubs/components/miele/entity.pyi +2 -0
  240. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  241. homeassistant-stubs/components/miele/services.pyi +24 -0
  242. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  243. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  244. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  245. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  246. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  247. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  248. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  249. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  250. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  251. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  252. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  253. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  254. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  255. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  256. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  257. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  258. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  259. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  260. homeassistant-stubs/components/number/const.pyi +2 -1
  261. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  262. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  263. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  264. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  265. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  266. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  267. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  268. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  269. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  270. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  271. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  272. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  273. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  274. homeassistant-stubs/components/open_router/const.pyi +8 -0
  275. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  276. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  277. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  278. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  279. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  280. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  281. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  282. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  283. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  284. homeassistant-stubs/components/opower/config_flow.pyi +25 -0
  285. homeassistant-stubs/components/opower/const.pyi +3 -0
  286. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  287. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  288. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  289. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  290. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  291. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  292. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  293. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  294. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  295. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  296. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  297. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  298. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  299. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  300. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  301. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  302. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  303. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  304. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  305. homeassistant-stubs/components/renault/services.pyi +3 -2
  306. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  307. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  308. homeassistant-stubs/components/reolink/number.pyi +1 -1
  309. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  310. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  311. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  312. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  313. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  314. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  315. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  316. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  317. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  318. homeassistant-stubs/components/sensor/const.pyi +2 -1
  319. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  320. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  321. homeassistant-stubs/components/shelly/button.pyi +2 -2
  322. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  323. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  324. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  325. homeassistant-stubs/components/shelly/event.pyi +2 -2
  326. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  327. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  328. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  329. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  330. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  331. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  332. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  333. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  334. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  335. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  336. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  337. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  338. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  339. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  340. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  342. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  343. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  344. homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
  345. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  346. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  347. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  348. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  349. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  350. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  351. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  352. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  353. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  354. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  355. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  356. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  357. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  358. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  359. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  360. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  361. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  362. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  363. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  364. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  365. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  366. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  367. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  368. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  369. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  370. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  372. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  373. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  374. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  375. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  376. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  377. homeassistant-stubs/components/tts/entity.pyi +0 -2
  378. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  379. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  380. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  381. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  382. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  383. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  384. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  385. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  386. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  387. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  388. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  389. homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
  390. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  391. homeassistant-stubs/components/velbus/const.pyi +0 -1
  392. homeassistant-stubs/components/velbus/services.pyi +4 -4
  393. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  394. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  395. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  396. homeassistant-stubs/components/volvo/api.pyi +14 -0
  397. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  398. homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
  399. homeassistant-stubs/components/volvo/const.pyi +8 -0
  400. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  401. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  402. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  403. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  404. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  405. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  406. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  407. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  408. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  409. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  410. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  411. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  412. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  413. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  414. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  415. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  416. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  417. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  418. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  419. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  420. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  421. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  422. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  423. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  424. homeassistant-stubs/components/zone/condition.pyi +22 -0
  425. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  426. homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
  427. homeassistant-stubs/components/zwave_js/api.pyi +35 -34
  428. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  429. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  430. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  431. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -3
  432. homeassistant-stubs/components/zwave_js/const.pyi +0 -2
  433. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  434. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  435. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  436. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  437. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  438. homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
  439. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  440. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  441. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  442. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  443. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  444. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  445. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  446. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  447. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  448. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  449. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  450. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  451. homeassistant-stubs/config.pyi +0 -2
  452. homeassistant-stubs/config_entries.pyi +3 -0
  453. homeassistant-stubs/const.pyi +2 -0
  454. homeassistant-stubs/core.pyi +12 -8
  455. homeassistant-stubs/helpers/condition.pyi +25 -6
  456. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  457. homeassistant-stubs/helpers/device.pyi +2 -0
  458. homeassistant-stubs/helpers/device_registry.pyi +11 -6
  459. homeassistant-stubs/helpers/entity.pyi +3 -1
  460. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  461. homeassistant-stubs/helpers/frame.pyi +1 -1
  462. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  463. homeassistant-stubs/helpers/llm.pyi +5 -1
  464. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  465. homeassistant-stubs/helpers/selector.pyi +42 -37
  466. homeassistant-stubs/helpers/service.pyi +9 -26
  467. homeassistant-stubs/helpers/target.pyi +59 -0
  468. homeassistant-stubs/helpers/trigger.pyi +3 -1
  469. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  470. homeassistant-stubs/loader.pyi +2 -9
  471. homeassistant-stubs/runner.pyi +1 -0
  472. homeassistant-stubs/util/resource.pyi +7 -0
  473. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  474. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/METADATA +2 -2
  475. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/RECORD +477 -409
  476. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  477. homeassistant-stubs/helpers/backup.pyi +0 -24
  478. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/WHEEL +0 -0
  479. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,7 @@ from .components import http as http
5
5
  from .const import BASE_PLATFORMS as BASE_PLATFORMS, FORMAT_DATETIME as FORMAT_DATETIME, REQUIRED_NEXT_PYTHON_HA_RELEASE as REQUIRED_NEXT_PYTHON_HA_RELEASE, REQUIRED_NEXT_PYTHON_VER as REQUIRED_NEXT_PYTHON_VER, SIGNAL_BOOTSTRAP_INTEGRATIONS as SIGNAL_BOOTSTRAP_INTEGRATIONS
6
6
  from .core_config import async_process_ha_core_config as async_process_ha_core_config
7
7
  from .exceptions import HomeAssistantError as HomeAssistantError
8
- from .helpers import area_registry as area_registry, backup as backup, category_registry as category_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, floor_registry as floor_registry, frame as frame, issue_registry as issue_registry, label_registry as label_registry, recorder as recorder, restore_state as restore_state, template as template, translation as translation, trigger as trigger
8
+ from .helpers import area_registry as area_registry, category_registry as category_registry, condition as condition, device_registry as device_registry, entity as entity, entity_registry as entity_registry, floor_registry as floor_registry, frame as frame, issue_registry as issue_registry, label_registry as label_registry, recorder as recorder, restore_state as restore_state, template as template, translation as translation, trigger as trigger
9
9
  from .helpers.dispatcher import async_dispatcher_send_internal as async_dispatcher_send_internal
10
10
  from .helpers.storage import get_internal_store_manager as get_internal_store_manager
11
11
  from .helpers.system_info import async_get_system_info as async_get_system_info
@@ -11,4 +11,3 @@ PLATFORMS: Incomplete
11
11
  async def async_setup_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bool: ...
12
12
  async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
13
  async def async_unload_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bool: ...
14
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
4
4
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_RADIUS as CONF_RADIUS
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -18,7 +18,7 @@ class AirNowConfigFlow(ConfigFlow, domain=DOMAIN):
18
18
  @callback
19
19
  def async_get_options_flow(config_entry: ConfigEntry) -> AirNowOptionsFlowHandler: ...
20
20
 
21
- class AirNowOptionsFlowHandler(OptionsFlow):
21
+ class AirNowOptionsFlowHandler(OptionsFlowWithReload):
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
23
 
24
24
  class CannotConnect(HomeAssistantError): ...
@@ -0,0 +1,9 @@
1
+ from .coordinator import AirOSConfigEntry as AirOSConfigEntry, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
2
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
+
6
+ _PLATFORMS: list[Platform]
7
+
8
+ async def async_setup_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool: ...
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import AirOS as AirOS
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
10
+ STEP_USER_DATA_SCHEMA: Incomplete
11
+
12
+ class AirOSConfigFlow(ConfigFlow, domain=DOMAIN):
13
+ VERSION: int
14
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,5 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ SCAN_INTERVAL: Incomplete
5
+ MANUFACTURER: str
@@ -0,0 +1,16 @@
1
+ from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL
2
+ from _typeshed import Incomplete
3
+ from airos.airos8 import AirOS as AirOS, AirOSData
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
+
9
+ _LOGGER: Incomplete
10
+ type AirOSConfigEntry = ConfigEntry[AirOSDataUpdateCoordinator]
11
+
12
+ class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOSData]):
13
+ config_entry: AirOSConfigEntry
14
+ airos_device: Incomplete
15
+ def __init__(self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device: AirOS) -> None: ...
16
+ async def _async_update_data(self) -> AirOSData: ...
@@ -0,0 +1,11 @@
1
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
+ from .coordinator import AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_HOST as CONF_HOST
5
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class AirOSEntity(CoordinatorEntity[AirOSDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ _attr_device_info: Incomplete
11
+ def __init__(self, coordinator: AirOSDataUpdateCoordinator) -> None: ...
@@ -0,0 +1,29 @@
1
+ from .coordinator import AirOSConfigEntry as AirOSConfigEntry, AirOSData as AirOSData, AirOSDataUpdateCoordinator as AirOSDataUpdateCoordinator
2
+ from .entity import AirOSEntity as AirOSEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfDataRate as UnitOfDataRate, UnitOfFrequency as UnitOfFrequency
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.typing import StateType as StateType
11
+
12
+ _LOGGER: Incomplete
13
+ WIRELESS_MODE_OPTIONS: Incomplete
14
+ NETROLE_OPTIONS: Incomplete
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class AirOSSensorEntityDescription(SensorEntityDescription):
18
+ value_fn: Callable[[AirOSData], StateType]
19
+
20
+ SENSORS: tuple[AirOSSensorEntityDescription, ...]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, config_entry: AirOSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class AirOSSensor(AirOSEntity, SensorEntity):
25
+ entity_description: AirOSSensorEntityDescription
26
+ _attr_unique_id: Incomplete
27
+ def __init__(self, coordinator: AirOSDataUpdateCoordinator, description: AirOSSensorEntityDescription) -> None: ...
28
+ @property
29
+ def native_value(self) -> StateType: ...
@@ -4,6 +4,5 @@ CONF_RETURN_AVERAGE: Final[str]
4
4
  CONF_CLIP_NEGATIVE: Final[str]
5
5
  DOMAIN: Final[str]
6
6
  MANUFACTURER: Final[str]
7
- CONCENTRATION_GRAMS_PER_CUBIC_METER: Final[str]
8
7
  ACTIVITY_BECQUEREL_PER_CUBIC_METER: Final[str]
9
8
  UPDATE_INTERVAL: float
@@ -1,10 +1,10 @@
1
1
  from . import AirQConfigEntry as AirQConfigEntry, AirQCoordinator as AirQCoordinator
2
- from .const import ACTIVITY_BECQUEREL_PER_CUBIC_METER as ACTIVITY_BECQUEREL_PER_CUBIC_METER, CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER
2
+ from .const import ACTIVITY_BECQUEREL_PER_CUBIC_METER as ACTIVITY_BECQUEREL_PER_CUBIC_METER
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
- 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, PERCENTAGE as PERCENTAGE, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
7
+ 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, PERCENTAGE as PERCENTAGE, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -15,7 +15,7 @@ SENSORS: dict[str, SensorEntityDescription]
15
15
 
16
16
  async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
17
 
18
- class AirthingsHeaterEnergySensor(CoordinatorEntity[AirthingsDataUpdateCoordinator], SensorEntity):
18
+ class AirthingsDeviceSensor(CoordinatorEntity[AirthingsDataUpdateCoordinator], SensorEntity):
19
19
  _attr_state_class: Incomplete
20
20
  _attr_has_entity_name: bool
21
21
  entity_description: Incomplete
@@ -1,9 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import AmazonConfigEntry as AmazonConfigEntry, AmazonDevicesCoordinator as AmazonDevicesCoordinator
3
+ from .services import async_setup_services as async_setup_services
2
4
  from _typeshed import Incomplete
3
5
  from homeassistant.const import Platform as Platform
4
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
5
9
 
6
10
  PLATFORMS: Incomplete
11
+ CONFIG_SCHEMA: Incomplete
7
12
 
13
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
8
14
  async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry) -> bool: ...
9
15
  async def async_unload_entry(hass: HomeAssistant, entry: AmazonConfigEntry) -> bool: ...
@@ -1,8 +1,18 @@
1
1
  from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Mapping
2
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
5
  from homeassistant.const import CONF_CODE as CONF_CODE, CONF_COUNTRY as CONF_COUNTRY, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
4
8
  from homeassistant.helpers.selector import CountrySelector as CountrySelector
5
9
  from typing import Any
6
10
 
11
+ STEP_REAUTH_DATA_SCHEMA: Incomplete
12
+
13
+ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
14
+
7
15
  class AmazonDevicesConfigFlow(ConfigFlow, domain=DOMAIN):
8
16
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
18
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,10 +1,11 @@
1
- from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, _LOGGER as _LOGGER
1
+ from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, DOMAIN as DOMAIN, _LOGGER as _LOGGER
2
2
  from _typeshed import Incomplete
3
3
  from aioamazondevices.api import AmazonDevice
4
+ from aiohttp import ClientSession as ClientSession
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
8
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
10
 
10
11
  SCAN_INTERVAL: int
@@ -13,5 +14,5 @@ type AmazonConfigEntry = ConfigEntry[AmazonDevicesCoordinator]
13
14
  class AmazonDevicesCoordinator(DataUpdateCoordinator[dict[str, AmazonDevice]]):
14
15
  config_entry: AmazonConfigEntry
15
16
  api: Incomplete
16
- def __init__(self, hass: HomeAssistant, entry: AmazonConfigEntry) -> None: ...
17
+ def __init__(self, hass: HomeAssistant, entry: AmazonConfigEntry, session: ClientSession) -> None: ...
17
18
  async def _async_update_data(self) -> dict[str, AmazonDevice]: ...
@@ -0,0 +1,24 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
+ from homeassistant.helpers import device_registry as dr
9
+
10
+ ATTR_TEXT_COMMAND: str
11
+ ATTR_SOUND: str
12
+ ATTR_SOUND_VARIANT: str
13
+ SERVICE_TEXT_COMMAND: str
14
+ SERVICE_SOUND_NOTIFICATION: str
15
+ SCHEMA_SOUND_SERVICE: Incomplete
16
+ SCHEMA_CUSTOM_COMMAND: Incomplete
17
+
18
+ @callback
19
+ def async_get_entry_id_for_service_call(call: ServiceCall) -> tuple[dr.DeviceEntry, AmazonConfigEntry]: ...
20
+ async def _async_execute_action(call: ServiceCall, attribute: str) -> None: ...
21
+ async def async_send_sound_notification(call: ServiceCall) -> None: ...
22
+ async def async_send_text_command(call: ServiceCall) -> None: ...
23
+ @callback
24
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,7 +1,13 @@
1
- from .const import CONF_SITE_ID as CONF_SITE_ID, PLATFORMS as PLATFORMS
1
+ from .const import CONF_SITE_ID as CONF_SITE_ID, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .coordinator import AmberConfigEntry as AmberConfigEntry, AmberUpdateCoordinator as AmberUpdateCoordinator
3
+ from .services import setup_services as setup_services
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.sensor import ConfigType as ConfigType
3
6
  from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN
4
7
  from homeassistant.core import HomeAssistant as HomeAssistant
5
8
 
9
+ CONFIG_SCHEMA: Incomplete
10
+
11
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
6
12
  async def async_setup_entry(hass: HomeAssistant, entry: AmberConfigEntry) -> bool: ...
7
13
  async def async_unload_entry(hass: HomeAssistant, entry: AmberConfigEntry) -> bool: ...
@@ -1,9 +1,16 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import Platform as Platform
3
+ from typing import Final
3
4
 
4
- DOMAIN: str
5
+ DOMAIN: Final[str]
5
6
  CONF_SITE_NAME: str
6
7
  CONF_SITE_ID: str
8
+ ATTR_CONFIG_ENTRY_ID: str
9
+ ATTR_CHANNEL_TYPE: str
7
10
  ATTRIBUTION: str
8
11
  LOGGER: Incomplete
9
12
  PLATFORMS: Incomplete
13
+ SERVICE_GET_FORECASTS: str
14
+ GENERAL_CHANNEL: str
15
+ CONTROLLED_LOAD_CHANNEL: str
16
+ FEED_IN_CHANNEL: str
@@ -1,10 +1,10 @@
1
1
  import amberelectric
2
2
  from .const import LOGGER as LOGGER
3
+ from .helpers import normalize_descriptor as normalize_descriptor
3
4
  from _typeshed import Incomplete
4
5
  from amberelectric.models.actual_interval import ActualInterval as ActualInterval
5
6
  from amberelectric.models.current_interval import CurrentInterval
6
7
  from amberelectric.models.forecast_interval import ForecastInterval
7
- from amberelectric.models.price_descriptor import PriceDescriptor as PriceDescriptor
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
@@ -16,7 +16,6 @@ def is_forecast(interval: ActualInterval | CurrentInterval | ForecastInterval) -
16
16
  def is_general(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
17
17
  def is_controlled_load(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
18
18
  def is_feed_in(interval: ActualInterval | CurrentInterval | ForecastInterval) -> bool: ...
19
- def normalize_descriptor(descriptor: PriceDescriptor | None) -> str | None: ...
20
19
 
21
20
  class AmberUpdateCoordinator(DataUpdateCoordinator):
22
21
  config_entry: AmberConfigEntry
@@ -0,0 +1,6 @@
1
+ from amberelectric.models.price_descriptor import PriceDescriptor
2
+
3
+ DESCRIPTOR_MAP: dict[str, str]
4
+
5
+ def normalize_descriptor(descriptor: PriceDescriptor | None) -> str | None: ...
6
+ def format_cents_to_dollars(cents: float) -> float: ...
@@ -1,5 +1,6 @@
1
1
  from .const import ATTRIBUTION as ATTRIBUTION
2
- from .coordinator import AmberConfigEntry as AmberConfigEntry, AmberUpdateCoordinator as AmberUpdateCoordinator, normalize_descriptor as normalize_descriptor
2
+ from .coordinator import AmberConfigEntry as AmberConfigEntry, AmberUpdateCoordinator as AmberUpdateCoordinator
3
+ from .helpers import format_cents_to_dollars as format_cents_to_dollars, normalize_descriptor as normalize_descriptor
3
4
  from _typeshed import Incomplete
4
5
  from amberelectric.models.current_interval import CurrentInterval as CurrentInterval
5
6
  from amberelectric.models.forecast_interval import ForecastInterval as ForecastInterval
@@ -12,7 +13,6 @@ from typing import Any
12
13
 
13
14
  UNIT: Incomplete
14
15
 
15
- def format_cents_to_dollars(cents: float) -> float: ...
16
16
  def friendly_channel_type(channel_type: str) -> str: ...
17
17
 
18
18
  class AmberSensor(CoordinatorEntity[AmberUpdateCoordinator], SensorEntity):
@@ -0,0 +1,15 @@
1
+ from .const import ATTR_CHANNEL_TYPE as ATTR_CHANNEL_TYPE, ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, CONTROLLED_LOAD_CHANNEL as CONTROLLED_LOAD_CHANNEL, DOMAIN as DOMAIN, FEED_IN_CHANNEL as FEED_IN_CHANNEL, GENERAL_CHANNEL as GENERAL_CHANNEL, SERVICE_GET_FORECASTS as SERVICE_GET_FORECASTS
2
+ from .coordinator import AmberConfigEntry as AmberConfigEntry
3
+ from .helpers import format_cents_to_dollars as format_cents_to_dollars, normalize_descriptor as normalize_descriptor
4
+ from _typeshed import Incomplete
5
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
+ from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
9
+ from homeassistant.util.json import JsonValueType as JsonValueType
10
+
11
+ GET_FORECASTS_SCHEMA: Incomplete
12
+
13
+ def async_get_entry(hass: HomeAssistant, config_entry_id: str) -> AmberConfigEntry: ...
14
+ def get_forecasts(channel_type: str, data: dict) -> list[JsonValueType]: ...
15
+ def setup_services(hass: HomeAssistant) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .analytics import Analytics as Analytics
2
2
  from .const import ATTR_ONBOARDED as ATTR_ONBOARDED, ATTR_PREFERENCES as ATTR_PREFERENCES, DOMAIN as DOMAIN, INTERVAL as INTERVAL, PREFERENCE_SCHEMA as PREFERENCE_SCHEMA
3
+ from .http import AnalyticsDevicesView as AnalyticsDevicesView
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components import websocket_api as websocket_api
5
6
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
@@ -16,6 +16,8 @@ from homeassistant.loader import Integration as Integration, IntegrationNotFound
16
16
  from homeassistant.setup import async_get_loaded_integrations as async_get_loaded_integrations
17
17
  from typing import Any
18
18
 
19
+ def gen_uuid() -> str: ...
20
+
19
21
  @dataclass
20
22
  class AnalyticsData:
21
23
  onboarded: bool
@@ -47,3 +49,4 @@ class Analytics:
47
49
  def _async_should_report_integration(self, integration: Integration, yaml_domains: set[str], entity_registry_platforms: set[str]) -> bool: ...
48
50
 
49
51
  def _domains_from_yaml_config(yaml_configuration: dict[str, Any]) -> set[str]: ...
52
+ async def async_devices_payload(hass: HomeAssistant) -> dict: ...
@@ -0,0 +1,10 @@
1
+ from .analytics import async_devices_payload as async_devices_payload
2
+ from aiohttp import web as web
3
+ from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS, require_admin as require_admin
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ class AnalyticsDevicesView(HomeAssistantView):
7
+ url: str
8
+ name: str
9
+ @require_admin
10
+ async def get(self, request: web.Request) -> web.Response: ...
@@ -17,4 +17,3 @@ class AnalyticsInsightsData:
17
17
 
18
18
  async def async_setup_entry(hass: HomeAssistant, entry: AnalyticsInsightsConfigEntry) -> bool: ...
19
19
  async def async_unload_entry(hass: HomeAssistant, entry: AnalyticsInsightsConfigEntry) -> bool: ...
20
- async def update_listener(hass: HomeAssistant, entry: AnalyticsInsightsConfigEntry) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from . import AnalyticsInsightsConfigEntry as AnalyticsInsightsConfigEntry
2
2
  from .const import CONF_TRACKED_ADDONS as CONF_TRACKED_ADDONS, CONF_TRACKED_CUSTOM_INTEGRATIONS as CONF_TRACKED_CUSTOM_INTEGRATIONS, CONF_TRACKED_INTEGRATIONS as CONF_TRACKED_INTEGRATIONS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
5
5
  from homeassistant.core import callback as callback
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
7
  from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
@@ -15,5 +15,5 @@ class HomeassistantAnalyticsConfigFlow(ConfigFlow, domain=DOMAIN):
15
15
  def async_get_options_flow(config_entry: AnalyticsInsightsConfigEntry) -> HomeassistantAnalyticsOptionsFlowHandler: ...
16
16
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
17
 
18
- class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlow):
18
+ class HomeassistantAnalyticsOptionsFlowHandler(OptionsFlowWithReload):
19
19
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,15 +1,11 @@
1
- from .helpers import create_api as create_api, get_enable_ime as get_enable_ime
1
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry, create_api as create_api, get_enable_ime as get_enable_ime
2
2
  from _typeshed import Incomplete
3
- from androidtvremote2 import AndroidTVRemote
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
6
4
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
5
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
6
 
9
7
  _LOGGER: Incomplete
10
8
  PLATFORMS: list[Platform]
11
- AndroidTVRemoteConfigEntry = ConfigEntry[AndroidTVRemote]
12
9
 
13
10
  async def async_setup_entry(hass: HomeAssistant, entry: AndroidTVRemoteConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_update_options(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: AndroidTVRemoteConfigEntry) -> bool: ...
@@ -1,9 +1,9 @@
1
1
  from .const import CONF_APPS as CONF_APPS, CONF_APP_ICON as CONF_APP_ICON, CONF_APP_NAME as CONF_APP_NAME, CONF_ENABLE_IME as CONF_ENABLE_IME, DOMAIN as DOMAIN
2
- from .helpers import create_api as create_api, get_enable_ime as get_enable_ime
2
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry, create_api as create_api, get_enable_ime as get_enable_ime
3
3
  from _typeshed import Incomplete
4
4
  from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
5
5
  from collections.abc import Mapping
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.helpers.device_registry import format_mac as format_mac
@@ -15,7 +15,6 @@ _LOGGER: Incomplete
15
15
  APPS_NEW_ID: str
16
16
  CONF_APP_DELETE: str
17
17
  CONF_APP_ID: str
18
- STEP_USER_DATA_SCHEMA: Incomplete
19
18
  STEP_PAIR_DATA_SCHEMA: Incomplete
20
19
 
21
20
  class AndroidTVRemoteConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -31,14 +30,15 @@ class AndroidTVRemoteConfigFlow(ConfigFlow, domain=DOMAIN):
31
30
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
31
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
33
32
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
34
  @staticmethod
35
35
  @callback
36
- def async_get_options_flow(config_entry: ConfigEntry) -> AndroidTVRemoteOptionsFlowHandler: ...
36
+ def async_get_options_flow(config_entry: AndroidTVRemoteConfigEntry) -> AndroidTVRemoteOptionsFlowHandler: ...
37
37
 
38
- class AndroidTVRemoteOptionsFlowHandler(OptionsFlow):
38
+ class AndroidTVRemoteOptionsFlowHandler(OptionsFlowWithReload):
39
39
  _apps: dict[str, Any]
40
40
  _conf_app_id: str | None
41
- def __init__(self, config_entry: ConfigEntry) -> None: ...
41
+ def __init__(self, config_entry: AndroidTVRemoteConfigEntry) -> None: ...
42
42
  @callback
43
43
  def _save_config(self, data: dict[str, Any]) -> ConfigFlowResult: ...
44
44
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from . import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
1
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_APPS as CONF_APPS, DOMAIN as DOMAIN
2
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -20,7 +20,7 @@ class AndroidTVRemoteBaseEntity(Entity):
20
20
  _attr_unique_id: Incomplete
21
21
  _attr_is_on: Incomplete
22
22
  _attr_device_info: Incomplete
23
- def __init__(self, api: AndroidTVRemote, config_entry: ConfigEntry) -> None: ...
23
+ def __init__(self, api: AndroidTVRemote, config_entry: AndroidTVRemoteConfigEntry) -> None: ...
24
24
  _attr_available: Incomplete
25
25
  @callback
26
26
  def _is_available_updated(self, is_available: bool) -> None: ...
@@ -4,5 +4,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
6
6
 
7
+ AndroidTVRemoteConfigEntry = ConfigEntry[AndroidTVRemote]
8
+
7
9
  def create_api(hass: HomeAssistant, host: str, enable_ime: bool) -> AndroidTVRemote: ...
8
- def get_enable_ime(entry: ConfigEntry) -> bool: ...
10
+ def get_enable_ime(entry: AndroidTVRemoteConfigEntry) -> bool: ...
@@ -1,9 +1,9 @@
1
1
  import asyncio
2
- from . import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
3
2
  from .const import CONF_APP_ICON as CONF_APP_ICON, CONF_APP_NAME as CONF_APP_NAME, DOMAIN as DOMAIN
4
3
  from .entity import AndroidTVRemoteBaseEntity as AndroidTVRemoteBaseEntity
4
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
5
5
  from _typeshed import Incomplete
6
- from androidtvremote2 import AndroidTVRemote as AndroidTVRemote
6
+ from androidtvremote2 import AndroidTVRemote as AndroidTVRemote, VolumeInfo as VolumeInfo
7
7
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -25,11 +25,11 @@ class AndroidTVRemoteMediaPlayerEntity(AndroidTVRemoteBaseEntity, MediaPlayerEnt
25
25
  def _update_current_app(self, current_app: str) -> None: ...
26
26
  _attr_volume_level: Incomplete
27
27
  _attr_is_volume_muted: Incomplete
28
- def _update_volume_info(self, volume_info: dict[str, str | bool]) -> None: ...
28
+ def _update_volume_info(self, volume_info: VolumeInfo) -> None: ...
29
29
  @callback
30
30
  def _current_app_updated(self, current_app: str) -> None: ...
31
31
  @callback
32
- def _volume_info_updated(self, volume_info: dict[str, str | bool]) -> None: ...
32
+ def _volume_info_updated(self, volume_info: VolumeInfo) -> None: ...
33
33
  async def async_added_to_hass(self) -> None: ...
34
34
  async def async_will_remove_from_hass(self) -> None: ...
35
35
  @property
@@ -1,6 +1,6 @@
1
- from . import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
2
1
  from .const import CONF_APP_NAME as CONF_APP_NAME
3
2
  from .entity import AndroidTVRemoteBaseEntity as AndroidTVRemoteBaseEntity
3
+ from .helpers import AndroidTVRemoteConfigEntry as AndroidTVRemoteConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Iterable
6
6
  from homeassistant.components.remote import ATTR_ACTIVITY as ATTR_ACTIVITY, ATTR_DELAY_SECS as ATTR_DELAY_SECS, ATTR_HOLD_SECS as ATTR_HOLD_SECS, ATTR_NUM_REPEATS as ATTR_NUM_REPEATS, DEFAULT_DELAY_SECS as DEFAULT_DELAY_SECS, DEFAULT_HOLD_SECS as DEFAULT_HOLD_SECS, DEFAULT_NUM_REPEATS as DEFAULT_NUM_REPEATS, RemoteEntity as RemoteEntity, RemoteEntityFeature as RemoteEntityFeature
@@ -1,13 +1,13 @@
1
1
  from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, OPTION_PREFERRED as OPTION_PREFERRED, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
2
2
  from .error import PipelineNotFound as PipelineNotFound
3
- from .pipeline import AudioSettings as AudioSettings, Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, PipelineStage, WakeWordSettings as WakeWordSettings, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines, async_migrate_engine as async_migrate_engine, async_update_pipeline as async_update_pipeline
3
+ from .pipeline import AudioSettings as AudioSettings, Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, PipelineStage, WakeWordSettings as WakeWordSettings, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines, async_update_pipeline as async_update_pipeline
4
4
  from collections.abc import AsyncIterable
5
5
  from homeassistant.components import stt
6
6
  from homeassistant.core import Context, HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType
8
8
  from typing import Any
9
9
 
10
- __all__ = ['DOMAIN', 'EVENT_RECORDING', 'OPTION_PREFERRED', 'SAMPLES_PER_CHUNK', 'SAMPLE_CHANNELS', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_pipeline_from_audio_stream', 'async_setup', 'async_update_pipeline']
10
+ __all__ = ['DOMAIN', 'EVENT_RECORDING', 'OPTION_PREFERRED', 'SAMPLES_PER_CHUNK', 'SAMPLE_CHANNELS', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'async_create_default_pipeline', 'async_get_pipelines', 'async_pipeline_from_audio_stream', 'async_setup', 'async_update_pipeline']
11
11
 
12
12
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
13
13
  async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | dict[str, Any] | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ..., conversation_extra_system_prompt: str | None = None) -> None: ...
@@ -2,7 +2,6 @@ from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
4
  DATA_CONFIG: Incomplete
5
- DATA_MIGRATIONS: Incomplete
6
5
  DEFAULT_PIPELINE_TIMEOUT: Incomplete
7
6
  DEFAULT_WAKE_WORD_TIMEOUT: int
8
7
  CONF_DEBUG_RECORDING_DIR: str
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from .audio_enhancer import AudioEnhancer as AudioEnhancer, EnhancedAudioChunk as EnhancedAudioChunk, MicroVadSpeexEnhancer as MicroVadSpeexEnhancer
3
- from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
3
+ from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
4
4
  from .error import DuplicateWakeUpDetectedError as DuplicateWakeUpDetectedError, IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionAborted as WakeWordDetectionAborted, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
5
5
  from .vad import AudioBuffer as AudioBuffer, VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter, chunk_samples as chunk_samples
6
6
  from _typeshed import Incomplete
@@ -24,7 +24,7 @@ from homeassistant.util.limited_size_dict import LimitedSizeDict as LimitedSizeD
24
24
  from pathlib import Path
25
25
  from queue import Queue
26
26
  from threading import Thread
27
- from typing import Any, Literal
27
+ from typing import Any
28
28
 
29
29
  _LOGGER: Incomplete
30
30
  STORAGE_KEY: Incomplete
@@ -265,9 +265,6 @@ class PipelineStore(Store[SerializedPipelineStorageCollection]):
265
265
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: SerializedPipelineStorageCollection) -> SerializedPipelineStorageCollection: ...
266
266
 
267
267
  async def async_setup_pipeline_store(hass: HomeAssistant) -> PipelineData: ...
268
- @callback
269
- def async_migrate_engine(hass: HomeAssistant, engine_type: Literal['conversation', 'stt', 'tts', 'wake_word'], old_value: str, new_value: str) -> None: ...
270
- async def async_run_migrations(hass: HomeAssistant) -> None: ...
271
268
 
272
269
  @dataclass
273
270
  class PipelineConversationData:
@@ -1,6 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
3
  API_CO2: str
4
+ API_DEW_POINT: str
4
5
  API_DUST: str
5
6
  API_HUMID: str
6
7
  API_LUX: str
@@ -1,4 +1,4 @@
1
- from .const import API_CO2 as API_CO2, API_DUST as API_DUST, API_HUMID as API_HUMID, API_LUX as API_LUX, API_PM10 as API_PM10, API_PM25 as API_PM25, API_SCORE as API_SCORE, API_SPL_A as API_SPL_A, API_TEMP as API_TEMP, API_VOC as API_VOC, ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
1
+ from .const import API_CO2 as API_CO2, API_DEW_POINT as API_DEW_POINT, API_DUST as API_DUST, API_HUMID as API_HUMID, API_LUX as API_LUX, API_PM10 as API_PM10, API_PM25 as API_PM25, API_SCORE as API_SCORE, API_SPL_A as API_SPL_A, API_TEMP as API_TEMP, API_VOC as API_VOC, ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
2
2
  from .coordinator import AwairConfigEntry as AwairConfigEntry, AwairDataUpdateCoordinator as AwairDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass