homeassistant-stubs 2025.1.4__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 (731) 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/nam/config_flow.pyi +2 -2
  418. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  419. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  420. homeassistant-stubs/components/nest/api.pyi +2 -2
  421. homeassistant-stubs/components/nest/climate.pyi +2 -0
  422. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  423. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  424. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  426. homeassistant-stubs/components/network/system_health.pyi +11 -0
  427. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  428. homeassistant-stubs/components/number/__init__.pyi +2 -2
  429. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  431. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  432. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  433. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  434. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  435. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  436. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  437. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  438. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  439. homeassistant-stubs/components/onewire/const.pyi +0 -2
  440. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  441. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  442. homeassistant-stubs/components/onewire/select.pyi +27 -0
  443. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  444. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  445. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  446. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  447. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  448. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  449. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  450. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  451. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  452. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  453. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  454. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  455. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  456. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  457. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  458. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  459. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  460. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  461. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  462. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  463. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  464. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  465. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  466. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  467. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  468. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  469. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  470. homeassistant-stubs/components/person/__init__.pyi +103 -0
  471. homeassistant-stubs/components/person/const.pyi +1 -0
  472. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  473. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  474. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  475. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  476. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  477. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  478. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  479. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  480. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  481. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  482. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  483. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  484. homeassistant-stubs/components/qbus/const.pyi +7 -0
  485. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  486. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  487. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  488. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  489. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  490. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  491. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  492. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  493. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  494. homeassistant-stubs/components/recorder/const.pyi +0 -2
  495. homeassistant-stubs/components/recorder/core.pyi +2 -2
  496. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  497. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  498. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  499. homeassistant-stubs/components/recorder/util.pyi +1 -7
  500. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  501. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  502. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  503. homeassistant-stubs/components/reolink/const.pyi +1 -0
  504. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  505. homeassistant-stubs/components/reolink/host.pyi +9 -2
  506. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  507. homeassistant-stubs/components/reolink/util.pyi +6 -5
  508. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  509. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  510. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  511. homeassistant-stubs/components/ring/button.pyi +1 -0
  512. homeassistant-stubs/components/ring/camera.pyi +1 -0
  513. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  515. homeassistant-stubs/components/ring/entity.pyi +1 -2
  516. homeassistant-stubs/components/ring/event.pyi +2 -0
  517. homeassistant-stubs/components/ring/light.pyi +1 -0
  518. homeassistant-stubs/components/ring/number.pyi +2 -0
  519. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  520. homeassistant-stubs/components/ring/siren.pyi +1 -0
  521. homeassistant-stubs/components/ring/switch.pyi +1 -0
  522. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  523. homeassistant-stubs/components/roborock/const.pyi +4 -0
  524. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  525. homeassistant-stubs/components/roborock/image.pyi +10 -11
  526. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  527. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  528. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  529. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  530. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  531. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  532. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  533. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  534. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  535. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  536. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  537. homeassistant-stubs/components/script/__init__.pyi +1 -1
  538. homeassistant-stubs/components/select/__init__.pyi +2 -2
  539. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  540. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  541. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  542. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  543. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  544. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  545. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  546. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  547. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  548. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  549. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  550. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  551. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  552. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  553. homeassistant-stubs/components/shelly/const.pyi +3 -0
  554. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  555. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  556. homeassistant-stubs/components/shelly/number.pyi +21 -13
  557. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  558. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  559. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  560. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  561. homeassistant-stubs/components/slack/entity.pyi +3 -5
  562. homeassistant-stubs/components/slack/notify.pyi +4 -2
  563. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  564. homeassistant-stubs/components/slack/utils.pyi +6 -0
  565. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  566. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  567. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  568. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  569. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  570. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  571. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  573. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  574. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  576. homeassistant-stubs/components/stream/const.pyi +9 -1
  577. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  578. homeassistant-stubs/components/stream/worker.pyi +4 -5
  579. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  580. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  581. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  582. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  583. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  584. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  585. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  586. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  587. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  588. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  589. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  590. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  591. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  592. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  593. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  594. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  595. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  597. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  598. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  599. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  600. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  601. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  602. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  603. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  604. homeassistant-stubs/components/text/__init__.pyi +1 -1
  605. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  606. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  607. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  608. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  609. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  610. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  611. homeassistant-stubs/components/tile/entity.pyi +13 -0
  612. homeassistant-stubs/components/time/__init__.pyi +1 -1
  613. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  614. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  615. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  616. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  617. homeassistant-stubs/components/tplink/button.pyi +2 -1
  618. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  619. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  620. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  621. homeassistant-stubs/components/tplink/const.pyi +1 -1
  622. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  623. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  624. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  625. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  626. homeassistant-stubs/components/tplink/light.pyi +22 -11
  627. homeassistant-stubs/components/tplink/number.pyi +1 -0
  628. homeassistant-stubs/components/tplink/select.pyi +1 -0
  629. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  630. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  631. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  632. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  633. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  636. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  639. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  640. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  641. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  642. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  643. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  644. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  646. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  647. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  648. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  649. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  650. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  651. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  652. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  653. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  654. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  655. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  656. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  657. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  658. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  659. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  660. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  661. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  662. homeassistant-stubs/components/update/__init__.pyi +2 -2
  663. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  664. homeassistant-stubs/components/usb/models.pyi +1 -1
  665. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  666. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  667. homeassistant-stubs/components/velbus/const.pyi +1 -0
  668. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  669. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  670. homeassistant-stubs/components/velbus/services.pyi +5 -1
  671. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  672. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  673. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  674. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  675. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  676. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  677. homeassistant-stubs/components/webostv/const.pyi +0 -1
  678. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  679. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  680. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  681. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  682. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  683. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  684. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  685. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  687. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  688. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  689. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  690. homeassistant-stubs/config_entries.pyi +7 -9
  691. homeassistant-stubs/const.pyi +2 -0
  692. homeassistant-stubs/core.pyi +2 -3
  693. homeassistant-stubs/core_config.pyi +3 -3
  694. homeassistant-stubs/data_entry_flow.pyi +1 -2
  695. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  696. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  697. homeassistant-stubs/helpers/collection.pyi +5 -7
  698. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  699. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  700. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  701. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  702. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  703. homeassistant-stubs/helpers/entity.pyi +1 -1
  704. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  705. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  706. homeassistant-stubs/helpers/frame.pyi +1 -1
  707. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  708. homeassistant-stubs/helpers/intent.pyi +4 -2
  709. homeassistant-stubs/helpers/llm.pyi +23 -8
  710. homeassistant-stubs/helpers/script.pyi +1 -1
  711. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  712. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  713. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  714. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  715. homeassistant-stubs/helpers/singleton.pyi +6 -2
  716. homeassistant-stubs/helpers/storage.pyi +1 -1
  717. homeassistant-stubs/helpers/template.pyi +4 -4
  718. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  719. homeassistant-stubs/loader.pyi +1 -1
  720. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  721. homeassistant-stubs/util/event_type.pyi +1 -2
  722. homeassistant-stubs/util/ulid.pyi +1 -1
  723. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  724. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  725. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  726. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +728 -593
  727. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  728. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  729. homeassistant-stubs/components/tplink/models.pyi +0 -10
  730. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  731. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,17 +1,19 @@
1
1
  from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
3
- from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, async_refresh_after as async_refresh_after
4
+ from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription, async_refresh_after as async_refresh_after
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Sequence
6
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, EFFECT_OFF as EFFECT_OFF, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, EFFECT_OFF as EFFECT_OFF, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription, LightEntityFeature as LightEntityFeature, filter_supported_color_modes as filter_supported_color_modes
7
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
- from homeassistant.helpers import entity_platform as entity_platform
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
12
  from homeassistant.helpers.typing import VolDictType as VolDictType
11
13
  from kasa import Device as Device
12
- from kasa.interfaces import Light as Light, LightEffect
13
14
  from typing import Any
14
15
 
16
+ PARALLEL_UPDATES: int
15
17
  _LOGGER: Incomplete
16
18
  SERVICE_RANDOM_EFFECT: str
17
19
  SERVICE_SEQUENCE_EFFECT: str
@@ -26,19 +28,26 @@ RANDOM_EFFECT_DICT: VolDictType
26
28
 
27
29
  @callback
28
30
  def _async_build_base_effect(brightness: int, duration: int, transition: int, segments: list[int]) -> dict[str, Any]: ...
31
+ def _get_backwards_compatible_light_unique_id(device: Device, entity_description: TPLinkModuleEntityDescription) -> str: ...
32
+
33
+ @dataclass(frozen=True, kw_only=True)
34
+ class TPLinkLightEntityDescription(LightEntityDescription, TPLinkModuleEntityDescription):
35
+ unique_id_fn = _get_backwards_compatible_light_unique_id
36
+
37
+ LIGHT_DESCRIPTIONS: tuple[TPLinkLightEntityDescription, ...]
38
+ LIGHT_EFFECT_DESCRIPTIONS: tuple[TPLinkLightEntityDescription, ...]
39
+
29
40
  async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
30
41
 
31
- class TPLinkLightEntity(CoordinatedTPLinkEntity, LightEntity):
42
+ class TPLinkLightEntity(CoordinatedTPLinkModuleEntity, LightEntity):
32
43
  _attr_supported_features: Incomplete
33
44
  _fixed_color_mode: ColorMode | None
34
- _parent: Incomplete
45
+ entity_description: TPLinkLightEntityDescription
35
46
  _light_module: Incomplete
36
- _attr_name: Incomplete
37
47
  _attr_min_color_temp_kelvin: Incomplete
38
48
  _attr_max_color_temp_kelvin: Incomplete
39
49
  _attr_supported_color_modes: Incomplete
40
- def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, light_module: Light, parent: Device | None = None) -> None: ...
41
- def _get_unique_id(self) -> str: ...
50
+ def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkLightEntityDescription, *, parent: Device | None = None) -> None: ...
42
51
  @callback
43
52
  def _async_extract_brightness_transition(self, **kwargs: Any) -> tuple[int | None, int | None]: ...
44
53
  async def _async_set_hsv(self, hs_color: tuple[int, int], brightness: int | None, transition: int | None) -> None: ...
@@ -58,9 +67,11 @@ class TPLinkLightEntity(CoordinatedTPLinkEntity, LightEntity):
58
67
  def _async_update_attrs(self) -> bool: ...
59
68
 
60
69
  class TPLinkLightEffectEntity(TPLinkLightEntity):
61
- _effect_module: Incomplete
62
- def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, *, light_module: Light, effect_module: LightEffect) -> None: ...
63
70
  _attr_supported_features: Incomplete
71
+ _effect_module: Incomplete
72
+ def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkLightEntityDescription, *, parent: Device | None = None) -> None: ...
73
+ async def async_added_to_hass(self) -> None: ...
74
+ def _register_effects_services(self) -> None: ...
64
75
  _attr_effect: Incomplete
65
76
  _attr_color_mode: Incomplete
66
77
  _attr_effect_list: Incomplete
@@ -13,6 +13,7 @@ _LOGGER: Incomplete
13
13
  @dataclass(frozen=True, kw_only=True)
14
14
  class TPLinkNumberEntityDescription(NumberEntityDescription, TPLinkFeatureEntityDescription): ...
15
15
 
16
+ PARALLEL_UPDATES: int
16
17
  NUMBER_DESCRIPTIONS: Final[Incomplete]
17
18
  NUMBER_DESCRIPTIONS_MAP: Incomplete
18
19
 
@@ -11,6 +11,7 @@ from typing import Final
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TPLinkSelectEntityDescription(SelectEntityDescription, TPLinkFeatureEntityDescription): ...
13
13
 
14
+ PARALLEL_UPDATES: int
14
15
  SELECT_DESCRIPTIONS: Final[Incomplete]
15
16
  SELECT_DESCRIPTIONS_MAP: Incomplete
16
17
 
@@ -1,16 +1,21 @@
1
1
  from . import TPLinkConfigEntry as TPLinkConfigEntry
2
2
  from .const import UNIT_MAPPING as UNIT_MAPPING
3
- from .deprecate import async_cleanup_deprecated as async_cleanup_deprecated
4
3
  from .entity import CoordinatedTPLinkFeatureEntity as CoordinatedTPLinkFeatureEntity, TPLinkFeatureEntityDescription as TPLinkFeatureEntityDescription
5
4
  from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import UnitOfTime as UnitOfTime
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from typing import Any
10
12
 
11
13
  @dataclass(frozen=True, kw_only=True)
12
- class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription): ...
14
+ class TPLinkSensorEntityDescription(SensorEntityDescription, TPLinkFeatureEntityDescription):
15
+ convert_fn: Callable[[Any], Any] | None = ...
13
16
 
17
+ PARALLEL_UPDATES: int
18
+ _TOTAL_SECONDS_METHOD_CALLER: Incomplete
14
19
  SENSOR_DESCRIPTIONS: tuple[TPLinkSensorEntityDescription, ...]
15
20
  SENSOR_DESCRIPTIONS_MAP: Incomplete
16
21
 
@@ -1,25 +1,40 @@
1
- from . import TPLinkConfigEntry as TPLinkConfigEntry
1
+ from . import TPLinkConfigEntry as TPLinkConfigEntry, legacy_device_id as legacy_device_id
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
3
- from .entity import CoordinatedTPLinkEntity as CoordinatedTPLinkEntity, async_refresh_after as async_refresh_after
4
+ from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription, async_refresh_after as async_refresh_after
4
5
  from _typeshed import Incomplete
5
- from homeassistant.components.siren import SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.siren import ATTR_DURATION as ATTR_DURATION, ATTR_TONE as ATTR_TONE, ATTR_VOLUME_LEVEL as ATTR_VOLUME_LEVEL, SirenEntity as SirenEntity, SirenEntityDescription as SirenEntityDescription, SirenEntityFeature as SirenEntityFeature, SirenTurnOnServiceParameters as SirenTurnOnServiceParameters
6
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
12
  from kasa import Device as Device
9
- from kasa.smart.modules.alarm import Alarm as Alarm
10
13
  from typing import Any
11
14
 
15
+ PARALLEL_UPDATES: int
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class TPLinkSirenEntityDescription(SirenEntityDescription, TPLinkModuleEntityDescription):
19
+ unique_id_fn: Callable[[Device, TPLinkModuleEntityDescription], str] = ...
20
+
21
+ SIREN_DESCRIPTIONS: tuple[TPLinkSirenEntityDescription, ...]
22
+
12
23
  async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
24
 
14
- class TPLinkSirenEntity(CoordinatedTPLinkEntity, SirenEntity):
25
+ class TPLinkSirenEntity(CoordinatedTPLinkModuleEntity, SirenEntity):
15
26
  _attr_name: Incomplete
16
27
  _attr_supported_features: Incomplete
17
- _alarm_module: Alarm
18
- def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator) -> None: ...
28
+ entity_description: TPLinkSirenEntityDescription
29
+ _alarm_module: Incomplete
30
+ _alarm_volume_max: Incomplete
31
+ _alarm_duration_max: Incomplete
32
+ def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkSirenEntityDescription, *, parent: Device | None = None) -> None: ...
19
33
  @async_refresh_after
20
34
  async def async_turn_on(self, **kwargs: Any) -> None: ...
21
35
  @async_refresh_after
22
36
  async def async_turn_off(self, **kwargs: Any) -> None: ...
23
37
  _attr_is_on: Incomplete
38
+ _attr_available_tones: Incomplete
24
39
  @callback
25
40
  def _async_update_attrs(self) -> bool: ...
@@ -12,6 +12,7 @@ _LOGGER: Incomplete
12
12
  @dataclass(frozen=True, kw_only=True)
13
13
  class TPLinkSwitchEntityDescription(SwitchEntityDescription, TPLinkFeatureEntityDescription): ...
14
14
 
15
+ PARALLEL_UPDATES: int
15
16
  SWITCH_DESCRIPTIONS: tuple[TPLinkSwitchEntityDescription, ...]
16
17
  SWITCH_DESCRIPTIONS_MAP: Incomplete
17
18
 
@@ -0,0 +1,43 @@
1
+ from . import TPLinkConfigEntry as TPLinkConfigEntry
2
+ from .coordinator import TPLinkDataUpdateCoordinator as TPLinkDataUpdateCoordinator
3
+ from .entity import CoordinatedTPLinkModuleEntity as CoordinatedTPLinkModuleEntity, TPLinkModuleEntityDescription as TPLinkModuleEntityDescription, async_refresh_after as async_refresh_after
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from kasa import Device as Device
10
+ from kasa.smart.modules.clean import Clean as Clean
11
+ from typing import Any
12
+
13
+ PARALLEL_UPDATES: int
14
+ STATUS_TO_ACTIVITY: Incomplete
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class TPLinkVacuumEntityDescription(StateVacuumEntityDescription, TPLinkModuleEntityDescription): ...
18
+
19
+ VACUUM_DESCRIPTIONS: tuple[TPLinkVacuumEntityDescription, ...]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, config_entry: TPLinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
+
23
+ class TPLinkVacuumEntity(CoordinatedTPLinkModuleEntity, StateVacuumEntity):
24
+ _attr_supported_features: Incomplete
25
+ entity_description: TPLinkVacuumEntityDescription
26
+ _vacuum_module: Clean
27
+ _speaker_module: Incomplete
28
+ _attr_fan_speed_list: Incomplete
29
+ def __init__(self, device: Device, coordinator: TPLinkDataUpdateCoordinator, description: TPLinkVacuumEntityDescription, *, parent: Device) -> None: ...
30
+ @async_refresh_after
31
+ async def async_start(self) -> None: ...
32
+ @async_refresh_after
33
+ async def async_pause(self) -> None: ...
34
+ @async_refresh_after
35
+ async def async_return_to_base(self, **kwargs: Any) -> None: ...
36
+ @async_refresh_after
37
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
38
+ async def async_locate(self, **kwargs: Any) -> None: ...
39
+ @property
40
+ def battery_level(self) -> int | None: ...
41
+ _attr_activity: Incomplete
42
+ _attr_fan_speed: Incomplete
43
+ def _async_update_attrs(self) -> bool: ...
@@ -1,9 +1,9 @@
1
1
  from .const import CONF_GATEWAY_ID as CONF_GATEWAY_ID, CONF_IDENTITY as CONF_IDENTITY, CONF_KEY as CONF_KEY, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components import zeroconf as zeroconf
4
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.service_info.zeroconf import ATTR_PROPERTIES_ID as ATTR_PROPERTIES_ID, ZeroconfServiceInfo as ZeroconfServiceInfo
7
7
  from typing import Any
8
8
 
9
9
  KEY_SECURITY_CODE: str
@@ -18,7 +18,7 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
18
18
  def __init__(self) -> None: ...
19
19
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
20
  async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
- async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
21
+ async def async_step_homekit(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
22
22
  async def _entry_from_data(self, data: dict[str, Any]) -> ConfigFlowResult: ...
23
23
 
24
24
  async def authenticate(hass: HomeAssistant, host: str, security_code: str) -> dict[str, str | bool]: ...
@@ -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