homeassistant-stubs 2025.1.3__py3-none-any.whl → 2025.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
  30. homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
  31. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  32. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  33. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  34. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  35. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  36. homeassistant-stubs/components/backup/__init__.pyi +8 -3
  37. homeassistant-stubs/components/backup/agent.pyi +6 -5
  38. homeassistant-stubs/components/backup/backup.pyi +6 -4
  39. homeassistant-stubs/components/backup/config.pyi +45 -3
  40. homeassistant-stubs/components/backup/http.pyi +8 -0
  41. homeassistant-stubs/components/backup/manager.pyi +42 -22
  42. homeassistant-stubs/components/backup/models.pyi +18 -3
  43. homeassistant-stubs/components/backup/store.pyi +7 -2
  44. homeassistant-stubs/components/backup/util.pyi +94 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +6 -3
  46. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  48. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  49. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  50. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  52. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  54. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  55. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  56. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  57. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  58. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  59. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  60. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  61. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  62. homeassistant-stubs/components/bluetooth/const.pyi +5 -0
  63. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  64. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  65. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  66. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  67. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  68. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/button/__init__.pyi +1 -1
  72. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  74. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  75. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  76. homeassistant-stubs/components/canary/camera.pyi +3 -4
  77. homeassistant-stubs/components/canary/const.pyi +0 -2
  78. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  79. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  80. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  81. homeassistant-stubs/components/climate/const.pyi +1 -0
  82. homeassistant-stubs/components/climate/intent.pyi +9 -1
  83. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  84. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  85. homeassistant-stubs/components/cloud/const.pyi +0 -1
  86. homeassistant-stubs/components/cloud/http_api.pyi +7 -1
  87. homeassistant-stubs/components/config/core.pyi +1 -1
  88. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  89. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  90. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  91. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  92. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  93. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  94. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  95. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  96. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  97. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  98. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  99. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  100. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  101. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  102. homeassistant-stubs/components/date/__init__.pyi +1 -1
  103. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  104. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  105. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  106. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/deconz/button.pyi +2 -2
  108. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  109. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  110. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  111. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  112. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  113. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  114. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  115. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  116. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  117. homeassistant-stubs/components/deconz/light.pyi +2 -2
  118. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  119. homeassistant-stubs/components/deconz/number.pyi +2 -2
  120. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  121. homeassistant-stubs/components/deconz/select.pyi +2 -3
  122. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  123. homeassistant-stubs/components/deconz/services.pyi +2 -1
  124. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  125. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  126. homeassistant-stubs/components/deconz/util.pyi +7 -0
  127. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  128. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  129. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  130. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  131. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  132. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  133. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  134. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  135. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  136. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  137. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  139. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  140. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  141. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  142. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  143. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  144. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  145. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  146. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  147. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  148. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  151. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  152. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  153. homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
  154. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  156. homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
  157. homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
  158. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  159. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  160. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  161. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  162. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  163. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  164. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  165. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  166. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  167. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  168. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  169. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  170. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  171. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  172. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  173. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  174. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  175. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  176. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  177. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  178. homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
  179. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  180. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  181. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  182. homeassistant-stubs/components/event/__init__.pyi +2 -2
  183. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  184. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  185. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  187. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  188. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  189. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  190. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  191. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  192. homeassistant-stubs/components/filter/const.pyi +29 -0
  193. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  194. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  195. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  196. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  197. homeassistant-stubs/components/fritz/button.pyi +3 -4
  198. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  199. homeassistant-stubs/components/fritz/const.pyi +0 -3
  200. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  201. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  202. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  203. homeassistant-stubs/components/fritz/image.pyi +2 -4
  204. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  205. homeassistant-stubs/components/fritz/services.pyi +5 -8
  206. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  207. homeassistant-stubs/components/fritz/update.pyi +2 -4
  208. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  210. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  212. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  213. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  214. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  215. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  216. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  217. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  218. homeassistant-stubs/components/fyta/image.pyi +18 -0
  219. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  220. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  221. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  222. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  223. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  224. homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
  225. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  226. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  227. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  228. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  229. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  230. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  231. homeassistant-stubs/components/habitica/button.pyi +53 -0
  232. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  233. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  234. homeassistant-stubs/components/habitica/const.pyi +44 -0
  235. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  236. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  237. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  238. homeassistant-stubs/components/habitica/image.pyi +26 -0
  239. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  240. homeassistant-stubs/components/habitica/services.pyi +24 -0
  241. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  242. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  243. homeassistant-stubs/components/habitica/types.pyi +10 -0
  244. homeassistant-stubs/components/habitica/util.pyi +15 -0
  245. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  246. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  247. homeassistant-stubs/components/heos/const.pyi +5 -0
  248. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  249. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  250. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  251. homeassistant-stubs/components/heos/services.pyi +16 -0
  252. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  253. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  254. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  255. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  256. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  257. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  259. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  260. homeassistant-stubs/components/homee/const.pyi +9 -0
  261. homeassistant-stubs/components/homee/cover.pyi +43 -0
  262. homeassistant-stubs/components/homee/entity.pyi +43 -0
  263. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  264. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  265. homeassistant-stubs/components/homekit/util.pyi +1 -1
  266. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  267. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  268. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  269. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  270. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  271. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  272. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  273. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  274. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  275. homeassistant-stubs/components/http/ban.pyi +0 -1
  276. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  277. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  278. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  279. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  280. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  281. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  282. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  283. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  284. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  285. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/image/__init__.pyi +1 -1
  287. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  288. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  289. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  290. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  291. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  292. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  293. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  294. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  295. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  296. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  297. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  298. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  299. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  300. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  301. homeassistant-stubs/components/intent/timers.pyi +1 -2
  302. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  304. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  305. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  306. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  307. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  308. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  309. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  310. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  311. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  312. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  313. homeassistant-stubs/components/knx/climate.pyi +10 -2
  314. homeassistant-stubs/components/knx/const.pyi +2 -0
  315. homeassistant-stubs/components/knx/entity.pyi +1 -1
  316. homeassistant-stubs/components/knx/light.pyi +1 -1
  317. homeassistant-stubs/components/knx/schema.pyi +5 -7
  318. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  319. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  320. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  321. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  322. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  323. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  324. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  325. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  326. homeassistant-stubs/components/lcn/const.pyi +1 -0
  327. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  328. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  329. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  330. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  331. homeassistant-stubs/components/letpot/const.pyi +6 -0
  332. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  333. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  334. homeassistant-stubs/components/letpot/time.pyi +33 -0
  335. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  336. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  337. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  338. homeassistant-stubs/components/light/__init__.pyi +1 -1
  339. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  341. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  342. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  343. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  344. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  345. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  346. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  347. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  348. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  349. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  350. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  351. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  352. homeassistant-stubs/components/logbook/models.pyi +1 -1
  353. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  354. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  355. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  356. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  357. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  358. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  359. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  360. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  361. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  362. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  363. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  364. homeassistant-stubs/components/matter/cover.pyi +0 -1
  365. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  366. homeassistant-stubs/components/matter/entity.pyi +11 -4
  367. homeassistant-stubs/components/matter/light.pyi +0 -1
  368. homeassistant-stubs/components/matter/lock.pyi +0 -2
  369. homeassistant-stubs/components/matter/models.pyi +10 -1
  370. homeassistant-stubs/components/matter/number.pyi +1 -1
  371. homeassistant-stubs/components/matter/select.pyi +32 -2
  372. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  373. homeassistant-stubs/components/matter/switch.pyi +15 -2
  374. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  375. homeassistant-stubs/components/matter/valve.pyi +0 -2
  376. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  377. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  378. homeassistant-stubs/components/mcp/const.pyi +1 -0
  379. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  380. homeassistant-stubs/components/mcp/types.pyi +4 -0
  381. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  382. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  383. homeassistant-stubs/components/mcp_server/const.pyi +4 -0
  384. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  385. homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
  386. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  387. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  388. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  389. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  390. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  391. homeassistant-stubs/components/media_source/models.pyi +1 -2
  392. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  393. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  394. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  395. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  396. homeassistant-stubs/components/modbus/const.pyi +4 -0
  397. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  398. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  399. homeassistant-stubs/components/modbus/light.pyi +0 -1
  400. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  401. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  402. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  403. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  404. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  405. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  406. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  407. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  408. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  409. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  410. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  411. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  412. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  413. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  414. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  415. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  416. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  417. homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
  418. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  419. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  420. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  421. homeassistant-stubs/components/nest/api.pyi +2 -2
  422. homeassistant-stubs/components/nest/climate.pyi +2 -0
  423. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  424. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  425. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  426. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  427. homeassistant-stubs/components/network/system_health.pyi +11 -0
  428. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  429. homeassistant-stubs/components/number/__init__.pyi +2 -2
  430. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  431. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  432. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  433. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  434. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  435. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  436. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  437. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  438. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  439. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  440. homeassistant-stubs/components/onewire/const.pyi +0 -2
  441. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  442. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  443. homeassistant-stubs/components/onewire/select.pyi +27 -0
  444. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  445. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  446. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  447. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  448. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  449. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  450. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  451. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  452. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  453. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  454. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  455. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  456. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  457. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  458. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  459. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  460. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  461. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  462. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  463. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  464. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  465. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  466. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  467. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  468. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  469. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  470. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  471. homeassistant-stubs/components/person/__init__.pyi +103 -0
  472. homeassistant-stubs/components/person/const.pyi +1 -0
  473. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  474. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  475. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  476. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  477. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  478. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  479. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  480. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  481. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  482. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  483. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  484. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  485. homeassistant-stubs/components/qbus/const.pyi +7 -0
  486. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  487. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  488. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  489. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  490. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  491. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  492. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  493. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  494. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  495. homeassistant-stubs/components/recorder/const.pyi +0 -2
  496. homeassistant-stubs/components/recorder/core.pyi +2 -2
  497. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  498. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  499. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  500. homeassistant-stubs/components/recorder/util.pyi +1 -7
  501. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  502. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  503. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  504. homeassistant-stubs/components/reolink/const.pyi +1 -0
  505. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  506. homeassistant-stubs/components/reolink/host.pyi +9 -2
  507. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  508. homeassistant-stubs/components/reolink/util.pyi +6 -5
  509. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  510. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  511. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  512. homeassistant-stubs/components/ring/button.pyi +1 -0
  513. homeassistant-stubs/components/ring/camera.pyi +1 -0
  514. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  515. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  516. homeassistant-stubs/components/ring/entity.pyi +1 -2
  517. homeassistant-stubs/components/ring/event.pyi +2 -0
  518. homeassistant-stubs/components/ring/light.pyi +1 -0
  519. homeassistant-stubs/components/ring/number.pyi +2 -0
  520. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  521. homeassistant-stubs/components/ring/siren.pyi +1 -0
  522. homeassistant-stubs/components/ring/switch.pyi +1 -0
  523. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  524. homeassistant-stubs/components/roborock/const.pyi +4 -0
  525. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  526. homeassistant-stubs/components/roborock/image.pyi +10 -11
  527. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  528. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  529. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  530. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  531. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  532. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  533. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  534. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  535. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  536. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  537. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  538. homeassistant-stubs/components/script/__init__.pyi +1 -1
  539. homeassistant-stubs/components/select/__init__.pyi +2 -2
  540. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  541. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  542. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  543. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  544. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  545. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  546. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  547. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  548. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  549. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  550. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  551. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  552. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  553. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  554. homeassistant-stubs/components/shelly/const.pyi +3 -0
  555. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  556. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  557. homeassistant-stubs/components/shelly/number.pyi +21 -13
  558. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  559. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  560. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  561. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  562. homeassistant-stubs/components/slack/entity.pyi +3 -5
  563. homeassistant-stubs/components/slack/notify.pyi +4 -2
  564. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  565. homeassistant-stubs/components/slack/utils.pyi +6 -0
  566. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  567. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  568. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  569. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  570. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  571. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  572. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  573. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  574. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  575. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  576. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  577. homeassistant-stubs/components/stream/const.pyi +9 -1
  578. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  579. homeassistant-stubs/components/stream/worker.pyi +4 -5
  580. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  581. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  582. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  583. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  584. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  585. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  586. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  587. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  588. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  589. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  590. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  591. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  592. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  593. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  594. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  595. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  596. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  597. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  598. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  599. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  600. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  601. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  602. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  603. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  604. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  605. homeassistant-stubs/components/text/__init__.pyi +1 -1
  606. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  607. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  608. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  609. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  610. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  611. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  612. homeassistant-stubs/components/tile/entity.pyi +13 -0
  613. homeassistant-stubs/components/time/__init__.pyi +1 -1
  614. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  615. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  616. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  617. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  618. homeassistant-stubs/components/tplink/button.pyi +2 -1
  619. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  620. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  621. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  622. homeassistant-stubs/components/tplink/const.pyi +1 -1
  623. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  624. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  625. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  626. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  627. homeassistant-stubs/components/tplink/light.pyi +22 -11
  628. homeassistant-stubs/components/tplink/number.pyi +1 -0
  629. homeassistant-stubs/components/tplink/select.pyi +1 -0
  630. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  631. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  632. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  633. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  634. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  636. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  637. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  639. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  640. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  641. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  642. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  643. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  644. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  646. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  647. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  648. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  649. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  650. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  651. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  652. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  653. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  654. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  655. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  656. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  657. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  658. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  659. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  660. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  661. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  662. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  663. homeassistant-stubs/components/update/__init__.pyi +2 -2
  664. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  665. homeassistant-stubs/components/usb/models.pyi +1 -1
  666. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  667. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  668. homeassistant-stubs/components/velbus/const.pyi +1 -0
  669. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  670. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  671. homeassistant-stubs/components/velbus/services.pyi +5 -1
  672. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  673. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  674. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  675. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  676. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  677. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  678. homeassistant-stubs/components/webostv/const.pyi +0 -1
  679. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  680. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  681. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  682. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  683. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  684. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  685. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  687. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  688. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  689. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  690. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  691. homeassistant-stubs/config_entries.pyi +7 -9
  692. homeassistant-stubs/const.pyi +2 -0
  693. homeassistant-stubs/core.pyi +2 -3
  694. homeassistant-stubs/core_config.pyi +3 -3
  695. homeassistant-stubs/data_entry_flow.pyi +1 -2
  696. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  697. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  698. homeassistant-stubs/helpers/collection.pyi +5 -7
  699. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  700. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  701. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  702. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  703. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  704. homeassistant-stubs/helpers/entity.pyi +1 -1
  705. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  706. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  707. homeassistant-stubs/helpers/frame.pyi +1 -1
  708. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  709. homeassistant-stubs/helpers/intent.pyi +4 -2
  710. homeassistant-stubs/helpers/llm.pyi +23 -8
  711. homeassistant-stubs/helpers/script.pyi +1 -1
  712. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  713. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  714. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  715. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  716. homeassistant-stubs/helpers/singleton.pyi +6 -2
  717. homeassistant-stubs/helpers/storage.pyi +1 -1
  718. homeassistant-stubs/helpers/template.pyi +4 -4
  719. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  720. homeassistant-stubs/loader.pyi +1 -1
  721. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  722. homeassistant-stubs/util/event_type.pyi +1 -2
  723. homeassistant-stubs/util/ulid.pyi +1 -1
  724. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  725. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  726. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  727. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +729 -594
  728. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  729. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  730. homeassistant-stubs/components/tplink/models.pyi +0 -10
  731. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  732. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,44 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable, Sequence
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.helpers.event import async_call_later as async_call_later
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
10
+ from pyheos import HeosNowPlayingMedia as HeosNowPlayingMedia, MediaItem as MediaItem, PlayerUpdateResult as PlayerUpdateResult
11
+ from typing import Any
12
+
13
+ _LOGGER: Incomplete
14
+ type HeosConfigEntry = ConfigEntry[HeosCoordinator]
15
+
16
+ class HeosCoordinator(DataUpdateCoordinator[None]):
17
+ host: str
18
+ heos: Incomplete
19
+ _update_sources_pending: bool
20
+ _source_list: list[str]
21
+ _favorites: dict[int, MediaItem]
22
+ _inputs: Sequence[MediaItem]
23
+ def __init__(self, hass: HomeAssistant, config_entry: HeosConfigEntry) -> None: ...
24
+ @property
25
+ def inputs(self) -> Sequence[MediaItem]: ...
26
+ @property
27
+ def favorites(self) -> dict[int, MediaItem]: ...
28
+ async def async_setup(self) -> None: ...
29
+ async def async_shutdown(self) -> None: ...
30
+ def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
31
+ async def _async_on_auth_failure(self) -> None: ...
32
+ async def _async_on_disconnected(self) -> None: ...
33
+ async def _async_on_reconnected(self) -> None: ...
34
+ async def _async_on_controller_event(self, event: str, data: PlayerUpdateResult | None) -> None: ...
35
+ def _async_update_player_ids(self, updated_player_ids: dict[int, int]) -> None: ...
36
+ async def _async_update_groups(self) -> None: ...
37
+ async def _async_update_sources(self) -> None: ...
38
+ async def _async_update_players(self) -> None: ...
39
+ @callback
40
+ def async_get_source_list(self) -> list[str]: ...
41
+ @callback
42
+ def async_get_favorite_index(self, name: str) -> int | None: ...
43
+ @callback
44
+ def async_get_current_source(self, now_playing_media: HeosNowPlayingMedia) -> str | None: ...
@@ -0,0 +1,14 @@
1
+ from .const import ATTR_PASSWORD as ATTR_PASSWORD, ATTR_USERNAME as ATTR_USERNAME, DOMAIN as DOMAIN
2
+ from .coordinator import HeosConfigEntry as HeosConfigEntry
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Mapping, Sequence
5
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
8
+ from typing import Any
9
+
10
+ TO_REDACT: Incomplete
11
+
12
+ def _as_dict(data: Any, redact: bool = False) -> Mapping[str, Any] | Sequence[Any] | Any: ...
13
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: HeosConfigEntry) -> dict[str, Any]: ...
14
+ async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: HeosConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
@@ -0,0 +1,95 @@
1
+ from .coordinator import HeosConfigEntry as HeosConfigEntry, HeosCoordinator as HeosCoordinator
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Awaitable, Callable, Coroutine
4
+ from datetime import datetime
5
+ from homeassistant.components import media_source as media_source
6
+ from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
7
+ from homeassistant.const import Platform as Platform
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from homeassistant.util.dt import utcnow as utcnow
14
+ from pyheos import HeosPlayer as HeosPlayer
15
+ from typing import Any
16
+
17
+ PARALLEL_UPDATES: int
18
+ BASE_SUPPORTED_FEATURES: Incomplete
19
+ PLAY_STATE_TO_STATE: Incomplete
20
+ CONTROL_TO_SUPPORT: Incomplete
21
+ HA_HEOS_ENQUEUE_MAP: Incomplete
22
+ HEOS_HA_REPEAT_TYPE_MAP: Incomplete
23
+ HA_HEOS_REPEAT_TYPE_MAP: Incomplete
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: HeosConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+ type _FuncType[**_P] = Callable[_P, Awaitable[Any]]
27
+ type _ReturnFuncType[**_P] = Callable[_P, Coroutine[Any, Any, None]]
28
+ def catch_action_error[**_P](action: str) -> Callable[[_FuncType[_P]], _ReturnFuncType[_P]]: ...
29
+
30
+ class HeosMediaPlayer(CoordinatorEntity[HeosCoordinator], MediaPlayerEntity):
31
+ _attr_media_content_type: Incomplete
32
+ _attr_supported_features = BASE_SUPPORTED_FEATURES
33
+ _attr_media_image_remotely_accessible: bool
34
+ _attr_has_entity_name: bool
35
+ _attr_name: Incomplete
36
+ _media_position_updated_at: datetime | None
37
+ _player: HeosPlayer
38
+ _attr_unique_id: Incomplete
39
+ _attr_device_info: Incomplete
40
+ def __init__(self, coordinator: HeosCoordinator, player: HeosPlayer) -> None: ...
41
+ async def _player_update(self, event: str) -> None: ...
42
+ @callback
43
+ def _handle_coordinator_update(self) -> None: ...
44
+ @callback
45
+ def _get_group_members(self) -> list[str] | None: ...
46
+ _attr_group_members: Incomplete
47
+ _attr_source_list: Incomplete
48
+ _attr_source: Incomplete
49
+ _attr_repeat: Incomplete
50
+ @callback
51
+ def _update_attributes(self) -> None: ...
52
+ async def async_added_to_hass(self) -> None: ...
53
+ async def async_clear_playlist(self) -> None: ...
54
+ async def async_media_pause(self) -> None: ...
55
+ async def async_media_play(self) -> None: ...
56
+ async def async_media_previous_track(self) -> None: ...
57
+ async def async_media_next_track(self) -> None: ...
58
+ async def async_media_stop(self) -> None: ...
59
+ async def async_mute_volume(self, mute: bool) -> None: ...
60
+ async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
61
+ async def async_select_source(self, source: str) -> None: ...
62
+ async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
63
+ async def async_set_shuffle(self, shuffle: bool) -> None: ...
64
+ async def async_set_volume_level(self, volume: float) -> None: ...
65
+ async def async_join_players(self, group_members: list[str]) -> None: ...
66
+ async def async_unjoin_player(self) -> None: ...
67
+ @property
68
+ def available(self) -> bool: ...
69
+ @property
70
+ def extra_state_attributes(self) -> dict[str, Any]: ...
71
+ @property
72
+ def is_volume_muted(self) -> bool: ...
73
+ @property
74
+ def media_album_name(self) -> str | None: ...
75
+ @property
76
+ def media_artist(self) -> str | None: ...
77
+ @property
78
+ def media_content_id(self) -> str | None: ...
79
+ @property
80
+ def media_duration(self) -> int | None: ...
81
+ @property
82
+ def media_position(self) -> int | None: ...
83
+ @property
84
+ def media_position_updated_at(self) -> datetime | None: ...
85
+ @property
86
+ def media_image_url(self) -> str | None: ...
87
+ @property
88
+ def media_title(self) -> str | None: ...
89
+ @property
90
+ def shuffle(self) -> bool: ...
91
+ @property
92
+ def state(self) -> MediaPlayerState: ...
93
+ @property
94
+ def volume_level(self) -> float: ...
95
+ async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
@@ -0,0 +1,16 @@
1
+ from .const import ATTR_PASSWORD as ATTR_PASSWORD, ATTR_USERNAME as ATTR_USERNAME, DOMAIN as DOMAIN, SERVICE_SIGN_IN as SERVICE_SIGN_IN, SERVICE_SIGN_OUT as SERVICE_SIGN_OUT
2
+ from .coordinator import HeosConfigEntry as HeosConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
7
+ from pyheos import Heos as Heos
8
+
9
+ _LOGGER: Incomplete
10
+ HEOS_SIGN_IN_SCHEMA: Incomplete
11
+ HEOS_SIGN_OUT_SCHEMA: Incomplete
12
+
13
+ def register(hass: HomeAssistant) -> None: ...
14
+ def _get_controller(hass: HomeAssistant) -> Heos: ...
15
+ async def _sign_in_handler(service: ServiceCall) -> None: ...
16
+ async def _sign_out_handler(service: ServiceCall) -> None: ...
@@ -4,13 +4,15 @@ from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
5
  from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY
6
6
  from homeassistant.core import callback as callback
7
- from homeassistant.helpers.selector import CountrySelector as CountrySelector, CountrySelectorConfig as CountrySelectorConfig, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
7
+ from homeassistant.helpers.selector import CountrySelector as CountrySelector, CountrySelectorConfig as CountrySelectorConfig, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
8
8
  from typing import Any
9
9
 
10
10
  SUPPORTED_COUNTRIES: Incomplete
11
11
 
12
+ def get_optional_provinces(country: str) -> list[Any]: ...
12
13
  def get_optional_categories(country: str) -> list[str]: ...
13
14
  def get_options_schema(country: str) -> vol.Schema: ...
15
+ def get_entry_name(language: str, country: str, province: str | None) -> str: ...
14
16
 
15
17
  class HolidayConfigFlow(ConfigFlow, domain=DOMAIN):
16
18
  VERSION: int
@@ -2,17 +2,15 @@ import abc
2
2
  import asyncio
3
3
  from . import silabs_multiprotocol_addon as silabs_multiprotocol_addon
4
4
  from .const import ZHA_DOMAIN as ZHA_DOMAIN
5
- from .util import get_otbr_addon_manager as get_otbr_addon_manager, get_zha_device_path as get_zha_device_path, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager
5
+ from .util import ApplicationType as ApplicationType, get_otbr_addon_manager as get_otbr_addon_manager, get_zha_device_path as get_zha_device_path, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager, probe_silabs_firmware_type as probe_silabs_firmware_type
6
6
  from _typeshed import Incomplete
7
7
  from abc import ABC, abstractmethod
8
8
  from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
9
- from homeassistant.components.zha.repairs.wrong_silabs_firmware import probe_silabs_firmware_type as probe_silabs_firmware_type
10
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
11
10
  from homeassistant.core import callback as callback
12
11
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
13
12
  from homeassistant.helpers.hassio import is_hassio as is_hassio
14
13
  from typing import Any
15
- from universal_silabs_flasher.const import ApplicationType
16
14
 
17
15
  _LOGGER: Incomplete
18
16
  STEP_PICK_FIRMWARE_THREAD: str
@@ -1,16 +1,27 @@
1
1
  from .const import OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZHA_DOMAIN as ZHA_DOMAIN, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
2
2
  from .silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Iterable
4
5
  from dataclasses import dataclass
6
+ from enum import StrEnum
5
7
  from homeassistant.components.hassio import AddonError as AddonError, AddonState as AddonState
6
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
7
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
10
  from homeassistant.helpers.hassio import is_hassio as is_hassio
9
11
  from homeassistant.helpers.singleton import singleton as singleton
10
- from universal_silabs_flasher.const import ApplicationType
12
+ from universal_silabs_flasher.const import ApplicationType as FlasherApplicationType
11
13
 
12
14
  _LOGGER: Incomplete
13
15
 
16
+ class ApplicationType(StrEnum):
17
+ GECKO_BOOTLOADER = 'bootloader'
18
+ CPC = 'cpc'
19
+ EZSP = 'ezsp'
20
+ SPINEL = 'spinel'
21
+ @classmethod
22
+ def from_flasher_application_type(cls, app_type: FlasherApplicationType) -> ApplicationType: ...
23
+ def as_flasher_application_type(self) -> FlasherApplicationType: ...
24
+
14
25
  def get_zha_device_path(config_entry: ConfigEntry) -> str | None: ...
15
26
  @callback
16
27
  def get_otbr_addon_manager(hass: HomeAssistant) -> WaitingAddonManager: ...
@@ -24,3 +35,4 @@ class FirmwareGuess:
24
35
  source: str
25
36
 
26
37
  async def guess_firmware_type(hass: HomeAssistant, device_path: str) -> FirmwareGuess: ...
38
+ async def probe_silabs_firmware_type(device: str, *, probe_methods: Iterable[ApplicationType] | None = None) -> ApplicationType | None: ...
@@ -3,8 +3,10 @@ from .util import get_hardware_variant as get_hardware_variant, get_usb_service_
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components import usb as usb
5
5
  from homeassistant.components.homeassistant_hardware import firmware_config_flow as firmware_config_flow, silabs_multiprotocol_addon as silabs_multiprotocol_addon
6
+ from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlowContext as ConfigFlowContext, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
8
  from homeassistant.core import callback as callback
9
+ from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
8
10
  from typing import Any, Protocol
9
11
 
10
12
  _LOGGER: Incomplete
@@ -19,7 +21,7 @@ class SkyConnectTranslationMixin(ConfigEntryBaseFlow, TranslationPlaceholderProt
19
21
  class HomeAssistantSkyConnectConfigFlow(SkyConnectTranslationMixin, firmware_config_flow.BaseFirmwareConfigFlow, domain=DOMAIN):
20
22
  VERSION: int
21
23
  MINOR_VERSION: int
22
- _usb_info: usb.UsbServiceInfo | None
24
+ _usb_info: UsbServiceInfo | None
23
25
  _hw_variant: HardwareVariant | None
24
26
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
25
27
  @staticmethod
@@ -27,7 +29,7 @@ class HomeAssistantSkyConnectConfigFlow(SkyConnectTranslationMixin, firmware_con
27
29
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
28
30
  _device: Incomplete
29
31
  _hardware_name: Incomplete
30
- async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
32
+ async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
31
33
  def _async_flow_finished(self) -> ConfigFlowResult: ...
32
34
 
33
35
  class HomeAssistantSkyConnectMultiPanOptionsFlowHandler(silabs_multiprotocol_addon.OptionsFlowHandler):
@@ -1,9 +1,9 @@
1
1
  from .const import HardwareVariant as HardwareVariant
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components import usb as usb
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
5
5
 
6
6
  _LOGGER: Incomplete
7
7
 
8
- def get_usb_service_info(config_entry: ConfigEntry) -> usb.UsbServiceInfo: ...
8
+ def get_usb_service_info(config_entry: ConfigEntry) -> UsbServiceInfo: ...
9
9
  def get_hardware_variant(config_entry: ConfigEntry) -> HardwareVariant: ...
@@ -6,6 +6,7 @@ from abc import ABC, abstractmethod
6
6
  from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_yellow_settings as async_get_yellow_settings, async_set_yellow_settings as async_set_yellow_settings, get_supervisor_client as get_supervisor_client
7
7
  from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
8
8
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
9
+ from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType
9
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
11
12
  from homeassistant.helpers import discovery_flow as discovery_flow, selector as selector
@@ -0,0 +1,14 @@
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_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from pyHomee import Homee
8
+
9
+ _LOGGER: Incomplete
10
+ PLATFORMS: Incomplete
11
+ type HomeeConfigEntry = ConfigEntry[Homee]
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: HomeeConfigEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: HomeeConfigEntry) -> bool: ...
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
5
+ from pyHomee import Homee
6
+ from typing import Any
7
+
8
+ _LOGGER: Incomplete
9
+ AUTH_SCHEMA: Incomplete
10
+
11
+ class HomeeConfigFlow(ConfigFlow, domain=DOMAIN):
12
+ VERSION: int
13
+ homee: Homee
14
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,9 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.const import DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
3
+
4
+ DOMAIN: str
5
+ HOMEE_UNIT_TO_HA_UNIT: Incomplete
6
+ OPEN_CLOSE_MAP: Incomplete
7
+ OPEN_CLOSE_MAP_REVERSED: Incomplete
8
+ WINDOW_MAP: Incomplete
9
+ WINDOW_MAP_REVERSED: Incomplete
@@ -0,0 +1,43 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .entity import HomeeNodeEntity as HomeeNodeEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
7
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
8
+ from typing import Any
9
+
10
+ _LOGGER: Incomplete
11
+ OPEN_CLOSE_ATTRIBUTES: Incomplete
12
+ POSITION_ATTRIBUTES: Incomplete
13
+
14
+ def get_open_close_attribute(node: HomeeNode) -> HomeeAttribute | None: ...
15
+ def get_cover_features(node: HomeeNode, open_close_attribute: HomeeAttribute | None) -> CoverEntityFeature: ...
16
+ def get_device_class(node: HomeeNode) -> CoverDeviceClass | None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddEntitiesCallback) -> None: ...
18
+ def is_cover_node(node: HomeeNode) -> bool: ...
19
+
20
+ class HomeeCover(HomeeNodeEntity, CoverEntity):
21
+ _attr_name: Incomplete
22
+ _open_close_attribute: Incomplete
23
+ _attr_supported_features: Incomplete
24
+ _attr_device_class: Incomplete
25
+ _attr_unique_id: Incomplete
26
+ def __init__(self, node: HomeeNode, entry: HomeeConfigEntry) -> None: ...
27
+ @property
28
+ def current_cover_position(self) -> int | None: ...
29
+ @property
30
+ def current_cover_tilt_position(self) -> int | None: ...
31
+ @property
32
+ def is_opening(self) -> bool | None: ...
33
+ @property
34
+ def is_closing(self) -> bool | None: ...
35
+ @property
36
+ def is_closed(self) -> bool | None: ...
37
+ async def async_open_cover(self, **kwargs: Any) -> None: ...
38
+ async def async_close_cover(self, **kwargs: Any) -> None: ...
39
+ async def async_set_cover_position(self, **kwargs: Any) -> None: ...
40
+ async def async_stop_cover(self, **kwargs: Any) -> None: ...
41
+ async def async_open_cover_tilt(self, **kwargs: Any) -> None: ...
42
+ async def async_close_cover_tilt(self, **kwargs: Any) -> None: ...
43
+ async def async_set_cover_tilt_position(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,43 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from .helpers import get_name_for_enum as get_name_for_enum
4
+ from _typeshed import Incomplete
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import Entity as Entity
7
+ from pyHomee.const import AttributeType
8
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
9
+
10
+ class HomeeEntity(Entity):
11
+ _attr_has_entity_name: bool
12
+ _attr_should_poll: bool
13
+ _attribute: Incomplete
14
+ _attr_unique_id: Incomplete
15
+ _entry: Incomplete
16
+ _attr_device_info: Incomplete
17
+ _host_connected: Incomplete
18
+ def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry) -> None: ...
19
+ async def async_added_to_hass(self) -> None: ...
20
+ @property
21
+ def available(self) -> bool: ...
22
+ async def async_update(self) -> None: ...
23
+ def _on_node_updated(self, attribute: HomeeAttribute) -> None: ...
24
+ def _on_connection_changed(self, connected: bool) -> None: ...
25
+
26
+ class HomeeNodeEntity(Entity):
27
+ _attr_has_entity_name: bool
28
+ _attr_should_poll: bool
29
+ _node: Incomplete
30
+ _attr_unique_id: Incomplete
31
+ _entry: Incomplete
32
+ _attr_device_info: Incomplete
33
+ _host_connected: Incomplete
34
+ def __init__(self, node: HomeeNode, entry: HomeeConfigEntry) -> None: ...
35
+ async def async_added_to_hass(self) -> None: ...
36
+ @property
37
+ def available(self) -> bool: ...
38
+ async def async_update(self) -> None: ...
39
+ def _get_software_version(self) -> str | None: ...
40
+ def has_attribute(self, attribute_type: AttributeType) -> bool: ...
41
+ async def async_set_value(self, attribute: HomeeAttribute, value: float) -> None: ...
42
+ def _on_node_updated(self, node: HomeeNode) -> None: ...
43
+ def _on_connection_changed(self, connected: bool) -> None: ...
@@ -0,0 +1,6 @@
1
+ from _typeshed import Incomplete
2
+ from enum import IntEnum
3
+
4
+ _LOGGER: Incomplete
5
+
6
+ def get_name_for_enum(att_class: type[IntEnum], att_id: int) -> str | None: ...
@@ -0,0 +1,49 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .const import HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, OPEN_CLOSE_MAP as OPEN_CLOSE_MAP, OPEN_CLOSE_MAP_REVERSED as OPEN_CLOSE_MAP_REVERSED, WINDOW_MAP as WINDOW_MAP, WINDOW_MAP_REVERSED as WINDOW_MAP_REVERSED
3
+ from .entity import HomeeEntity as HomeeEntity, HomeeNodeEntity as HomeeNodeEntity
4
+ from .helpers import get_name_for_enum as get_name_for_enum
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from pyHomee.const import AttributeType
13
+ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
14
+
15
+ def get_open_close_value(attribute: HomeeAttribute) -> str | None: ...
16
+ def get_window_value(attribute: HomeeAttribute) -> str | None: ...
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class HomeeSensorEntityDescription(SensorEntityDescription):
20
+ value_fn: Callable[[HomeeAttribute], str | float | None] = ...
21
+ native_unit_of_measurement_fn: Callable[[str], str | None] = ...
22
+
23
+ SENSOR_DESCRIPTIONS: dict[AttributeType, HomeeSensorEntityDescription]
24
+
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class HomeeNodeSensorEntityDescription(SensorEntityDescription):
27
+ value_fn: Callable[[HomeeNode], str | None]
28
+
29
+ NODE_SENSOR_DESCRIPTIONS: tuple[HomeeNodeSensorEntityDescription, ...]
30
+
31
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddEntitiesCallback) -> None: ...
32
+
33
+ class HomeeSensor(HomeeEntity, SensorEntity):
34
+ entity_description: HomeeSensorEntityDescription
35
+ _attr_translation_key: Incomplete
36
+ _attr_translation_placeholders: Incomplete
37
+ def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: HomeeSensorEntityDescription) -> None: ...
38
+ @property
39
+ def native_value(self) -> float | str | None: ...
40
+ @property
41
+ def native_unit_of_measurement(self) -> str | None: ...
42
+
43
+ class HomeeNodeSensor(HomeeNodeEntity, SensorEntity):
44
+ entity_description: HomeeNodeSensorEntityDescription
45
+ _node: Incomplete
46
+ _attr_unique_id: Incomplete
47
+ def __init__(self, node: HomeeNode, entry: HomeeConfigEntry, description: HomeeNodeSensorEntityDescription) -> None: ...
48
+ @property
49
+ def native_value(self) -> str | None: ...
@@ -1,5 +1,5 @@
1
1
  import socket
2
- from .const import AUDIO_CODEC_COPY as AUDIO_CODEC_COPY, AUDIO_CODEC_OPUS as AUDIO_CODEC_OPUS, CONF_AUDIO_CODEC as CONF_AUDIO_CODEC, CONF_AUDIO_MAP as CONF_AUDIO_MAP, CONF_AUDIO_PACKET_SIZE as CONF_AUDIO_PACKET_SIZE, CONF_FEATURE as CONF_FEATURE, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, CONF_LINKED_OBSTRUCTION_SENSOR as CONF_LINKED_OBSTRUCTION_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, CONF_MAX_FPS as CONF_MAX_FPS, CONF_MAX_HEIGHT as CONF_MAX_HEIGHT, CONF_MAX_WIDTH as CONF_MAX_WIDTH, CONF_STREAM_ADDRESS as CONF_STREAM_ADDRESS, CONF_STREAM_COUNT as CONF_STREAM_COUNT, CONF_STREAM_SOURCE as CONF_STREAM_SOURCE, CONF_SUPPORT_AUDIO as CONF_SUPPORT_AUDIO, CONF_THRESHOLD_CO as CONF_THRESHOLD_CO, CONF_THRESHOLD_CO2 as CONF_THRESHOLD_CO2, CONF_VIDEO_CODEC as CONF_VIDEO_CODEC, CONF_VIDEO_MAP as CONF_VIDEO_MAP, CONF_VIDEO_PACKET_SIZE as CONF_VIDEO_PACKET_SIZE, DEFAULT_AUDIO_CODEC as DEFAULT_AUDIO_CODEC, DEFAULT_AUDIO_MAP as DEFAULT_AUDIO_MAP, DEFAULT_AUDIO_PACKET_SIZE as DEFAULT_AUDIO_PACKET_SIZE, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, DEFAULT_MAX_FPS as DEFAULT_MAX_FPS, DEFAULT_MAX_HEIGHT as DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH as DEFAULT_MAX_WIDTH, DEFAULT_STREAM_COUNT as DEFAULT_STREAM_COUNT, DEFAULT_SUPPORT_AUDIO as DEFAULT_SUPPORT_AUDIO, DEFAULT_VIDEO_CODEC as DEFAULT_VIDEO_CODEC, DEFAULT_VIDEO_MAP as DEFAULT_VIDEO_MAP, DEFAULT_VIDEO_PACKET_SIZE as DEFAULT_VIDEO_PACKET_SIZE, DOMAIN as DOMAIN, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, MAX_NAME_LENGTH as MAX_NAME_LENGTH, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE, VIDEO_CODEC_COPY as VIDEO_CODEC_COPY, VIDEO_CODEC_H264_OMX as VIDEO_CODEC_H264_OMX, VIDEO_CODEC_H264_V4L2M2M as VIDEO_CODEC_H264_V4L2M2M, VIDEO_CODEC_LIBX264 as VIDEO_CODEC_LIBX264
2
+ from .const import AUDIO_CODEC_COPY as AUDIO_CODEC_COPY, AUDIO_CODEC_OPUS as AUDIO_CODEC_OPUS, CONF_AUDIO_CODEC as CONF_AUDIO_CODEC, CONF_AUDIO_MAP as CONF_AUDIO_MAP, CONF_AUDIO_PACKET_SIZE as CONF_AUDIO_PACKET_SIZE, CONF_FEATURE as CONF_FEATURE, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, CONF_LINKED_OBSTRUCTION_SENSOR as CONF_LINKED_OBSTRUCTION_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, CONF_MAX_FPS as CONF_MAX_FPS, CONF_MAX_HEIGHT as CONF_MAX_HEIGHT, CONF_MAX_WIDTH as CONF_MAX_WIDTH, CONF_STREAM_ADDRESS as CONF_STREAM_ADDRESS, CONF_STREAM_COUNT as CONF_STREAM_COUNT, CONF_STREAM_SOURCE as CONF_STREAM_SOURCE, CONF_SUPPORT_AUDIO as CONF_SUPPORT_AUDIO, CONF_THRESHOLD_CO as CONF_THRESHOLD_CO, CONF_THRESHOLD_CO2 as CONF_THRESHOLD_CO2, CONF_VIDEO_CODEC as CONF_VIDEO_CODEC, CONF_VIDEO_MAP as CONF_VIDEO_MAP, CONF_VIDEO_PACKET_SIZE as CONF_VIDEO_PACKET_SIZE, CONF_VIDEO_PROFILE_NAMES as CONF_VIDEO_PROFILE_NAMES, DEFAULT_AUDIO_CODEC as DEFAULT_AUDIO_CODEC, DEFAULT_AUDIO_MAP as DEFAULT_AUDIO_MAP, DEFAULT_AUDIO_PACKET_SIZE as DEFAULT_AUDIO_PACKET_SIZE, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, DEFAULT_MAX_FPS as DEFAULT_MAX_FPS, DEFAULT_MAX_HEIGHT as DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH as DEFAULT_MAX_WIDTH, DEFAULT_STREAM_COUNT as DEFAULT_STREAM_COUNT, DEFAULT_SUPPORT_AUDIO as DEFAULT_SUPPORT_AUDIO, DEFAULT_VIDEO_CODEC as DEFAULT_VIDEO_CODEC, DEFAULT_VIDEO_MAP as DEFAULT_VIDEO_MAP, DEFAULT_VIDEO_PACKET_SIZE as DEFAULT_VIDEO_PACKET_SIZE, DEFAULT_VIDEO_PROFILE_NAMES as DEFAULT_VIDEO_PROFILE_NAMES, DOMAIN as DOMAIN, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, MAX_NAME_LENGTH as MAX_NAME_LENGTH, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE, VIDEO_CODEC_COPY as VIDEO_CODEC_COPY, VIDEO_CODEC_H264_OMX as VIDEO_CODEC_H264_OMX, VIDEO_CODEC_H264_V4L2M2M as VIDEO_CODEC_H264_V4L2M2M, VIDEO_CODEC_LIBX264 as VIDEO_CODEC_LIBX264
3
3
  from .models import HomeKitConfigEntry as HomeKitConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components import binary_sensor as binary_sensor, media_player as media_player, persistent_notification as persistent_notification, sensor as sensor
@@ -5,10 +5,11 @@ from _typeshed import Incomplete
5
5
  from aiohomekit import Controller as Controller
6
6
  from aiohomekit.controller.abstract import AbstractDiscovery as AbstractDiscovery, AbstractPairing as AbstractPairing, FinishPairing as FinishPairing
7
7
  from aiohomekit.model.categories import Categories
8
- from homeassistant.components import bluetooth as bluetooth, zeroconf as zeroconf
8
+ from homeassistant.components import bluetooth as bluetooth
9
9
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
10
10
  from homeassistant.core import callback as callback
11
11
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
12
+ from homeassistant.helpers.service_info.zeroconf import ATTR_PROPERTIES_ID as ATTR_PROPERTIES_ID, ZeroconfServiceInfo as ZeroconfServiceInfo
12
13
  from homeassistant.helpers.typing import VolDictType as VolDictType
13
14
  from typing import Any, Self
14
15
 
@@ -41,7 +42,7 @@ class HomekitControllerFlowHandler(ConfigFlow, domain=DOMAIN):
41
42
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
43
  @callback
43
44
  def _hkid_is_homekit(self, hkid: str) -> bool: ...
44
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
45
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
45
46
  def is_matching(self, other_flow: Self) -> bool: ...
46
47
  async def async_step_bluetooth(self, discovery_info: bluetooth.BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
47
48
  async def async_step_pair(self, pair_info: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,9 +1,14 @@
1
1
  from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .coordinator import HWEnergyDeviceUpdateCoordinator as HWEnergyDeviceUpdateCoordinator
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_REAUTH as SOURCE_REAUTH
4
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_TOKEN as CONF_TOKEN
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
9
+ from homewizard_energy import HomeWizardEnergy as HomeWizardEnergy
6
10
 
7
11
  type HomeWizardConfigEntry = ConfigEntry[HWEnergyDeviceUpdateCoordinator]
8
12
  async def async_setup_entry(hass: HomeAssistant, entry: HomeWizardConfigEntry) -> bool: ...
9
13
  async def async_unload_entry(hass: HomeAssistant, entry: HomeWizardConfigEntry) -> bool: ...
14
+ async def async_check_v2_support_and_create_issue(hass: HomeAssistant, entry: HomeWizardConfigEntry) -> None: ...
@@ -1,36 +1,36 @@
1
- from .const import CONF_API_ENABLED as CONF_API_ENABLED, CONF_PRODUCT_NAME as CONF_PRODUCT_NAME, CONF_PRODUCT_TYPE as CONF_PRODUCT_TYPE, CONF_SERIAL as CONF_SERIAL, DOMAIN as DOMAIN
1
+ from .const import CONF_PRODUCT_NAME as CONF_PRODUCT_NAME, CONF_PRODUCT_TYPE as CONF_PRODUCT_TYPE, CONF_SERIAL as CONF_SERIAL, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
- from homeassistant.components import onboarding as onboarding, zeroconf as zeroconf
5
- from homeassistant.components.dhcp import DhcpServiceInfo as DhcpServiceInfo
4
+ from homeassistant.components import onboarding as onboarding
6
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
- from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PATH as CONF_PATH
6
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_TOKEN as CONF_TOKEN
8
7
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
9
  from homeassistant.helpers.selector import TextSelector as TextSelector
11
- from homewizard_energy.v1.models import Device as Device
12
- from typing import Any, NamedTuple
13
-
14
- _LOGGER: Incomplete
15
-
16
- class DiscoveryData(NamedTuple):
17
- ip: str
18
- product_name: str
19
- product_type: str
20
- serial: str
10
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
11
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
12
+ from homewizard_energy import HomeWizardEnergy as HomeWizardEnergy
13
+ from homewizard_energy.models import Device as Device
14
+ from typing import Any
21
15
 
22
16
  class HomeWizardConfigFlow(ConfigFlow, domain=DOMAIN):
23
17
  VERSION: int
24
- discovery: DiscoveryData
18
+ ip_address: str | None
19
+ product_name: str | None
20
+ product_type: str | None
21
+ serial: str | None
25
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
23
+ async def async_step_authorize(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
27
25
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
28
26
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
27
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
30
- async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
+ async def async_step_reauth_enable_api(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
+ async def async_step_reauth_confirm_update_token(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
30
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
- @staticmethod
33
- async def _async_try_connect(ip_address: str) -> Device: ...
31
+
32
+ async def async_try_connect(ip_address: str, token: str | None = None) -> Device: ...
33
+ async def async_request_token(ip_address: str) -> str | None: ...
34
34
 
35
35
  class RecoverableError(HomeAssistantError):
36
36
  error_code: Incomplete
@@ -1,21 +1,10 @@
1
1
  from _typeshed import Incomplete
2
- from dataclasses import dataclass
3
2
  from homeassistant.const import Platform as Platform
4
- from homewizard_energy.v1.models import Data as Data, Device as Device, State as State, System as System
5
3
 
6
4
  DOMAIN: str
7
5
  PLATFORMS: Incomplete
8
6
  LOGGER: Incomplete
9
- CONF_API_ENABLED: str
10
- CONF_DATA: str
11
7
  CONF_PRODUCT_NAME: str
12
8
  CONF_PRODUCT_TYPE: str
13
9
  CONF_SERIAL: str
14
10
  UPDATE_INTERVAL: Incomplete
15
-
16
- @dataclass
17
- class DeviceResponseEntry:
18
- device: Device
19
- data: Data
20
- state: State | None = ...
21
- system: System | None = ...