homeassistant-stubs 2025.7.3__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 (484) 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/fujitsu_fglair/climate.pyi +1 -1
  97. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  98. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  99. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  100. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  101. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  102. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  103. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  104. homeassistant-stubs/components/gios/const.pyi +2 -0
  105. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  106. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  107. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  108. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  109. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  110. homeassistant-stubs/components/guardian/services.pyi +2 -1
  111. homeassistant-stubs/components/habitica/button.pyi +3 -4
  112. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  113. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  114. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  115. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  116. homeassistant-stubs/components/habitica/util.pyi +2 -1
  117. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  118. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  119. homeassistant-stubs/components/heos/services.pyi +3 -2
  120. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  121. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  122. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  123. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  124. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  125. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  126. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  127. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  128. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  129. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  130. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  131. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  132. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  133. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  134. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  135. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  136. homeassistant-stubs/components/homeassistant/triggers/time.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/light.pyi +1 -1
  221. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  222. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  223. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  224. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  225. homeassistant-stubs/components/matrix/services.pyi +3 -2
  226. homeassistant-stubs/components/matter/entity.pyi +2 -2
  227. homeassistant-stubs/components/matter/light.pyi +1 -1
  228. homeassistant-stubs/components/matter/number.pyi +29 -1
  229. homeassistant-stubs/components/matter/select.pyi +2 -2
  230. homeassistant-stubs/components/matter/vacuum.pyi +2 -0
  231. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  232. homeassistant-stubs/components/mealie/const.pyi +2 -0
  233. homeassistant-stubs/components/mealie/services.pyi +4 -1
  234. homeassistant-stubs/components/media_player/const.pyi +2 -2
  235. homeassistant-stubs/components/media_source/const.pyi +3 -0
  236. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  237. homeassistant-stubs/components/media_source/models.pyi +6 -2
  238. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  239. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  240. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  241. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  242. homeassistant-stubs/components/miele/entity.pyi +2 -0
  243. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  244. homeassistant-stubs/components/miele/services.pyi +24 -0
  245. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  246. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  247. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  248. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  249. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  250. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  251. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  252. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  253. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  254. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  255. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  256. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  257. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  258. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  259. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  260. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  261. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  262. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  263. homeassistant-stubs/components/number/const.pyi +2 -1
  264. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  265. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  266. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  267. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  268. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  269. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  270. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  271. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  272. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  273. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  274. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  275. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  276. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  277. homeassistant-stubs/components/open_router/const.pyi +8 -0
  278. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  279. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  280. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  281. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  282. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  283. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  284. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  285. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  286. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  287. homeassistant-stubs/components/opower/config_flow.pyi +25 -0
  288. homeassistant-stubs/components/opower/const.pyi +3 -0
  289. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  290. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  291. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  292. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  293. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  294. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  295. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  296. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  297. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  298. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  299. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  300. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  301. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  302. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  303. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  304. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  305. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  306. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  307. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  308. homeassistant-stubs/components/renault/services.pyi +3 -2
  309. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  310. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  311. homeassistant-stubs/components/reolink/number.pyi +1 -1
  312. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  313. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  314. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  315. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  316. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  317. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  318. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  319. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  320. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  321. homeassistant-stubs/components/sensor/const.pyi +2 -1
  322. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  323. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  324. homeassistant-stubs/components/shelly/button.pyi +2 -2
  325. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  326. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  327. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  328. homeassistant-stubs/components/shelly/event.pyi +2 -2
  329. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  330. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  331. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  332. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  333. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  334. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  335. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  336. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  337. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  338. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  339. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  341. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  342. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  343. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  344. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  345. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  346. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  347. homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
  348. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  349. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  350. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  351. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  352. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  353. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  354. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  355. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  356. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  357. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  358. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  359. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  360. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  361. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  362. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  363. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  364. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  365. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  366. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  367. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  368. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  369. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  370. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  371. homeassistant-stubs/components/telegram_bot/webhooks.pyi +3 -1
  372. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  373. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  374. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  375. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  376. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  377. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  378. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  379. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  380. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/tts/entity.pyi +0 -2
  382. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  383. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  384. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  385. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  386. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  387. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  388. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  389. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  390. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  391. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  392. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  393. homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
  394. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  395. homeassistant-stubs/components/velbus/const.pyi +0 -1
  396. homeassistant-stubs/components/velbus/services.pyi +4 -4
  397. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  398. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  399. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  400. homeassistant-stubs/components/volvo/api.pyi +14 -0
  401. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  402. homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
  403. homeassistant-stubs/components/volvo/const.pyi +8 -0
  404. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  405. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  406. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  407. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  408. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  409. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  410. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  411. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  412. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  413. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  414. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  415. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  416. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  417. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  418. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  419. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  420. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  421. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  422. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  423. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  424. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  425. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  426. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  427. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  428. homeassistant-stubs/components/zone/condition.pyi +22 -0
  429. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  430. homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
  431. homeassistant-stubs/components/zwave_js/api.pyi +35 -34
  432. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  433. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  434. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  435. homeassistant-stubs/components/zwave_js/config_flow.pyi +5 -3
  436. homeassistant-stubs/components/zwave_js/const.pyi +0 -2
  437. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  438. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  439. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  440. homeassistant-stubs/components/zwave_js/entity.pyi +0 -4
  441. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  442. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  443. homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
  444. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  445. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  446. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  447. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  448. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  449. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  450. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  451. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  452. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  453. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  454. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  455. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  456. homeassistant-stubs/config.pyi +0 -2
  457. homeassistant-stubs/config_entries.pyi +3 -0
  458. homeassistant-stubs/const.pyi +2 -0
  459. homeassistant-stubs/core.pyi +12 -8
  460. homeassistant-stubs/helpers/condition.pyi +25 -6
  461. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  462. homeassistant-stubs/helpers/device.pyi +2 -0
  463. homeassistant-stubs/helpers/device_registry.pyi +11 -6
  464. homeassistant-stubs/helpers/entity.pyi +3 -1
  465. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  466. homeassistant-stubs/helpers/frame.pyi +1 -1
  467. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  468. homeassistant-stubs/helpers/llm.pyi +5 -1
  469. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  470. homeassistant-stubs/helpers/selector.pyi +42 -37
  471. homeassistant-stubs/helpers/service.pyi +9 -26
  472. homeassistant-stubs/helpers/target.pyi +59 -0
  473. homeassistant-stubs/helpers/trigger.pyi +3 -1
  474. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  475. homeassistant-stubs/loader.pyi +2 -9
  476. homeassistant-stubs/runner.pyi +1 -0
  477. homeassistant-stubs/util/resource.pyi +7 -0
  478. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  479. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/METADATA +2 -2
  480. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/RECORD +482 -414
  481. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  482. homeassistant-stubs/helpers/backup.pyi +0 -24
  483. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/WHEEL +0 -0
  484. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,7 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
- from homeassistant.helpers.service import async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
8
+ from homeassistant.helpers.target import TargetSelectorData as TargetSelectorData, async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
9
9
  from homeassistant.util.json import JsonValueType as JsonValueType
10
10
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
11
11
  from typing import Any
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import UptimeKumaConfigEntry as UptimeKumaConfigEntry, UptimeKumaDataUpdateCoordinator as UptimeKumaDataUpdateCoordinator, UptimeKumaSoftwareUpdateCoordinator as UptimeKumaSoftwareUpdateCoordinator
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers import device_registry as dr
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.util.hass_dict import HassKey as HassKey
8
+
9
+ _PLATFORMS: list[Platform]
10
+ UPTIME_KUMA_KEY: HassKey[UptimeKumaSoftwareUpdateCoordinator]
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: UptimeKumaConfigEntry) -> bool: ...
13
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: UptimeKumaConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: UptimeKumaConfigEntry) -> bool: ...
@@ -0,0 +1,26 @@
1
+ from .const import 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_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
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
10
+ from typing import Any
11
+ from yarl import URL
12
+
13
+ _LOGGER: Incomplete
14
+ STEP_USER_DATA_SCHEMA: Incomplete
15
+ STEP_REAUTH_DATA_SCHEMA: Incomplete
16
+
17
+ async def validate_connection(hass: HomeAssistant, url: URL | str, verify_ssl: bool, api_key: str | None) -> dict[str, str]: ...
18
+
19
+ class UptimeKumaConfigFlow(ConfigFlow, domain=DOMAIN):
20
+ _hassio_discovery: HassioServiceInfo | None
21
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
23
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
+ async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
26
+ async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,7 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ HAS_CERT: Incomplete
5
+ HAS_URL: Incomplete
6
+ HAS_PORT: Incomplete
7
+ HAS_HOST: Incomplete
@@ -0,0 +1,30 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+ from pythonkuma import UptimeKumaMonitor, UptimeKumaVersion as UptimeKumaVersion
10
+ from pythonkuma.update import LatestRelease, UpdateChecker as UpdateChecker
11
+
12
+ _LOGGER: Incomplete
13
+ SCAN_INTERVAL: Incomplete
14
+ SCAN_INTERVAL_UPDATES: Incomplete
15
+ type UptimeKumaConfigEntry = ConfigEntry[UptimeKumaDataUpdateCoordinator]
16
+
17
+ class UptimeKumaDataUpdateCoordinator(DataUpdateCoordinator[dict[str | int, UptimeKumaMonitor]]):
18
+ config_entry: UptimeKumaConfigEntry
19
+ api: Incomplete
20
+ version: UptimeKumaVersion | None
21
+ def __init__(self, hass: HomeAssistant, config_entry: UptimeKumaConfigEntry) -> None: ...
22
+ async def _async_update_data(self) -> dict[str | int, UptimeKumaMonitor]: ...
23
+
24
+ @callback
25
+ def async_migrate_entities_unique_ids(hass: HomeAssistant, coordinator: UptimeKumaDataUpdateCoordinator, metrics: dict[str | int, UptimeKumaMonitor]) -> None: ...
26
+
27
+ class UptimeKumaSoftwareUpdateCoordinator(DataUpdateCoordinator[LatestRelease]):
28
+ update_checker: Incomplete
29
+ def __init__(self, hass: HomeAssistant, update_checker: UpdateChecker) -> None: ...
30
+ async def _async_update_data(self) -> LatestRelease: ...
@@ -0,0 +1,9 @@
1
+ from .coordinator import UptimeKumaConfigEntry as UptimeKumaConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from typing import Any
6
+
7
+ TO_REDACT: Incomplete
8
+
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: UptimeKumaConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,46 @@
1
+ from .const import DOMAIN as DOMAIN, HAS_CERT as HAS_CERT, HAS_HOST as HAS_HOST, HAS_PORT as HAS_PORT, HAS_URL as HAS_URL
2
+ from .coordinator import UptimeKumaConfigEntry as UptimeKumaConfigEntry, UptimeKumaDataUpdateCoordinator as UptimeKumaDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from enum import StrEnum
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
+ from homeassistant.const import CONF_URL as CONF_URL, EntityCategory as EntityCategory, UnitOfTime as UnitOfTime
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
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 pythonkuma import MonitorType, UptimeKumaMonitor as UptimeKumaMonitor
15
+
16
+ PARALLEL_UPDATES: int
17
+
18
+ class UptimeKumaSensor(StrEnum):
19
+ CERT_DAYS_REMAINING = 'cert_days_remaining'
20
+ RESPONSE_TIME = 'response_time'
21
+ STATUS = 'status'
22
+ TYPE = 'type'
23
+ URL = 'url'
24
+ HOSTNAME = 'hostname'
25
+ PORT = 'port'
26
+
27
+ @dataclass(kw_only=True, frozen=True)
28
+ class UptimeKumaSensorEntityDescription(SensorEntityDescription):
29
+ value_fn: Callable[[UptimeKumaMonitor], StateType]
30
+ create_entity: Callable[[MonitorType], bool]
31
+
32
+ SENSOR_DESCRIPTIONS: tuple[UptimeKumaSensorEntityDescription, ...]
33
+
34
+ async def async_setup_entry(hass: HomeAssistant, config_entry: UptimeKumaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
35
+
36
+ class UptimeKumaSensorEntity(CoordinatorEntity[UptimeKumaDataUpdateCoordinator], SensorEntity):
37
+ entity_description: UptimeKumaSensorEntityDescription
38
+ _attr_has_entity_name: bool
39
+ monitor: Incomplete
40
+ _attr_unique_id: Incomplete
41
+ _attr_device_info: Incomplete
42
+ def __init__(self, coordinator: UptimeKumaDataUpdateCoordinator, monitor: str | int, entity_description: UptimeKumaSensorEntityDescription) -> None: ...
43
+ @property
44
+ def native_value(self) -> StateType: ...
45
+ @property
46
+ def available(self) -> bool: ...
@@ -0,0 +1,39 @@
1
+ from . import UPTIME_KUMA_KEY as UPTIME_KUMA_KEY
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import UptimeKumaConfigEntry as UptimeKumaConfigEntry, UptimeKumaDataUpdateCoordinator as UptimeKumaDataUpdateCoordinator, UptimeKumaSoftwareUpdateCoordinator as UptimeKumaSoftwareUpdateCoordinator
4
+ from _typeshed import Incomplete
5
+ from enum import StrEnum
6
+ from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
7
+ from homeassistant.const import CONF_URL as CONF_URL
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ class UptimeKumaUpdate(StrEnum):
16
+ UPDATE = 'update'
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: UptimeKumaConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class UptimeKumaUpdateEntity(CoordinatorEntity[UptimeKumaDataUpdateCoordinator], UpdateEntity):
21
+ entity_description: Incomplete
22
+ _attr_supported_features: Incomplete
23
+ _attr_has_entity_name: bool
24
+ update_checker: Incomplete
25
+ _attr_device_info: Incomplete
26
+ _attr_unique_id: Incomplete
27
+ def __init__(self, coordinator: UptimeKumaDataUpdateCoordinator, update_coordinator: UptimeKumaSoftwareUpdateCoordinator) -> None: ...
28
+ @property
29
+ def installed_version(self) -> str | None: ...
30
+ @property
31
+ def title(self) -> str | None: ...
32
+ @property
33
+ def release_url(self) -> str | None: ...
34
+ @property
35
+ def latest_version(self) -> str | None: ...
36
+ async def async_release_notes(self) -> str | None: ...
37
+ async def async_added_to_hass(self) -> None: ...
38
+ @property
39
+ def available(self) -> bool: ...
@@ -93,12 +93,19 @@ class StateVacuumEntity(Entity, cached_properties=STATE_VACUUM_CACHED_PROPERTIES
93
93
  _attr_activity: VacuumActivity | None
94
94
  _attr_supported_features: VacuumEntityFeature
95
95
  __vacuum_legacy_state: bool
96
+ __vacuum_legacy_battery_level: bool
97
+ __vacuum_legacy_battery_icon: bool
98
+ __vacuum_legacy_battery_feature: bool
96
99
  def __init_subclass__(cls, **kwargs: Any) -> None: ...
97
100
  def __setattr__(self, name: str, value: Any) -> None: ...
98
101
  @callback
99
102
  def add_to_platform_start(self, hass: HomeAssistant, platform: EntityPlatform, parallel_updates: asyncio.Semaphore | None) -> None: ...
100
103
  @callback
101
104
  def _report_deprecated_activity_handling(self) -> None: ...
105
+ @callback
106
+ def _report_deprecated_battery_properties(self, property: str) -> None: ...
107
+ @callback
108
+ def _report_deprecated_battery_feature(self) -> None: ...
102
109
  @cached_property
103
110
  def battery_level(self) -> int | None: ...
104
111
  @property
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from .const import DOMAIN as DOMAIN
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 dataclasses import dataclass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -4,7 +4,6 @@ from typing import Final
4
4
 
5
5
  DOMAIN: Final[str]
6
6
  CONF_CONFIG_ENTRY: Final[str]
7
- CONF_INTERFACE: Final[str]
8
7
  CONF_MEMO_TEXT: Final[str]
9
8
  CONF_TLS: Final[str]
10
9
  SERVICE_SCAN: Final[str]
@@ -1,11 +1,11 @@
1
1
  from . import VelbusConfigEntry as VelbusConfigEntry
2
- from .const import CONF_CONFIG_ENTRY as CONF_CONFIG_ENTRY, CONF_INTERFACE as CONF_INTERFACE, CONF_MEMO_TEXT as CONF_MEMO_TEXT, DOMAIN as DOMAIN, SERVICE_CLEAR_CACHE as SERVICE_CLEAR_CACHE, SERVICE_SCAN as SERVICE_SCAN, SERVICE_SET_MEMO_TEXT as SERVICE_SET_MEMO_TEXT, SERVICE_SYNC as SERVICE_SYNC
2
+ from .const import CONF_CONFIG_ENTRY as CONF_CONFIG_ENTRY, CONF_MEMO_TEXT as CONF_MEMO_TEXT, DOMAIN as DOMAIN, SERVICE_CLEAR_CACHE as SERVICE_CLEAR_CACHE, SERVICE_SCAN as SERVICE_SCAN, SERVICE_SET_MEMO_TEXT as SERVICE_SET_MEMO_TEXT, SERVICE_SYNC as SERVICE_SYNC
3
3
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
4
4
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
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
  from homeassistant.helpers import selector as selector
8
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
9
8
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
10
9
 
11
- def setup_services(hass: HomeAssistant) -> None: ...
10
+ @callback
11
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -8,4 +8,3 @@ PLATFORMS: Incomplete
8
8
 
9
9
  async def async_setup_entry(hass: HomeAssistant, entry: VodafoneConfigEntry) -> bool: ...
10
10
  async def async_unload_entry(hass: HomeAssistant, entry: VodafoneConfigEntry) -> bool: ...
11
- async def update_listener(hass: HomeAssistant, entry: VodafoneConfigEntry) -> None: ...
@@ -5,7 +5,7 @@ from .utils import async_client_session as async_client_session
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
7
  from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
8
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from typing import Any
@@ -26,5 +26,5 @@ class VodafoneStationConfigFlow(ConfigFlow, domain=DOMAIN):
26
26
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
27
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
29
- class VodafoneStationOptionsFlowHandler(OptionsFlow):
29
+ class VodafoneStationOptionsFlowHandler(OptionsFlowWithReload):
30
30
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,15 @@
1
+ from .api import VolvoAuth as VolvoAuth
2
+ from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
+ from .coordinator import VolvoConfigEntry as VolvoConfigEntry, VolvoMediumIntervalCoordinator as VolvoMediumIntervalCoordinator, VolvoSlowIntervalCoordinator as VolvoSlowIntervalCoordinator, VolvoVerySlowIntervalCoordinator as VolvoVerySlowIntervalCoordinator
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
9
+ from volvocarsapi.api import VolvoCarsApi
10
+ from volvocarsapi.models import VolvoCarsVehicle as VolvoCarsVehicle
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: VolvoConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: VolvoConfigEntry) -> bool: ...
14
+ async def _async_auth_and_create_api(hass: HomeAssistant, entry: VolvoConfigEntry) -> VolvoCarsApi: ...
15
+ async def _async_load_vehicle(api: VolvoCarsApi) -> VolvoCarsVehicle: ...
@@ -0,0 +1,14 @@
1
+ from _typeshed import Incomplete
2
+ from aiohttp import ClientSession as ClientSession
3
+ from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
4
+ from volvocarsapi.auth import AccessTokenManager
5
+
6
+ class VolvoAuth(AccessTokenManager):
7
+ _oauth_session: Incomplete
8
+ def __init__(self, websession: ClientSession, oauth_session: OAuth2Session) -> None: ...
9
+ async def async_get_access_token(self) -> str: ...
10
+
11
+ class ConfigFlowVolvoAuth(AccessTokenManager):
12
+ _token: Incomplete
13
+ def __init__(self, websession: ClientSession, token: str) -> None: ...
14
+ async def async_get_access_token(self) -> str: ...
@@ -0,0 +1,9 @@
1
+ from homeassistant.components.application_credentials import ClientCredential as ClientCredential
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.helpers.config_entry_oauth2_flow import LocalOAuth2ImplementationWithPkce as LocalOAuth2ImplementationWithPkce
4
+
5
+ async def async_get_auth_implementation(hass: HomeAssistant, auth_domain: str, credential: ClientCredential) -> VolvoOAuth2Implementation: ...
6
+
7
+ class VolvoOAuth2Implementation(LocalOAuth2ImplementationWithPkce):
8
+ @property
9
+ def extra_authorize_data(self) -> dict: ...
@@ -0,0 +1,34 @@
1
+ import logging
2
+ from .api import ConfigFlowVolvoAuth as ConfigFlowVolvoAuth
3
+ from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Mapping
6
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
7
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_API_KEY as CONF_API_KEY, CONF_NAME as CONF_NAME, CONF_TOKEN as CONF_TOKEN
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
10
+ from homeassistant.helpers.config_entry_oauth2_flow import AbstractOAuth2FlowHandler as AbstractOAuth2FlowHandler
11
+ from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
12
+ from typing import Any
13
+ from volvocarsapi.api import VolvoCarsApi
14
+ from volvocarsapi.models import VolvoCarsVehicle as VolvoCarsVehicle
15
+
16
+ _LOGGER: Incomplete
17
+
18
+ def _create_volvo_cars_api(hass: HomeAssistant, access_token: str, api_key: str) -> VolvoCarsApi: ...
19
+
20
+ class VolvoOAuth2FlowHandler(AbstractOAuth2FlowHandler, domain=DOMAIN):
21
+ DOMAIN = DOMAIN
22
+ _vehicles: list[VolvoCarsVehicle]
23
+ _config_data: dict
24
+ def __init__(self) -> None: ...
25
+ @property
26
+ def logger(self) -> logging.Logger: ...
27
+ async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
28
+ async def async_step_reauth(self, _: Mapping[str, Any]) -> ConfigFlowResult: ...
29
+ async def async_step_reconfigure(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
+ async def async_step_api_key(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
+ async def async_step_vin(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def _async_create_or_update(self) -> ConfigFlowResult: ...
34
+ async def _async_load_vehicles(self, api: VolvoCarsApi) -> None: ...
@@ -0,0 +1,8 @@
1
+ from homeassistant.const import Platform as Platform
2
+
3
+ DOMAIN: str
4
+ PLATFORMS: list[Platform]
5
+ ATTR_API_TIMESTAMP: str
6
+ CONF_VIN: str
7
+ DATA_BATTERY_CAPACITY: str
8
+ MANUFACTURER: str
@@ -0,0 +1,46 @@
1
+ import abc
2
+ from .const import DATA_BATTERY_CAPACITY as DATA_BATTERY_CAPACITY, DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from abc import abstractmethod
5
+ from collections.abc import Callable as Callable, Coroutine
6
+ from datetime import timedelta
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+ from typing import Any
12
+ from volvocarsapi.api import VolvoCarsApi as VolvoCarsApi
13
+ from volvocarsapi.models import VolvoCarsApiBaseModel, VolvoCarsVehicle as VolvoCarsVehicle
14
+
15
+ VERY_SLOW_INTERVAL: int
16
+ SLOW_INTERVAL: int
17
+ MEDIUM_INTERVAL: int
18
+ _LOGGER: Incomplete
19
+ type VolvoConfigEntry = ConfigEntry[tuple[VolvoBaseCoordinator, ...]]
20
+ type CoordinatorData = dict[str, VolvoCarsApiBaseModel | None]
21
+
22
+ class VolvoBaseCoordinator(DataUpdateCoordinator[CoordinatorData], metaclass=abc.ABCMeta):
23
+ config_entry: VolvoConfigEntry
24
+ api: Incomplete
25
+ vehicle: Incomplete
26
+ _api_calls: list[Callable[[], Coroutine[Any, Any, Any]]]
27
+ def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, api: VolvoCarsApi, vehicle: VolvoCarsVehicle, update_interval: timedelta, name: str) -> None: ...
28
+ update_interval: Incomplete
29
+ async def _async_setup(self) -> None: ...
30
+ async def _async_update_data(self) -> CoordinatorData: ...
31
+ def get_api_field(self, api_field: str | None) -> VolvoCarsApiBaseModel | None: ...
32
+ @abstractmethod
33
+ async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
34
+
35
+ class VolvoVerySlowIntervalCoordinator(VolvoBaseCoordinator):
36
+ def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, api: VolvoCarsApi, vehicle: VolvoCarsVehicle) -> None: ...
37
+ async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
38
+ async def _async_update_data(self) -> CoordinatorData: ...
39
+
40
+ class VolvoSlowIntervalCoordinator(VolvoBaseCoordinator):
41
+ def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, api: VolvoCarsApi, vehicle: VolvoCarsVehicle) -> None: ...
42
+ async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
43
+
44
+ class VolvoMediumIntervalCoordinator(VolvoBaseCoordinator):
45
+ def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, api: VolvoCarsApi, vehicle: VolvoCarsVehicle) -> None: ...
46
+ async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
@@ -0,0 +1,33 @@
1
+ import abc
2
+ from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
3
+ from .coordinator import VolvoBaseCoordinator as VolvoBaseCoordinator
4
+ from _typeshed import Incomplete
5
+ from abc import abstractmethod
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
8
+ from homeassistant.core import callback as callback
9
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+ from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel
13
+
14
+ def get_unique_id(vin: str, key: str) -> str: ...
15
+ def value_to_translation_key(value: str) -> str: ...
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class VolvoEntityDescription(EntityDescription):
19
+ api_field: str
20
+
21
+ class VolvoEntity(CoordinatorEntity[VolvoBaseCoordinator], metaclass=abc.ABCMeta):
22
+ _attr_has_entity_name: bool
23
+ entity_description: VolvoEntityDescription
24
+ _attr_translation_key: Incomplete
25
+ _attr_unique_id: Incomplete
26
+ _attr_device_info: Incomplete
27
+ def __init__(self, coordinator: VolvoBaseCoordinator, description: VolvoEntityDescription) -> None: ...
28
+ @callback
29
+ def _handle_coordinator_update(self) -> None: ...
30
+ @property
31
+ def available(self) -> bool: ...
32
+ @abstractmethod
33
+ def _update_state(self, api_field: VolvoCarsApiBaseModel | None) -> None: ...
@@ -0,0 +1,35 @@
1
+ from .const import DATA_BATTERY_CAPACITY as DATA_BATTERY_CAPACITY
2
+ from .coordinator import VolvoBaseCoordinator as VolvoBaseCoordinator, VolvoConfigEntry as VolvoConfigEntry
3
+ from .entity import VolvoEntity as VolvoEntity, VolvoEntityDescription as VolvoEntityDescription, value_to_translation_key as value_to_translation_key
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
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, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfLength as UnitOfLength, UnitOfPower as UnitOfPower, UnitOfSpeed as UnitOfSpeed, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from typing import Any
12
+ from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel, VolvoCarsValue
13
+
14
+ PARALLEL_UPDATES: int
15
+ _LOGGER: Incomplete
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class VolvoSensorDescription(VolvoEntityDescription, SensorEntityDescription):
19
+ source_fields: list[str] | None = ...
20
+ value_fn: Callable[[VolvoCarsValue], Any] | None = ...
21
+
22
+ def _availability_status(field: VolvoCarsValue) -> str: ...
23
+ def _calculate_time_to_service(field: VolvoCarsValue) -> int: ...
24
+ def _charging_power_value(field: VolvoCarsValue) -> int: ...
25
+ def _charging_power_status_value(field: VolvoCarsValue) -> str | None: ...
26
+
27
+ _CHARGING_POWER_STATUS_OPTIONS: Incomplete
28
+ _DESCRIPTIONS: tuple[VolvoSensorDescription, ...]
29
+
30
+ async def async_setup_entry(hass: HomeAssistant, entry: VolvoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
31
+
32
+ class VolvoSensor(VolvoEntity, SensorEntity):
33
+ entity_description: VolvoSensorDescription
34
+ _attr_native_value: Incomplete
35
+ def _update_state(self, api_field: VolvoCarsApiBaseModel | None) -> None: ...
@@ -1,12 +1,11 @@
1
- from .const import DOMAIN as DOMAIN, UPDATE_INTERVAL as UPDATE_INTERVAL
2
- from .coordinator import InvalidAuth as InvalidAuth, WallboxCoordinator as WallboxCoordinator, async_validate_input as async_validate_input
1
+ from .const import UPDATE_INTERVAL as UPDATE_INTERVAL
2
+ from .coordinator import InvalidAuth as InvalidAuth, WallboxConfigEntry as WallboxConfigEntry, WallboxCoordinator as WallboxCoordinator, async_validate_input as async_validate_input
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
7
 
9
8
  PLATFORMS: Incomplete
10
9
 
11
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: WallboxConfigEntry) -> bool: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: WallboxConfigEntry) -> bool: ...
@@ -10,16 +10,17 @@ from wallbox import Wallbox as Wallbox
10
10
 
11
11
  _LOGGER: Incomplete
12
12
  CHARGER_STATUS: dict[int, ChargerStatus]
13
+ type WallboxConfigEntry = ConfigEntry[WallboxCoordinator]
13
14
 
14
15
  def _require_authentication[_WallboxCoordinatorT: WallboxCoordinator, **_P](func: Callable[Concatenate[_WallboxCoordinatorT, _P], Any]) -> Callable[Concatenate[_WallboxCoordinatorT, _P], Any]: ...
15
16
  def _validate(wallbox: Wallbox) -> None: ...
16
17
  async def async_validate_input(hass: HomeAssistant, wallbox: Wallbox) -> None: ...
17
18
 
18
19
  class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
19
- config_entry: ConfigEntry
20
+ config_entry: WallboxConfigEntry
20
21
  _station: Incomplete
21
22
  _wallbox: Incomplete
22
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, wallbox: Wallbox) -> None: ...
23
+ def __init__(self, hass: HomeAssistant, config_entry: WallboxConfigEntry, wallbox: Wallbox) -> None: ...
23
24
  def authenticate(self) -> None: ...
24
25
  @_require_authentication
25
26
  def _get_data(self) -> dict[str, Any]: ...
@@ -44,3 +45,8 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
44
45
  async def async_set_eco_smart(self, option: str) -> None: ...
45
46
 
46
47
  class InvalidAuth(HomeAssistantError): ...
48
+
49
+ class InsufficientRights(HomeAssistantError):
50
+ hass: Incomplete
51
+ def __init__(self, *args: object, translation_domain: str | None = None, translation_key: str | None = None, translation_placeholders: dict[str, str] | None = None, hass: HomeAssistant) -> None: ...
52
+ def _create_insufficient_rights_issue(self) -> None: ...
@@ -1,16 +1,17 @@
1
- from .const import CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN
2
- from .coordinator import WallboxCoordinator as WallboxCoordinator
1
+ from .const import CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY
2
+ from .coordinator import WallboxConfigEntry as WallboxConfigEntry, WallboxCoordinator as WallboxCoordinator
3
3
  from .entity import WallboxEntity as WallboxEntity
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
8
  from typing import Any
10
9
 
11
10
  LOCK_TYPES: dict[str, LockEntityDescription]
12
11
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, entry: WallboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ PARALLEL_UPDATES: int
14
15
 
15
16
  class WallboxLock(WallboxEntity, LockEntity):
16
17
  entity_description: Incomplete
@@ -1,11 +1,10 @@
1
- from .const import BIDIRECTIONAL_MODEL_PREFIXES as BIDIRECTIONAL_MODEL_PREFIXES, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY as CHARGER_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PART_NUMBER_KEY as CHARGER_PART_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN
2
- from .coordinator import WallboxCoordinator as WallboxCoordinator
1
+ from .const import BIDIRECTIONAL_MODEL_PREFIXES as BIDIRECTIONAL_MODEL_PREFIXES, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY as CHARGER_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PART_NUMBER_KEY as CHARGER_PART_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY
2
+ from .coordinator import WallboxConfigEntry as WallboxConfigEntry, WallboxCoordinator as WallboxCoordinator
3
3
  from .entity import WallboxEntity as WallboxEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Awaitable, Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
10
 
@@ -19,13 +18,15 @@ class WallboxNumberEntityDescription(NumberEntityDescription):
19
18
 
20
19
  NUMBER_TYPES: dict[str, WallboxNumberEntityDescription]
21
20
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: WallboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ PARALLEL_UPDATES: int
23
24
 
24
25
  class WallboxNumber(WallboxEntity, NumberEntity):
25
26
  entity_description: WallboxNumberEntityDescription
26
27
  _coordinator: Incomplete
27
28
  _attr_unique_id: Incomplete
28
- def __init__(self, coordinator: WallboxCoordinator, entry: ConfigEntry, description: WallboxNumberEntityDescription) -> None: ...
29
+ def __init__(self, coordinator: WallboxCoordinator, entry: WallboxConfigEntry, description: WallboxNumberEntityDescription) -> None: ...
29
30
  @property
30
31
  def native_max_value(self) -> float: ...
31
32
  @property
@@ -1,11 +1,10 @@
1
1
  from .const import CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ECO_SMART_KEY as CHARGER_ECO_SMART_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN, EcoSmartMode as EcoSmartMode
2
- from .coordinator import WallboxCoordinator as WallboxCoordinator
2
+ from .coordinator import WallboxConfigEntry as WallboxConfigEntry, WallboxCoordinator as WallboxCoordinator
3
3
  from .entity import WallboxEntity as WallboxEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Awaitable, Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -18,7 +17,9 @@ class WallboxSelectEntityDescription(SelectEntityDescription):
18
17
 
19
18
  SELECT_TYPES: dict[str, WallboxSelectEntityDescription]
20
19
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: WallboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+
22
+ PARALLEL_UPDATES: int
22
23
 
23
24
  class WallboxSelect(WallboxEntity, SelectEntity):
24
25
  entity_description: WallboxSelectEntityDescription