homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.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.
Files changed (722) 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/entity.pyi +2 -0
  30. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  31. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  32. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  33. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  34. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  35. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  36. homeassistant-stubs/components/backup/agent.pyi +6 -4
  37. homeassistant-stubs/components/backup/backup.pyi +1 -0
  38. homeassistant-stubs/components/backup/config.pyi +44 -1
  39. homeassistant-stubs/components/backup/http.pyi +7 -0
  40. homeassistant-stubs/components/backup/manager.pyi +42 -20
  41. homeassistant-stubs/components/backup/models.pyi +10 -3
  42. homeassistant-stubs/components/backup/store.pyi +7 -2
  43. homeassistant-stubs/components/backup/util.pyi +83 -0
  44. homeassistant-stubs/components/backup/websocket.pyi +5 -2
  45. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  46. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  47. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  48. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  49. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  50. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  51. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  52. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  54. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  55. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  56. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  57. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  58. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  59. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  60. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  61. homeassistant-stubs/components/bluetooth/const.pyi +4 -0
  62. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  63. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  64. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  65. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  66. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  67. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  68. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/button/__init__.pyi +1 -1
  71. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  72. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  73. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  74. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  75. homeassistant-stubs/components/canary/camera.pyi +3 -4
  76. homeassistant-stubs/components/canary/const.pyi +0 -2
  77. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  78. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  79. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  80. homeassistant-stubs/components/climate/const.pyi +1 -0
  81. homeassistant-stubs/components/climate/intent.pyi +9 -1
  82. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  83. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  84. homeassistant-stubs/components/cloud/const.pyi +0 -1
  85. homeassistant-stubs/components/config/core.pyi +1 -1
  86. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  87. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  88. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  89. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  90. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  91. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  92. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  93. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  94. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  95. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  96. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  97. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  98. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  99. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  100. homeassistant-stubs/components/date/__init__.pyi +1 -1
  101. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  102. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  103. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  104. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  105. homeassistant-stubs/components/deconz/button.pyi +2 -2
  106. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  107. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  108. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  109. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  110. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  111. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  112. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  113. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  114. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  115. homeassistant-stubs/components/deconz/light.pyi +2 -2
  116. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  117. homeassistant-stubs/components/deconz/number.pyi +2 -2
  118. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  119. homeassistant-stubs/components/deconz/select.pyi +2 -3
  120. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  121. homeassistant-stubs/components/deconz/services.pyi +2 -1
  122. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  123. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  124. homeassistant-stubs/components/deconz/util.pyi +7 -0
  125. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  126. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  127. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  128. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  129. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  130. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  131. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  132. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  133. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  134. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  135. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  136. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  137. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  138. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  139. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  140. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  141. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  142. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  143. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  144. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  145. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  146. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  147. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  148. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  151. homeassistant-stubs/components/eheimdigital/climate.pyi +38 -0
  152. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  153. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  154. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  155. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  156. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  157. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  158. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  159. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  160. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  161. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  162. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  163. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  164. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  165. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  167. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  168. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  169. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  170. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  171. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  172. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  173. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  174. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -0
  175. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  176. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  177. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  178. homeassistant-stubs/components/event/__init__.pyi +2 -2
  179. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  180. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  181. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  182. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  183. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  184. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  185. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  186. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  187. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  188. homeassistant-stubs/components/filter/const.pyi +29 -0
  189. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  190. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  191. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  192. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  193. homeassistant-stubs/components/fritz/button.pyi +3 -4
  194. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  195. homeassistant-stubs/components/fritz/const.pyi +0 -3
  196. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  197. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  198. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  199. homeassistant-stubs/components/fritz/image.pyi +2 -4
  200. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  201. homeassistant-stubs/components/fritz/services.pyi +5 -8
  202. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  203. homeassistant-stubs/components/fritz/update.pyi +2 -4
  204. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  205. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  206. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  208. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  209. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  210. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  211. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  212. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  213. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  214. homeassistant-stubs/components/fyta/image.pyi +18 -0
  215. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  216. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  217. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  218. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  219. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  220. homeassistant-stubs/components/google_drive/application_credentials.pyi +5 -0
  221. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  222. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  223. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  224. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  225. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  226. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  227. homeassistant-stubs/components/habitica/button.pyi +53 -0
  228. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  229. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  230. homeassistant-stubs/components/habitica/const.pyi +44 -0
  231. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  232. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  233. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  234. homeassistant-stubs/components/habitica/image.pyi +26 -0
  235. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  236. homeassistant-stubs/components/habitica/services.pyi +24 -0
  237. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  238. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  239. homeassistant-stubs/components/habitica/types.pyi +10 -0
  240. homeassistant-stubs/components/habitica/util.pyi +15 -0
  241. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  242. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  243. homeassistant-stubs/components/heos/const.pyi +5 -0
  244. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  245. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  246. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  247. homeassistant-stubs/components/heos/services.pyi +16 -0
  248. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  249. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  250. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  251. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  252. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  253. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  254. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  255. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  256. homeassistant-stubs/components/homee/const.pyi +9 -0
  257. homeassistant-stubs/components/homee/cover.pyi +43 -0
  258. homeassistant-stubs/components/homee/entity.pyi +43 -0
  259. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  260. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  261. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  262. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  263. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  264. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  265. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  266. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  267. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  268. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  269. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  270. homeassistant-stubs/components/http/ban.pyi +0 -1
  271. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  272. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  273. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  274. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  275. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  276. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  277. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  278. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  279. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  280. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  281. homeassistant-stubs/components/image/__init__.pyi +1 -1
  282. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  283. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  284. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  285. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  286. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  287. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  288. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  289. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  290. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  291. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  292. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  293. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  294. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  295. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  296. homeassistant-stubs/components/intent/timers.pyi +1 -2
  297. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  298. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  299. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  300. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  301. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  302. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  303. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  304. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  305. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  306. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  307. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  308. homeassistant-stubs/components/knx/climate.pyi +10 -2
  309. homeassistant-stubs/components/knx/const.pyi +2 -0
  310. homeassistant-stubs/components/knx/entity.pyi +1 -1
  311. homeassistant-stubs/components/knx/light.pyi +1 -1
  312. homeassistant-stubs/components/knx/schema.pyi +5 -7
  313. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  314. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  315. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  316. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  317. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  318. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  319. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  320. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  321. homeassistant-stubs/components/lcn/const.pyi +1 -0
  322. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  323. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  324. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  325. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  326. homeassistant-stubs/components/letpot/const.pyi +6 -0
  327. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  328. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  329. homeassistant-stubs/components/letpot/time.pyi +33 -0
  330. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  331. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  332. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  333. homeassistant-stubs/components/light/__init__.pyi +1 -1
  334. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  335. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  336. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  337. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  338. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  339. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  340. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  341. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  342. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  343. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  344. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  345. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  346. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  347. homeassistant-stubs/components/logbook/models.pyi +1 -1
  348. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  349. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  350. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  351. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  352. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  353. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  354. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  355. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  356. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  357. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  358. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  359. homeassistant-stubs/components/matter/cover.pyi +0 -1
  360. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  361. homeassistant-stubs/components/matter/entity.pyi +11 -4
  362. homeassistant-stubs/components/matter/light.pyi +0 -1
  363. homeassistant-stubs/components/matter/lock.pyi +0 -2
  364. homeassistant-stubs/components/matter/models.pyi +10 -1
  365. homeassistant-stubs/components/matter/number.pyi +1 -1
  366. homeassistant-stubs/components/matter/select.pyi +32 -2
  367. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  368. homeassistant-stubs/components/matter/switch.pyi +15 -2
  369. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  370. homeassistant-stubs/components/matter/valve.pyi +0 -2
  371. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  372. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  373. homeassistant-stubs/components/mcp/const.pyi +1 -0
  374. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  375. homeassistant-stubs/components/mcp/types.pyi +4 -0
  376. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  377. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  378. homeassistant-stubs/components/mcp_server/const.pyi +2 -0
  379. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  380. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  381. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  382. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  383. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  384. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  385. homeassistant-stubs/components/media_source/models.pyi +1 -2
  386. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  387. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  388. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  389. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  390. homeassistant-stubs/components/modbus/const.pyi +4 -0
  391. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  392. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  393. homeassistant-stubs/components/modbus/light.pyi +0 -1
  394. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  395. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  396. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  397. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  398. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  399. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  400. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  401. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  402. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  403. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  404. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  405. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  406. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  407. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  408. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  409. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  410. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  411. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  412. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  413. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  414. homeassistant-stubs/components/nest/api.pyi +2 -2
  415. homeassistant-stubs/components/nest/climate.pyi +2 -0
  416. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  417. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  418. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  419. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  420. homeassistant-stubs/components/network/system_health.pyi +11 -0
  421. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  422. homeassistant-stubs/components/number/__init__.pyi +2 -2
  423. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  424. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  425. homeassistant-stubs/components/onedrive/__init__.pyi +25 -0
  426. homeassistant-stubs/components/onedrive/api.pyi +20 -0
  427. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  428. homeassistant-stubs/components/onedrive/backup.pyi +40 -0
  429. homeassistant-stubs/components/onedrive/config_flow.pyi +19 -0
  430. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  431. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  432. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  433. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  434. homeassistant-stubs/components/onewire/const.pyi +0 -2
  435. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  436. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  437. homeassistant-stubs/components/onewire/select.pyi +27 -0
  438. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  439. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  440. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  441. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  442. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  443. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  444. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  445. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  446. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  447. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  448. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  449. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  450. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  451. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  452. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  453. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  454. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  455. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  456. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  457. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  458. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  459. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  460. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  461. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  462. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  463. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  464. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  465. homeassistant-stubs/components/person/__init__.pyi +103 -0
  466. homeassistant-stubs/components/person/const.pyi +1 -0
  467. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  468. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  469. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  470. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  471. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  472. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  473. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  474. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  475. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  476. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  477. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  478. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  479. homeassistant-stubs/components/qbus/const.pyi +7 -0
  480. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  481. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  482. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  483. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  484. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  485. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  486. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  487. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  488. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  489. homeassistant-stubs/components/recorder/const.pyi +0 -2
  490. homeassistant-stubs/components/recorder/core.pyi +2 -2
  491. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  492. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  493. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  494. homeassistant-stubs/components/recorder/util.pyi +1 -7
  495. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  496. homeassistant-stubs/components/reolink/__init__.pyi +1 -0
  497. homeassistant-stubs/components/reolink/config_flow.pyi +6 -2
  498. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  499. homeassistant-stubs/components/reolink/host.pyi +3 -0
  500. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  501. homeassistant-stubs/components/reolink/util.pyi +2 -5
  502. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  503. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  504. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  505. homeassistant-stubs/components/ring/button.pyi +1 -0
  506. homeassistant-stubs/components/ring/camera.pyi +1 -0
  507. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  508. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  509. homeassistant-stubs/components/ring/entity.pyi +1 -2
  510. homeassistant-stubs/components/ring/event.pyi +2 -0
  511. homeassistant-stubs/components/ring/light.pyi +1 -0
  512. homeassistant-stubs/components/ring/number.pyi +2 -0
  513. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  514. homeassistant-stubs/components/ring/siren.pyi +1 -0
  515. homeassistant-stubs/components/ring/switch.pyi +1 -0
  516. homeassistant-stubs/components/roborock/__init__.pyi +2 -0
  517. homeassistant-stubs/components/roborock/const.pyi +4 -0
  518. homeassistant-stubs/components/roborock/coordinator.pyi +8 -4
  519. homeassistant-stubs/components/roborock/image.pyi +10 -11
  520. homeassistant-stubs/components/roborock/roborock_storage.pyi +21 -0
  521. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  522. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  523. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  524. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  525. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  526. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  527. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  528. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  529. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  530. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  531. homeassistant-stubs/components/script/__init__.pyi +1 -1
  532. homeassistant-stubs/components/select/__init__.pyi +2 -2
  533. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  534. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  535. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  536. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  537. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  538. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  539. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  540. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  541. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  542. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  543. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  544. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  545. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  546. homeassistant-stubs/components/shelly/const.pyi +3 -0
  547. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  548. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  549. homeassistant-stubs/components/shelly/number.pyi +21 -13
  550. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  551. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  552. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  553. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  554. homeassistant-stubs/components/slack/entity.pyi +3 -5
  555. homeassistant-stubs/components/slack/notify.pyi +4 -2
  556. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  557. homeassistant-stubs/components/slack/utils.pyi +6 -0
  558. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  559. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  560. homeassistant-stubs/components/smlight/config_flow.pyi +2 -2
  561. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  562. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  563. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  564. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  565. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  566. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  567. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  568. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  569. homeassistant-stubs/components/stream/const.pyi +9 -1
  570. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  571. homeassistant-stubs/components/stream/worker.pyi +4 -5
  572. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  573. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  574. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  575. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  576. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  577. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  578. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  579. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  580. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  581. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  582. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  583. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  584. homeassistant-stubs/components/synology_dsm/backup.pyi +34 -0
  585. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  586. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  587. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  588. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  589. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  590. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  591. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  592. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  593. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  594. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  595. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/text/__init__.pyi +1 -1
  597. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  598. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  599. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  600. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  601. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  602. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  603. homeassistant-stubs/components/tile/entity.pyi +13 -0
  604. homeassistant-stubs/components/time/__init__.pyi +1 -1
  605. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  606. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  607. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  608. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  609. homeassistant-stubs/components/tplink/button.pyi +2 -1
  610. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  611. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  612. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  613. homeassistant-stubs/components/tplink/const.pyi +1 -1
  614. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  615. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  616. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  617. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  618. homeassistant-stubs/components/tplink/light.pyi +22 -11
  619. homeassistant-stubs/components/tplink/number.pyi +1 -0
  620. homeassistant-stubs/components/tplink/select.pyi +1 -0
  621. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  622. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  623. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  624. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  625. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  626. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  627. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  628. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  629. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  630. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  631. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  632. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  633. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  635. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  636. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  638. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  639. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  640. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  641. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  642. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  643. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  644. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  645. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  646. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  647. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  648. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  649. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  650. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  651. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  652. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  653. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  654. homeassistant-stubs/components/update/__init__.pyi +2 -2
  655. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  656. homeassistant-stubs/components/usb/models.pyi +1 -1
  657. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  658. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  659. homeassistant-stubs/components/velbus/const.pyi +1 -0
  660. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  661. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  662. homeassistant-stubs/components/velbus/services.pyi +5 -1
  663. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  664. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  665. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  666. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  667. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  668. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  669. homeassistant-stubs/components/webostv/const.pyi +0 -1
  670. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  671. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  672. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  673. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  674. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  675. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  676. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  677. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  678. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  679. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  680. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  681. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  682. homeassistant-stubs/config_entries.pyi +7 -9
  683. homeassistant-stubs/const.pyi +2 -0
  684. homeassistant-stubs/core.pyi +2 -3
  685. homeassistant-stubs/core_config.pyi +3 -3
  686. homeassistant-stubs/data_entry_flow.pyi +1 -2
  687. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  688. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  689. homeassistant-stubs/helpers/collection.pyi +5 -7
  690. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  691. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  692. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  693. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  694. homeassistant-stubs/helpers/entity.pyi +1 -1
  695. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  696. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  697. homeassistant-stubs/helpers/frame.pyi +1 -1
  698. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  699. homeassistant-stubs/helpers/intent.pyi +4 -2
  700. homeassistant-stubs/helpers/llm.pyi +17 -7
  701. homeassistant-stubs/helpers/script.pyi +1 -1
  702. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  703. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  704. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  705. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  706. homeassistant-stubs/helpers/singleton.pyi +6 -2
  707. homeassistant-stubs/helpers/storage.pyi +1 -1
  708. homeassistant-stubs/helpers/template.pyi +4 -4
  709. homeassistant-stubs/helpers/update_coordinator.pyi +3 -5
  710. homeassistant-stubs/loader.pyi +1 -1
  711. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  712. homeassistant-stubs/util/event_type.pyi +1 -2
  713. homeassistant-stubs/util/ulid.pyi +1 -1
  714. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  715. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  716. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/METADATA +4 -4
  717. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/RECORD +719 -584
  718. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  719. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  720. homeassistant-stubs/components/tplink/models.pyi +0 -10
  721. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/WHEEL +0 -0
  722. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -11,5 +11,5 @@ _LOGGER: Incomplete
11
11
  TVCameraConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
12
12
 
13
13
  async def async_setup_entry(hass: HomeAssistant, entry: TVCameraConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: TVCameraConfigEntry) -> bool: ...
15
+ async def async_migrate_entry(hass: HomeAssistant, entry: TVCameraConfigEntry) -> bool: ...
@@ -10,6 +10,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from typing import Any
12
12
 
13
+ PARALLEL_UPDATES: int
14
+
13
15
  async def async_setup_entry(hass: HomeAssistant, entry: TVCameraConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
16
 
15
17
  class TVCamera(TrafikverketCameraEntity, Camera):
@@ -6,4 +6,4 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  TVFerryConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
7
7
 
8
8
  async def async_setup_entry(hass: HomeAssistant, entry: TVFerryConfigEntry) -> bool: ...
9
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: TVFerryConfigEntry) -> bool: ...
@@ -23,5 +23,5 @@ class TVDataUpdateCoordinator(DataUpdateCoordinator):
23
23
  _to: str
24
24
  _time: time | None
25
25
  _weekdays: list[str]
26
- def __init__(self, hass: HomeAssistant) -> None: ...
26
+ def __init__(self, hass: HomeAssistant, config_entry: TVFerryConfigEntry) -> None: ...
27
27
  async def _async_update_data(self) -> dict[str, Any]: ...
@@ -20,6 +20,7 @@ ATTR_TO: str
20
20
  ATTR_MODIFIED_TIME: str
21
21
  ATTR_OTHER_INFO: str
22
22
  SCAN_INTERVAL: Incomplete
23
+ PARALLEL_UPDATES: int
23
24
 
24
25
  @dataclass(frozen=True, kw_only=True)
25
26
  class TrafikverketSensorEntityDescription(SensorEntityDescription):
@@ -1,13 +1,16 @@
1
- from .const import PLATFORMS as PLATFORMS
1
+ from .const import CONF_FROM as CONF_FROM, CONF_TO as CONF_TO, PLATFORMS as PLATFORMS
2
2
  from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
9
 
7
10
  TVTrainConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
8
11
  _LOGGER: Incomplete
9
12
 
10
13
  async def async_setup_entry(hass: HomeAssistant, entry: TVTrainConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: TVTrainConfigEntry) -> bool: ...
15
+ async def update_listener(hass: HomeAssistant, entry: TVTrainConfigEntry) -> None: ...
13
16
  async def async_migrate_entry(hass: HomeAssistant, entry: TVTrainConfigEntry) -> bool: ...
@@ -1,12 +1,12 @@
1
1
  from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_FROM as CONF_FROM, CONF_TIME as CONF_TIME, CONF_TO as CONF_TO, DOMAIN as DOMAIN
2
- from .util import next_departuredate as next_departuredate
3
2
  from _typeshed import Incomplete
4
3
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
6
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_NAME as CONF_NAME, CONF_WEEKDAY as CONF_WEEKDAY, WEEKDAYS as WEEKDAYS
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
- from homeassistant.helpers.selector import SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector, TimeSelector as TimeSelector
8
+ from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector, TimeSelector as TimeSelector
9
+ from pytrafikverket import StationInfoModel as StationInfoModel
10
10
  from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
@@ -14,17 +14,23 @@ OPTION_SCHEMA: Incomplete
14
14
  DATA_SCHEMA: Incomplete
15
15
  DATA_SCHEMA_REAUTH: Incomplete
16
16
 
17
- async def validate_input(hass: HomeAssistant, api_key: str, train_from: str, train_to: str, train_time: str | None, weekdays: list[str], product_filter: str | None) -> dict[str, str]: ...
17
+ async def validate_station(hass: HomeAssistant, api_key: str, train_station: str, field: str) -> tuple[list[StationInfoModel], dict[str, str]]: ...
18
18
 
19
19
  class TVTrainConfigFlow(ConfigFlow, domain=DOMAIN):
20
20
  VERSION: int
21
21
  MINOR_VERSION: int
22
+ _from_stations: list[StationInfoModel]
23
+ _to_stations: list[StationInfoModel]
24
+ _data: dict[str, Any]
22
25
  @staticmethod
23
26
  @callback
24
27
  def async_get_options_flow(config_entry: ConfigEntry) -> TVTrainOptionsFlowHandler: ...
25
28
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
26
29
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
30
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
+ async def async_step_initial(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_select_stations(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
34
 
29
35
  class TVTrainOptionsFlowHandler(OptionsFlow):
30
36
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
12
- from pytrafikverket.models import StationInfoModel as StationInfoModel, TrainStopModel as TrainStopModel
12
+ from pytrafikverket import StationInfoModel as StationInfoModel, TrainStopModel as TrainStopModel
13
13
 
14
14
  @dataclass
15
15
  class TrainData:
@@ -40,6 +40,6 @@ class TVDataUpdateCoordinator(DataUpdateCoordinator[TrainData]):
40
40
  _time: time | None
41
41
  _weekdays: list[str]
42
42
  _filter_product: str | None
43
- def __init__(self, hass: HomeAssistant) -> None: ...
43
+ def __init__(self, hass: HomeAssistant, config_entry: TVTrainConfigEntry) -> None: ...
44
44
  async def _async_setup(self) -> None: ...
45
45
  async def _async_update_data(self) -> TrainData: ...
@@ -15,6 +15,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
15
15
  from typing import Any
16
16
 
17
17
  ATTR_PRODUCT_FILTER: str
18
+ PARALLEL_UPDATES: int
18
19
 
19
20
  @dataclass(frozen=True, kw_only=True)
20
21
  class TrafikverketSensorEntityDescription(SensorEntityDescription):
@@ -6,4 +6,4 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  TVWeatherConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
7
7
 
8
8
  async def async_setup_entry(hass: HomeAssistant, entry: TVWeatherConfigEntry) -> bool: ...
9
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: TVWeatherConfigEntry) -> bool: ...
@@ -15,5 +15,5 @@ class TVDataUpdateCoordinator(DataUpdateCoordinator[WeatherStationInfoModel]):
15
15
  config_entry: TVWeatherConfigEntry
16
16
  _weather_api: Incomplete
17
17
  _station: Incomplete
18
- def __init__(self, hass: HomeAssistant) -> None: ...
18
+ def __init__(self, hass: HomeAssistant, config_entry: TVWeatherConfigEntry) -> None: ...
19
19
  async def _async_update_data(self) -> WeatherStationInfoModel: ...
@@ -0,0 +1,5 @@
1
+ from . import TVWeatherConfigEntry as TVWeatherConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: TVWeatherConfigEntry) -> dict[str, Any]: ...
@@ -15,6 +15,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
15
15
  from pytrafikverket.models import WeatherStationInfoModel as WeatherStationInfoModel
16
16
 
17
17
  PRECIPITATION_TYPE: Incomplete
18
+ PARALLEL_UPDATES: int
18
19
 
19
20
  @dataclass(frozen=True, kw_only=True)
20
21
  class TrafikverketSensorEntityDescription(SensorEntityDescription):
@@ -10,10 +10,10 @@ from homeassistant.components.http import HomeAssistantView
10
10
  from homeassistant.core import HomeAssistant, callback
11
11
  from homeassistant.helpers.restore_state import RestoreEntity
12
12
  from homeassistant.helpers.typing import ConfigType
13
- from propcache import cached_property
13
+ from propcache.api import cached_property
14
14
  from typing import Any, TypedDict, final
15
15
 
16
- __all__ = ['async_default_engine', 'async_get_media_source_audio', 'async_support_options', 'ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_RATE', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_BYTES', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'generate_media_source_id', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'SampleFormat', 'Provider', 'TtsAudioType', 'Voice']
16
+ __all__ = ['ATTR_AUDIO_OUTPUT', 'ATTR_PREFERRED_FORMAT', 'ATTR_PREFERRED_SAMPLE_BYTES', 'ATTR_PREFERRED_SAMPLE_CHANNELS', 'ATTR_PREFERRED_SAMPLE_RATE', 'CONF_LANG', 'DEFAULT_CACHE_DIR', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'Provider', 'SampleFormat', 'TtsAudioType', 'Voice', 'async_default_engine', 'async_get_media_source_audio', 'async_support_options', 'generate_media_source_id']
17
17
 
18
18
  ATTR_AUDIO_OUTPUT: str
19
19
  ATTR_PREFERRED_FORMAT: str
@@ -6,11 +6,11 @@ from .hub import UnifiHub as UnifiHub, get_unifi_api as get_unifi_api
6
6
  from _typeshed import Incomplete
7
7
  from aiounifi.interfaces.sites import Sites as Sites
8
8
  from collections.abc import Mapping
9
- from homeassistant.components import ssdp as ssdp
10
9
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
11
10
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
12
  from homeassistant.helpers.device_registry import format_mac as format_mac
13
+ from homeassistant.helpers.service_info.ssdp import ATTR_UPNP_MODEL_DESCRIPTION as ATTR_UPNP_MODEL_DESCRIPTION, ATTR_UPNP_SERIAL as ATTR_UPNP_SERIAL, SsdpServiceInfo as SsdpServiceInfo
14
14
  from typing import Any
15
15
 
16
16
  DEFAULT_PORT: int
@@ -30,7 +30,7 @@ class UnifiFlowHandler(ConfigFlow, domain=UNIFI_DOMAIN):
30
30
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
31
  async def async_step_site(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
32
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
33
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
33
+ async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
34
34
 
35
35
  class UnifiOptionsFlowHandler(OptionsFlow):
36
36
  hub: UnifiHub
@@ -13,7 +13,7 @@ from homeassistant.components.device_tracker import ScannerEntity as ScannerEnti
13
13
  from homeassistant.core import Event as core_Event, HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
15
15
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
- from propcache import cached_property
16
+ from propcache.api import cached_property
17
17
  from typing import Any
18
18
 
19
19
  LOGGER: Incomplete
@@ -36,6 +36,7 @@ async def async_outlet_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> N
36
36
  async def async_poe_port_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
37
37
  async def async_port_forward_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
38
38
  async def async_traffic_rule_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
39
+ async def async_traffic_route_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
39
40
  async def async_wlan_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
40
41
 
41
42
  @dataclass(frozen=True, kw_only=True)
@@ -4,7 +4,7 @@ from .discovery import async_start_discovery as async_start_discovery
4
4
  from .migrate import async_migrate_data as async_migrate_data
5
5
  from .services import async_setup_services as async_setup_services
6
6
  from .utils import _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client, async_get_devices as async_get_devices
7
- from .views import ThumbnailProxyView as ThumbnailProxyView, VideoEventProxyView as VideoEventProxyView, VideoProxyView as VideoProxyView
7
+ from .views import SnapshotProxyView as SnapshotProxyView, ThumbnailProxyView as ThumbnailProxyView, VideoEventProxyView as VideoEventProxyView, VideoProxyView as VideoProxyView
8
8
  from _typeshed import Incomplete
9
9
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -4,11 +4,12 @@ from .discovery import async_start_discovery as async_start_discovery
4
4
  from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
- from homeassistant.components import dhcp as dhcp, ssdp as ssdp
8
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
9
8
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession, async_get_clientsession as async_get_clientsession
11
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
12
+ from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo as SsdpServiceInfo
12
13
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
13
14
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
14
15
  from homeassistant.loader import async_get_integration as async_get_integration
@@ -27,8 +28,8 @@ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
27
28
  VERSION: int
28
29
  _discovered_device: dict[str, str]
29
30
  def __init__(self) -> None: ...
30
- async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
31
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
31
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
32
+ async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
32
33
  async def _async_discovery_handoff(self) -> ConfigFlowResult: ...
33
34
  async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
34
35
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  from .data import ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
2
2
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
4
+ from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
7
7
  from typing import Any
@@ -1,6 +1,7 @@
1
1
  from .data import ProtectData as ProtectData, async_get_data_for_entry_id as async_get_data_for_entry_id, async_get_data_for_nvr_id as async_get_data_for_nvr_id
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import web
4
+ from datetime import datetime
4
5
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from http import HTTPStatus
@@ -12,6 +13,8 @@ _LOGGER: Incomplete
12
13
  @callback
13
14
  def async_generate_thumbnail_url(event_id: str, nvr_id: str, width: int | None = None, height: int | None = None) -> str: ...
14
15
  @callback
16
+ def async_generate_snapshot_url(nvr_id: str, camera_id: str, timestamp: datetime, width: int | None = None, height: int | None = None) -> str: ...
17
+ @callback
15
18
  def async_generate_event_video_url(event: Event) -> str: ...
16
19
  @callback
17
20
  def async_generate_proxy_event_video_url(nvr_id: str, event_id: str) -> str: ...
@@ -39,6 +42,11 @@ class ThumbnailProxyView(ProtectProxyView):
39
42
  name: str
40
43
  async def get(self, request: web.Request, nvr_id: str, event_id: str) -> web.Response: ...
41
44
 
45
+ class SnapshotProxyView(ProtectProxyView):
46
+ url: str
47
+ name: str
48
+ async def get(self, request: web.Request, nvr_id: str, camera_id: str, timestamp: str) -> web.Response: ...
49
+
42
50
  class VideoProxyView(ProtectProxyView):
43
51
  url: str
44
52
  name: str
@@ -1,8 +1,6 @@
1
- import dataclasses
2
- from .const import CONFIG_ENTRY_UPDATE_SIGNAL_TEMPLATE as CONFIG_ENTRY_UPDATE_SIGNAL_TEMPLATE, DATA_UPCLOUD as DATA_UPCLOUD, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL
3
- from .coordinator import UpCloudDataUpdateCoordinator as UpCloudDataUpdateCoordinator
1
+ from .const import CONFIG_ENTRY_UPDATE_SIGNAL_TEMPLATE as CONFIG_ENTRY_UPDATE_SIGNAL_TEMPLATE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL
2
+ from .coordinator import UpCloudConfigEntry as UpCloudConfigEntry, UpCloudDataUpdateCoordinator as UpCloudDataUpdateCoordinator
4
3
  from _typeshed import Incomplete
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -11,11 +9,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
11
9
  _LOGGER: Incomplete
12
10
  PLATFORMS: Incomplete
13
11
 
14
- @dataclasses.dataclass
15
- class UpCloudHassData:
16
- coordinators: dict[str, UpCloudDataUpdateCoordinator] = dataclasses.field(default_factory=dict)
17
-
18
- def _config_entry_update_signal_name(config_entry: ConfigEntry) -> str: ...
19
- async def _async_signal_options_update(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
20
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
21
- async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
12
+ def _config_entry_update_signal_name(config_entry: UpCloudConfigEntry) -> str: ...
13
+ async def _async_signal_options_update(hass: HomeAssistant, config_entry: UpCloudConfigEntry) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: UpCloudConfigEntry) -> bool: ...
15
+ async def async_unload_entry(hass: HomeAssistant, entry: UpCloudConfigEntry) -> bool: ...
@@ -1,13 +1,11 @@
1
- from .const import DATA_UPCLOUD as DATA_UPCLOUD
1
+ from .coordinator import UpCloudConfigEntry as UpCloudConfigEntry
2
2
  from .entity import UpCloudServerEntity as UpCloudServerEntity
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import CONF_USERNAME as CONF_USERNAME
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
7
 
10
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
8
+ async def async_setup_entry(hass: HomeAssistant, config_entry: UpCloudConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
9
 
12
10
  class UpCloudBinarySensor(UpCloudServerEntity, BinarySensorEntity):
13
11
  _attr_device_class: Incomplete
@@ -1,6 +1,7 @@
1
1
  from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
2
+ from .coordinator import UpCloudConfigEntry as UpCloudConfigEntry
2
3
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
5
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_USERNAME as CONF_USERNAME
5
6
  from homeassistant.core import callback as callback
6
7
  from typing import Any
@@ -16,7 +17,7 @@ class UpCloudConfigFlow(ConfigFlow, domain=DOMAIN):
16
17
  def _async_show_form(self, step_id: str, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
17
18
  @staticmethod
18
19
  @callback
19
- def async_get_options_flow(config_entry: ConfigEntry) -> UpCloudOptionsFlow: ...
20
+ def async_get_options_flow(config_entry: UpCloudConfigEntry) -> UpCloudOptionsFlow: ...
20
21
 
21
22
  class UpCloudOptionsFlow(OptionsFlow):
22
23
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,6 +1,5 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
- DATA_UPCLOUD: str
5
4
  DEFAULT_SCAN_INTERVAL: Incomplete
6
5
  CONFIG_ENTRY_UPDATE_SIGNAL_TEMPLATE: Incomplete
@@ -7,10 +7,11 @@ from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
8
 
9
9
  _LOGGER: Incomplete
10
+ type UpCloudConfigEntry = ConfigEntry[UpCloudDataUpdateCoordinator]
10
11
 
11
12
  class UpCloudDataUpdateCoordinator(DataUpdateCoordinator[dict[str, upcloud_api.Server]]):
12
13
  cloud_manager: Incomplete
13
- def __init__(self, hass: HomeAssistant, *, cloud_manager: upcloud_api.CloudManager, update_interval: timedelta, username: str) -> None: ...
14
+ def __init__(self, hass: HomeAssistant, *, config_entry: UpCloudConfigEntry, cloud_manager: upcloud_api.CloudManager, update_interval: timedelta, username: str) -> None: ...
14
15
  update_interval: Incomplete
15
- async def async_update_config(self, config_entry: ConfigEntry) -> None: ...
16
+ async def async_update_config(self, config_entry: UpCloudConfigEntry) -> None: ...
16
17
  async def _async_update_data(self) -> dict[str, upcloud_api.Server]: ...
@@ -1,13 +1,12 @@
1
1
  import upcloud_api
2
2
  from .const import DOMAIN as DOMAIN
3
- from .coordinator import UpCloudDataUpdateCoordinator as UpCloudDataUpdateCoordinator
3
+ from .coordinator import UpCloudConfigEntry as UpCloudConfigEntry, UpCloudDataUpdateCoordinator as UpCloudDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.const import CONF_USERNAME as CONF_USERNAME, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_PROBLEM as STATE_PROBLEM
6
6
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
7
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
8
  from typing import Any
9
9
 
10
- _LOGGER: Incomplete
11
10
  ATTR_CORE_NUMBER: str
12
11
  ATTR_HOSTNAME: str
13
12
  ATTR_MEMORY_AMOUNT: str
@@ -18,8 +17,9 @@ DEFAULT_COMPONENT_NAME: str
18
17
  STATE_MAP: Incomplete
19
18
 
20
19
  class UpCloudServerEntity(CoordinatorEntity[UpCloudDataUpdateCoordinator]):
20
+ config_entry: Incomplete
21
21
  uuid: Incomplete
22
- def __init__(self, coordinator: UpCloudDataUpdateCoordinator, uuid: str) -> None: ...
22
+ def __init__(self, config_entry: UpCloudConfigEntry, uuid: str) -> None: ...
23
23
  @property
24
24
  def _server(self) -> upcloud_api.Server: ...
25
25
  @property
@@ -1,8 +1,7 @@
1
- from .const import DATA_UPCLOUD as DATA_UPCLOUD
1
+ from .coordinator import UpCloudConfigEntry as UpCloudConfigEntry
2
2
  from .entity import UpCloudServerEntity as UpCloudServerEntity
3
3
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import CONF_USERNAME as CONF_USERNAME, STATE_OFF as STATE_OFF
4
+ from homeassistant.const import STATE_OFF as STATE_OFF
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.helpers.dispatcher import dispatcher_send as dispatcher_send
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -10,7 +9,7 @@ from typing import Any
10
9
 
11
10
  SIGNAL_UPDATE_UPCLOUD: str
12
11
 
13
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: UpCloudConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
13
 
15
14
  class UpCloudSwitch(UpCloudServerEntity, SwitchEntity):
16
15
  def turn_on(self, **kwargs: Any) -> None: ...
@@ -5,10 +5,10 @@ from homeassistant.components import websocket_api
5
5
  from homeassistant.const import EntityCategory
6
6
  from homeassistant.helpers.entity import ABCCachedProperties, EntityDescription
7
7
  from homeassistant.helpers.restore_state import RestoreEntity
8
- from propcache import cached_property
8
+ from propcache.api import cached_property
9
9
  from typing import Any, final
10
10
 
11
- __all__ = ['ATTR_BACKUP', 'ATTR_INSTALLED_VERSION', 'ATTR_LATEST_VERSION', 'ATTR_VERSION', 'DEVICE_CLASSES_SCHEMA', 'DOMAIN', 'PLATFORM_SCHEMA_BASE', 'PLATFORM_SCHEMA', 'SERVICE_INSTALL', 'SERVICE_SKIP', 'UpdateDeviceClass', 'UpdateEntity', 'UpdateEntityDescription', 'UpdateEntityFeature']
11
+ __all__ = ['ATTR_BACKUP', 'ATTR_INSTALLED_VERSION', 'ATTR_LATEST_VERSION', 'ATTR_VERSION', 'DEVICE_CLASSES_SCHEMA', 'DOMAIN', 'PLATFORM_SCHEMA', 'PLATFORM_SCHEMA_BASE', 'SERVICE_INSTALL', 'SERVICE_SKIP', 'UpdateDeviceClass', 'UpdateEntity', 'UpdateEntityDescription', 'UpdateEntityFeature']
12
12
 
13
13
  PLATFORM_SCHEMA: Incomplete
14
14
  PLATFORM_SCHEMA_BASE: Incomplete
@@ -1,57 +1,60 @@
1
- import dataclasses
2
1
  from .models import USBDevice
3
2
  from _typeshed import Incomplete
4
- from collections.abc import Coroutine
3
+ from collections.abc import Callable, Coroutine, Sequence
5
4
  from homeassistant.components import websocket_api
6
5
  from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback as hass_callback
7
- from homeassistant.data_entry_flow import BaseServiceInfo
8
6
  from homeassistant.helpers.debounce import Debouncer
9
7
  from homeassistant.loader import USBMatcher
10
- from pyudev import Device, MonitorObserver
11
8
  from serial.tools.list_ports_common import ListPortInfo
12
- from typing import Any
9
+ from typing import Any, overload
13
10
 
14
- __all__ = ['async_is_plugged_in', 'async_register_scan_request_callback', 'USBCallbackMatcher', 'UsbServiceInfo']
11
+ __all__ = ['USBCallbackMatcher', 'async_is_plugged_in', 'async_register_port_event_callback', 'async_register_scan_request_callback']
12
+
13
+ PORT_EVENT_CALLBACK_TYPE = Callable[[set[USBDevice], set[USBDevice]], None]
15
14
 
16
15
  class USBCallbackMatcher(USBMatcher): ...
17
16
 
18
17
  @hass_callback
19
18
  def async_register_scan_request_callback(hass: HomeAssistant, callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
20
19
  @hass_callback
20
+ def async_register_port_event_callback(hass: HomeAssistant, callback: PORT_EVENT_CALLBACK_TYPE) -> CALLBACK_TYPE: ...
21
+ @hass_callback
21
22
  def async_is_plugged_in(hass: HomeAssistant, matcher: USBCallbackMatcher) -> bool: ...
22
23
 
23
- @dataclasses.dataclass(slots=True)
24
- class UsbServiceInfo(BaseServiceInfo):
25
- device: str
26
- vid: str
27
- pid: str
28
- serial_number: str | None
29
- manufacturer: str | None
30
- description: str | None
31
-
32
24
  class USBDiscovery:
33
25
  hass: Incomplete
34
26
  usb: Incomplete
35
27
  seen: set[tuple[str, ...]]
36
28
  observer_active: bool
37
29
  _request_debouncer: Debouncer[Coroutine[Any, Any, None]] | None
30
+ _add_remove_debouncer: Debouncer[Coroutine[Any, Any, None]] | None
38
31
  _request_callbacks: list[CALLBACK_TYPE]
39
32
  initial_scan_done: bool
40
33
  _initial_scan_callbacks: list[CALLBACK_TYPE]
34
+ _port_event_callbacks: set[PORT_EVENT_CALLBACK_TYPE]
35
+ _last_processed_devices: set[USBDevice]
36
+ _scan_lock: Incomplete
41
37
  def __init__(self, hass: HomeAssistant, usb: list[USBMatcher]) -> None: ...
42
38
  async def async_setup(self) -> None: ...
43
39
  async def async_start(self, event: Event) -> None: ...
44
40
  @hass_callback
45
41
  def async_stop(self, event: Event) -> None: ...
42
+ @hass_callback
43
+ def _async_supports_monitoring(self) -> bool: ...
46
44
  async def _async_start_monitor(self) -> None: ...
47
- def _get_monitor_observer(self) -> MonitorObserver | None: ...
48
- def _device_discovered(self, device: Device) -> None: ...
45
+ @hass_callback
46
+ def _async_start_monitor_polling(self) -> None: ...
47
+ async def _async_start_aiousbwatcher(self) -> None: ...
49
48
  @hass_callback
50
49
  def async_register_scan_request_callback(self, _callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
51
50
  @hass_callback
52
51
  def async_register_initial_scan_callback(self, callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
52
+ @hass_callback
53
+ def async_register_port_event_callback(self, callback: PORT_EVENT_CALLBACK_TYPE) -> CALLBACK_TYPE: ...
53
54
  async def _async_process_discovered_usb_device(self, device: USBDevice) -> None: ...
54
- async def _async_process_ports(self, ports: list[ListPortInfo]) -> None: ...
55
+ async def _async_process_ports(self, ports: Sequence[ListPortInfo]) -> None: ...
56
+ @hass_callback
57
+ def _async_delayed_add_remove_scan(self) -> None: ...
55
58
  async def _async_scan_serial(self) -> None: ...
56
59
  async def _async_scan(self) -> None: ...
57
60
  async def async_request_scan(self) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- @dataclass
3
+ @dataclass(slots=True, frozen=True, kw_only=True)
4
4
  class USBDevice:
5
5
  device: str
6
6
  vid: str
@@ -14,7 +14,7 @@ from homeassistant.helpers.icon import icon_for_battery_level as icon_for_batter
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
15
  from homeassistant.loader import bind_hass as bind_hass
16
16
  from homeassistant.util.hass_dict import HassKey as HassKey
17
- from propcache import cached_property
17
+ from propcache.api import cached_property
18
18
  from typing import Any, final
19
19
 
20
20
  _LOGGER: Incomplete
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from homeassistant.components import usb as usb
3
2
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
3
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
4
+ from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
5
5
  from homeassistant.util import slugify as slugify
6
6
  from typing import Any
7
7
 
@@ -14,5 +14,5 @@ class VelbusConfigFlow(ConfigFlow, domain=DOMAIN):
14
14
  def _create_device(self, name: str, prt: str) -> ConfigFlowResult: ...
15
15
  async def _test_connection(self, prt: str) -> bool: ...
16
16
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
- async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
17
+ async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
18
18
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -3,6 +3,7 @@ from homeassistant.components.climate import PRESET_AWAY as PRESET_AWAY, PRESET_
3
3
  from typing import Final
4
4
 
5
5
  DOMAIN: Final[str]
6
+ CONF_CONFIG_ENTRY: Final[str]
6
7
  CONF_INTERFACE: Final[str]
7
8
  CONF_MEMO_TEXT: Final[str]
8
9
  SERVICE_SCAN: Final[str]
@@ -1,11 +1,9 @@
1
1
  from . import VelbusConfigEntry as VelbusConfigEntry
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
4
3
  from typing import Any
5
4
  from velbusaio.channels import Channel as VelbusChannel
6
5
  from velbusaio.module import Module as VelbusModule
7
6
 
8
7
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: VelbusConfigEntry) -> dict[str, Any]: ...
9
- async def async_get_device_diagnostics(hass: HomeAssistant, entry: VelbusConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
10
- def _build_module_diagnostics_info(module: VelbusModule) -> dict[str, Any]: ...
8
+ async def _build_module_diagnostics_info(module: VelbusModule) -> dict[str, Any]: ...
11
9
  def _build_channels_diagnostics_info(channels: dict[str, VelbusChannel]) -> dict[str, Any]: ...
@@ -8,13 +8,17 @@ from typing import Any, Concatenate
8
8
  from velbusaio.channels import Channel as VelbusChannel
9
9
 
10
10
  class VelbusEntity(Entity):
11
+ _attr_has_entity_name: bool
11
12
  _attr_should_poll: bool
12
13
  _channel: Incomplete
14
+ _module_adress: Incomplete
13
15
  _attr_name: Incomplete
14
16
  _attr_device_info: Incomplete
15
17
  _attr_unique_id: Incomplete
16
18
  def __init__(self, channel: VelbusChannel) -> None: ...
19
+ def _get_identifier(self) -> str: ...
17
20
  async def async_added_to_hass(self) -> None: ...
21
+ async def async_will_remove_from_hass(self) -> None: ...
18
22
  async def _on_update(self) -> None: ...
19
23
 
20
24
  def api_call[_T: VelbusEntity, **_P](func: Callable[Concatenate[_T, _P], Awaitable[None]]) -> Callable[Concatenate[_T, _P], Coroutine[Any, Any, None]]: ...
@@ -1,7 +1,11 @@
1
1
  from . import VelbusConfigEntry as VelbusConfigEntry
2
- from .const import 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_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
3
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
3
4
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
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
5
9
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
6
10
 
7
11
  def setup_services(hass: HomeAssistant) -> None: ...