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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
  30. homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
  31. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  32. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  33. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  34. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  35. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  36. homeassistant-stubs/components/backup/__init__.pyi +8 -3
  37. homeassistant-stubs/components/backup/agent.pyi +6 -5
  38. homeassistant-stubs/components/backup/backup.pyi +6 -4
  39. homeassistant-stubs/components/backup/config.pyi +45 -3
  40. homeassistant-stubs/components/backup/http.pyi +8 -0
  41. homeassistant-stubs/components/backup/manager.pyi +42 -22
  42. homeassistant-stubs/components/backup/models.pyi +18 -3
  43. homeassistant-stubs/components/backup/store.pyi +7 -2
  44. homeassistant-stubs/components/backup/util.pyi +94 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +6 -3
  46. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  48. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  49. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  50. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  52. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  54. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  55. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  56. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  57. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  58. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  59. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  60. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  61. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  62. homeassistant-stubs/components/bluetooth/const.pyi +5 -0
  63. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  64. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  65. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  66. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  67. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  68. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/button/__init__.pyi +1 -1
  72. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  74. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  75. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  76. homeassistant-stubs/components/canary/camera.pyi +3 -4
  77. homeassistant-stubs/components/canary/const.pyi +0 -2
  78. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  79. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  80. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  81. homeassistant-stubs/components/climate/const.pyi +1 -0
  82. homeassistant-stubs/components/climate/intent.pyi +9 -1
  83. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  84. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  85. homeassistant-stubs/components/cloud/const.pyi +0 -1
  86. homeassistant-stubs/components/cloud/http_api.pyi +7 -1
  87. homeassistant-stubs/components/config/core.pyi +1 -1
  88. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  89. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  90. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  91. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  92. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  93. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  94. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  95. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  96. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  97. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  98. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  99. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  100. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  101. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  102. homeassistant-stubs/components/date/__init__.pyi +1 -1
  103. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  104. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  105. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  106. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/deconz/button.pyi +2 -2
  108. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  109. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  110. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  111. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  112. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  113. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  114. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  115. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  116. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  117. homeassistant-stubs/components/deconz/light.pyi +2 -2
  118. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  119. homeassistant-stubs/components/deconz/number.pyi +2 -2
  120. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  121. homeassistant-stubs/components/deconz/select.pyi +2 -3
  122. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  123. homeassistant-stubs/components/deconz/services.pyi +2 -1
  124. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  125. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  126. homeassistant-stubs/components/deconz/util.pyi +7 -0
  127. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  128. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  129. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  130. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  131. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  132. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  133. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  134. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  135. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  136. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  137. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  139. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  140. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  141. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  142. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  143. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  144. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  145. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  146. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  147. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  148. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  151. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  152. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  153. homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
  154. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  156. homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
  157. homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
  158. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  159. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  160. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  161. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  162. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  163. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  164. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  165. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  166. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  167. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  168. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  169. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  170. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  171. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  172. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  173. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  174. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  175. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  176. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  177. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  178. homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
  179. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  180. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  181. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  182. homeassistant-stubs/components/event/__init__.pyi +2 -2
  183. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  184. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  185. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  187. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  188. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  189. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  190. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  191. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  192. homeassistant-stubs/components/filter/const.pyi +29 -0
  193. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  194. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  195. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  196. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  197. homeassistant-stubs/components/fritz/button.pyi +3 -4
  198. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  199. homeassistant-stubs/components/fritz/const.pyi +0 -3
  200. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  201. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  202. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  203. homeassistant-stubs/components/fritz/image.pyi +2 -4
  204. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  205. homeassistant-stubs/components/fritz/services.pyi +5 -8
  206. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  207. homeassistant-stubs/components/fritz/update.pyi +2 -4
  208. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  210. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  212. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  213. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  214. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  215. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  216. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  217. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  218. homeassistant-stubs/components/fyta/image.pyi +18 -0
  219. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  220. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  221. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  222. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  223. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  224. homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
  225. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  226. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  227. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  228. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  229. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  230. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  231. homeassistant-stubs/components/habitica/button.pyi +53 -0
  232. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  233. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  234. homeassistant-stubs/components/habitica/const.pyi +44 -0
  235. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  236. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  237. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  238. homeassistant-stubs/components/habitica/image.pyi +26 -0
  239. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  240. homeassistant-stubs/components/habitica/services.pyi +24 -0
  241. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  242. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  243. homeassistant-stubs/components/habitica/types.pyi +10 -0
  244. homeassistant-stubs/components/habitica/util.pyi +15 -0
  245. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  246. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  247. homeassistant-stubs/components/heos/const.pyi +5 -0
  248. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  249. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  250. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  251. homeassistant-stubs/components/heos/services.pyi +16 -0
  252. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  253. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  254. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  255. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  256. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  257. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  259. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  260. homeassistant-stubs/components/homee/const.pyi +9 -0
  261. homeassistant-stubs/components/homee/cover.pyi +43 -0
  262. homeassistant-stubs/components/homee/entity.pyi +43 -0
  263. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  264. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  265. homeassistant-stubs/components/homekit/util.pyi +1 -1
  266. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  267. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  268. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  269. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  270. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  271. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  272. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  273. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  274. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  275. homeassistant-stubs/components/http/ban.pyi +0 -1
  276. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  277. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  278. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  279. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  280. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  281. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  282. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  283. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  284. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  285. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/image/__init__.pyi +1 -1
  287. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  288. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  289. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  290. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  291. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  292. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  293. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  294. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  295. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  296. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  297. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  298. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  299. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  300. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  301. homeassistant-stubs/components/intent/timers.pyi +1 -2
  302. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  304. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  305. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  306. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  307. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  308. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  309. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  310. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  311. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  312. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  313. homeassistant-stubs/components/knx/climate.pyi +10 -2
  314. homeassistant-stubs/components/knx/const.pyi +2 -0
  315. homeassistant-stubs/components/knx/entity.pyi +1 -1
  316. homeassistant-stubs/components/knx/light.pyi +1 -1
  317. homeassistant-stubs/components/knx/schema.pyi +5 -7
  318. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  319. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  320. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  321. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  322. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  323. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  324. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  325. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  326. homeassistant-stubs/components/lcn/const.pyi +1 -0
  327. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  328. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  329. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  330. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  331. homeassistant-stubs/components/letpot/const.pyi +6 -0
  332. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  333. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  334. homeassistant-stubs/components/letpot/time.pyi +33 -0
  335. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  336. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  337. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  338. homeassistant-stubs/components/light/__init__.pyi +1 -1
  339. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  341. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  342. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  343. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  344. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  345. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  346. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  347. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  348. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  349. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  350. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  351. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  352. homeassistant-stubs/components/logbook/models.pyi +1 -1
  353. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  354. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  355. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  356. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  357. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  358. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  359. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  360. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  361. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  362. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  363. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  364. homeassistant-stubs/components/matter/cover.pyi +0 -1
  365. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  366. homeassistant-stubs/components/matter/entity.pyi +11 -4
  367. homeassistant-stubs/components/matter/light.pyi +0 -1
  368. homeassistant-stubs/components/matter/lock.pyi +0 -2
  369. homeassistant-stubs/components/matter/models.pyi +10 -1
  370. homeassistant-stubs/components/matter/number.pyi +1 -1
  371. homeassistant-stubs/components/matter/select.pyi +32 -2
  372. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  373. homeassistant-stubs/components/matter/switch.pyi +15 -2
  374. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  375. homeassistant-stubs/components/matter/valve.pyi +0 -2
  376. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  377. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  378. homeassistant-stubs/components/mcp/const.pyi +1 -0
  379. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  380. homeassistant-stubs/components/mcp/types.pyi +4 -0
  381. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  382. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  383. homeassistant-stubs/components/mcp_server/const.pyi +4 -0
  384. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  385. homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
  386. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  387. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  388. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  389. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  390. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  391. homeassistant-stubs/components/media_source/models.pyi +1 -2
  392. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  393. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  394. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  395. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  396. homeassistant-stubs/components/modbus/const.pyi +4 -0
  397. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  398. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  399. homeassistant-stubs/components/modbus/light.pyi +0 -1
  400. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  401. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  402. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  403. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  404. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  405. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  406. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  407. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  408. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  409. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  410. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  411. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  412. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  413. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  414. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  415. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  416. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  417. homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
  418. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  419. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  420. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  421. homeassistant-stubs/components/nest/api.pyi +2 -2
  422. homeassistant-stubs/components/nest/climate.pyi +2 -0
  423. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  424. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  425. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  426. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  427. homeassistant-stubs/components/network/system_health.pyi +11 -0
  428. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  429. homeassistant-stubs/components/number/__init__.pyi +2 -2
  430. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  431. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  432. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  433. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  434. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  435. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  436. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  437. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  438. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  439. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  440. homeassistant-stubs/components/onewire/const.pyi +0 -2
  441. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  442. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  443. homeassistant-stubs/components/onewire/select.pyi +27 -0
  444. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  445. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  446. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  447. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  448. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  449. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  450. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  451. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  452. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  453. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  454. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  455. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  456. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  457. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  458. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  459. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  460. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  461. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  462. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  463. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  464. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  465. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  466. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  467. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  468. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  469. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  470. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  471. homeassistant-stubs/components/person/__init__.pyi +103 -0
  472. homeassistant-stubs/components/person/const.pyi +1 -0
  473. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  474. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  475. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  476. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  477. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  478. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  479. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  480. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  481. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  482. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  483. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  484. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  485. homeassistant-stubs/components/qbus/const.pyi +7 -0
  486. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  487. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  488. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  489. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  490. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  491. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  492. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  493. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  494. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  495. homeassistant-stubs/components/recorder/const.pyi +0 -2
  496. homeassistant-stubs/components/recorder/core.pyi +2 -2
  497. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  498. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  499. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  500. homeassistant-stubs/components/recorder/util.pyi +1 -7
  501. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  502. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  503. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  504. homeassistant-stubs/components/reolink/const.pyi +1 -0
  505. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  506. homeassistant-stubs/components/reolink/host.pyi +9 -2
  507. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  508. homeassistant-stubs/components/reolink/util.pyi +6 -5
  509. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  510. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  511. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  512. homeassistant-stubs/components/ring/button.pyi +1 -0
  513. homeassistant-stubs/components/ring/camera.pyi +1 -0
  514. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  515. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  516. homeassistant-stubs/components/ring/entity.pyi +1 -2
  517. homeassistant-stubs/components/ring/event.pyi +2 -0
  518. homeassistant-stubs/components/ring/light.pyi +1 -0
  519. homeassistant-stubs/components/ring/number.pyi +2 -0
  520. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  521. homeassistant-stubs/components/ring/siren.pyi +1 -0
  522. homeassistant-stubs/components/ring/switch.pyi +1 -0
  523. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  524. homeassistant-stubs/components/roborock/const.pyi +4 -0
  525. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  526. homeassistant-stubs/components/roborock/image.pyi +10 -11
  527. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  528. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  529. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  530. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  531. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  532. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  533. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  534. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  535. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  536. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  537. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  538. homeassistant-stubs/components/script/__init__.pyi +1 -1
  539. homeassistant-stubs/components/select/__init__.pyi +2 -2
  540. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  541. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  542. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  543. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  544. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  545. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  546. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  547. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  548. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  549. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  550. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  551. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  552. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  553. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  554. homeassistant-stubs/components/shelly/const.pyi +3 -0
  555. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  556. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  557. homeassistant-stubs/components/shelly/number.pyi +21 -13
  558. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  559. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  560. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  561. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  562. homeassistant-stubs/components/slack/entity.pyi +3 -5
  563. homeassistant-stubs/components/slack/notify.pyi +4 -2
  564. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  565. homeassistant-stubs/components/slack/utils.pyi +6 -0
  566. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  567. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  568. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  569. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  570. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  571. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  572. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  573. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  574. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  575. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  576. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  577. homeassistant-stubs/components/stream/const.pyi +9 -1
  578. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  579. homeassistant-stubs/components/stream/worker.pyi +4 -5
  580. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  581. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  582. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  583. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  584. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  585. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  586. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  587. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  588. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  589. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  590. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  591. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  592. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  593. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  594. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  595. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  596. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  597. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  598. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  599. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  600. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  601. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  602. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  603. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  604. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  605. homeassistant-stubs/components/text/__init__.pyi +1 -1
  606. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  607. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  608. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  609. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  610. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  611. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  612. homeassistant-stubs/components/tile/entity.pyi +13 -0
  613. homeassistant-stubs/components/time/__init__.pyi +1 -1
  614. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  615. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  616. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  617. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  618. homeassistant-stubs/components/tplink/button.pyi +2 -1
  619. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  620. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  621. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  622. homeassistant-stubs/components/tplink/const.pyi +1 -1
  623. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  624. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  625. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  626. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  627. homeassistant-stubs/components/tplink/light.pyi +22 -11
  628. homeassistant-stubs/components/tplink/number.pyi +1 -0
  629. homeassistant-stubs/components/tplink/select.pyi +1 -0
  630. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  631. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  632. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  633. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  634. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  636. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  637. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  639. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  640. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  641. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  642. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  643. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  644. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  646. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  647. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  648. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  649. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  650. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  651. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  652. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  653. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  654. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  655. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  656. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  657. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  658. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  659. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  660. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  661. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  662. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  663. homeassistant-stubs/components/update/__init__.pyi +2 -2
  664. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  665. homeassistant-stubs/components/usb/models.pyi +1 -1
  666. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  667. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  668. homeassistant-stubs/components/velbus/const.pyi +1 -0
  669. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  670. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  671. homeassistant-stubs/components/velbus/services.pyi +5 -1
  672. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  673. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  674. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  675. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  676. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  677. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  678. homeassistant-stubs/components/webostv/const.pyi +0 -1
  679. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  680. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  681. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  682. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  683. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  684. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  685. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  687. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  688. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  689. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  690. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  691. homeassistant-stubs/config_entries.pyi +7 -9
  692. homeassistant-stubs/const.pyi +2 -0
  693. homeassistant-stubs/core.pyi +2 -3
  694. homeassistant-stubs/core_config.pyi +3 -3
  695. homeassistant-stubs/data_entry_flow.pyi +1 -2
  696. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  697. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  698. homeassistant-stubs/helpers/collection.pyi +5 -7
  699. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  700. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  701. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  702. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  703. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  704. homeassistant-stubs/helpers/entity.pyi +1 -1
  705. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  706. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  707. homeassistant-stubs/helpers/frame.pyi +1 -1
  708. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  709. homeassistant-stubs/helpers/intent.pyi +4 -2
  710. homeassistant-stubs/helpers/llm.pyi +23 -8
  711. homeassistant-stubs/helpers/script.pyi +1 -1
  712. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  713. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  714. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  715. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  716. homeassistant-stubs/helpers/singleton.pyi +6 -2
  717. homeassistant-stubs/helpers/storage.pyi +1 -1
  718. homeassistant-stubs/helpers/template.pyi +4 -4
  719. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  720. homeassistant-stubs/loader.pyi +1 -1
  721. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  722. homeassistant-stubs/util/event_type.pyi +1 -2
  723. homeassistant-stubs/util/ulid.pyi +1 -1
  724. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  725. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  726. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  727. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +729 -594
  728. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  729. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  730. homeassistant-stubs/components/tplink/models.pyi +0 -10
  731. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  732. {homeassistant_stubs-2025.1.3.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,13 +3,15 @@ from .model import CanaryData as CanaryData
3
3
  from _typeshed import Incomplete
4
4
  from canary.api import Api as Api
5
5
  from canary.model import Location as Location, Reading as Reading
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
9
 
9
10
  _LOGGER: Incomplete
11
+ type CanaryConfigEntry = ConfigEntry[CanaryDataUpdateCoordinator]
10
12
 
11
13
  class CanaryDataUpdateCoordinator(DataUpdateCoordinator[CanaryData]):
12
14
  canary: Incomplete
13
- def __init__(self, hass: HomeAssistant, *, api: Api) -> None: ...
15
+ def __init__(self, hass: HomeAssistant, config_entry: CanaryConfigEntry, *, api: Api) -> None: ...
14
16
  def _update_data(self) -> CanaryData: ...
15
17
  async def _async_update_data(self) -> CanaryData: ...
@@ -1,9 +1,8 @@
1
- from .const import DATA_COORDINATOR as DATA_COORDINATOR, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
- from .coordinator import CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
1
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
2
+ from .coordinator import CanaryConfigEntry as CanaryConfigEntry, CanaryDataUpdateCoordinator as CanaryDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from canary.model import Device as Device, Location as Location
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfTemperature as UnitOfTemperature
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -21,7 +20,7 @@ STATE_AIR_QUALITY_NORMAL: Final[str]
21
20
  STATE_AIR_QUALITY_ABNORMAL: Final[str]
22
21
  STATE_AIR_QUALITY_VERY_ABNORMAL: Final[str]
23
22
 
24
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, entry: CanaryConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
24
 
26
25
  class CanarySensor(CoordinatorEntity[CanaryDataUpdateCoordinator], SensorEntity):
27
26
  _sensor_type: Incomplete
@@ -1,4 +1,4 @@
1
- from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
1
+ from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
@@ -10,7 +10,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
  from homeassistant.loader import async_get_issue_tracker as async_get_issue_tracker, async_suggest_report_issue as async_suggest_report_issue
11
11
  from homeassistant.util.hass_dict import HassKey as HassKey
12
12
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
13
- from propcache import cached_property
13
+ from propcache.api import cached_property
14
14
  from typing import Any, Literal, final
15
15
 
16
16
  _LOGGER: Incomplete
@@ -76,6 +76,7 @@ DEFAULT_MIN_HUMIDITY: int
76
76
  DEFAULT_MAX_HUMIDITY: int
77
77
  DOMAIN: str
78
78
  INTENT_GET_TEMPERATURE: str
79
+ INTENT_SET_TEMPERATURE: str
79
80
  SERVICE_SET_AUX_HEAT: str
80
81
  SERVICE_SET_FAN_MODE: str
81
82
  SERVICE_SET_PRESET_MODE: str
@@ -1,5 +1,6 @@
1
- from . import DOMAIN as DOMAIN, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
1
+ from . import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE
2
2
  from _typeshed import Incomplete
3
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
4
5
  from homeassistant.helpers import intent as intent
5
6
 
@@ -11,3 +12,10 @@ class GetTemperatureIntent(intent.IntentHandler):
11
12
  slot_schema: Incomplete
12
13
  platforms: Incomplete
13
14
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
15
+
16
+ class SetTemperatureIntent(intent.IntentHandler):
17
+ intent_type = INTENT_SET_TEMPERATURE
18
+ description: str
19
+ slot_schema: Incomplete
20
+ platforms: Incomplete
21
+ async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
@@ -1,6 +1,6 @@
1
1
  from . import account_link as account_link, backup as backup, http_api as http_api
2
2
  from .client import CloudClient as CloudClient
3
- from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALEXA_SERVER as CONF_ALEXA_SERVER, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER, CONF_THINGTALK_SERVER as CONF_THINGTALK_SERVER, CONF_USER_POOL_ID as CONF_USER_POOL_ID, DATA_CLOUD as DATA_CLOUD, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, MODE_DEV as MODE_DEV, MODE_PROD as MODE_PROD
3
+ from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER, CONF_THINGTALK_SERVER as CONF_THINGTALK_SERVER, CONF_USER_POOL_ID as CONF_USER_POOL_ID, DATA_CLOUD as DATA_CLOUD, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, MODE_DEV as MODE_DEV, MODE_PROD as MODE_PROD
4
4
  from .prefs import CloudPreferences as CloudPreferences
5
5
  from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
6
6
  from .subscription import async_subscription_info as async_subscription_info
@@ -1,13 +1,13 @@
1
1
  from .client import CloudClient as CloudClient
2
2
  from .const import DATA_CLOUD as DATA_CLOUD, DOMAIN as DOMAIN, EVENT_CLOUD_EVENT as EVENT_CLOUD_EVENT
3
3
  from _typeshed import Incomplete
4
- from aiohttp import StreamReader as StreamReader
5
4
  from collections.abc import AsyncIterator, Callable as Callable, Coroutine
6
5
  from hass_nabucasa import Cloud as Cloud
7
6
  from homeassistant.components.backup import AgentBackup as AgentBackup, BackupAgent as BackupAgent, BackupAgentError as BackupAgentError
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.aiohttp_client import ChunkAsyncStreamIterator as ChunkAsyncStreamIterator
9
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
- from typing import Any, Self
10
+ from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
13
13
  _STORAGE_BACKUP: str
@@ -20,16 +20,10 @@ async def async_get_backup_agents(hass: HomeAssistant, **kwargs: Any) -> list[Ba
20
20
  @callback
21
21
  def async_register_backup_agents_listener(hass: HomeAssistant, *, listener: Callable[[], None], **kwargs: Any) -> Callable[[], None]: ...
22
22
 
23
- class ChunkAsyncStreamIterator:
24
- __slots__: Incomplete
25
- _stream: Incomplete
26
- def __init__(self, stream: StreamReader) -> None: ...
27
- def __aiter__(self) -> Self: ...
28
- async def __anext__(self) -> bytes: ...
29
-
30
23
  class CloudBackupAgent(BackupAgent):
31
24
  domain = DOMAIN
32
25
  name = DOMAIN
26
+ unique_id = DOMAIN
33
27
  _cloud: Incomplete
34
28
  _hass: Incomplete
35
29
  def __init__(self, hass: HomeAssistant, cloud: Cloud[CloudClient]) -> None: ...
@@ -50,7 +50,6 @@ CONF_USER_POOL_ID: str
50
50
  CONF_ACCOUNT_LINK_SERVER: str
51
51
  CONF_ACCOUNTS_SERVER: str
52
52
  CONF_ACME_SERVER: str
53
- CONF_ALEXA_SERVER: str
54
53
  CONF_CLOUDHOOK_SERVER: str
55
54
  CONF_RELAYER_SERVER: str
56
55
  CONF_REMOTESTATE_SERVER: str
@@ -5,7 +5,7 @@ from .google_config import CLOUD_GOOGLE as CLOUD_GOOGLE
5
5
  from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
6
6
  from .subscription import async_subscription_info as async_subscription_info
7
7
  from _typeshed import Incomplete
8
- from aiohttp import web as web
8
+ from aiohttp import web
9
9
  from collections.abc import Awaitable, Callable as Callable, Coroutine
10
10
  from hass_nabucasa import Cloud as Cloud, auth
11
11
  from homeassistant.components import websocket_api as websocket_api
@@ -76,6 +76,12 @@ class CloudForgotPasswordView(HomeAssistantView):
76
76
  @_handle_cloud_errors
77
77
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
78
78
 
79
+ class DownloadSupportPackageView(HomeAssistantView):
80
+ url: str
81
+ name: str
82
+ def _generate_markdown(self, hass_info: dict[str, Any], domains_info: dict[str, dict[str, str]]) -> str: ...
83
+ async def get(self, request: web.Request) -> web.Response: ...
84
+
79
85
  @websocket_api.require_admin
80
86
  @websocket_api.async_response
81
87
  async def websocket_cloud_remove_data(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -5,7 +5,7 @@ from homeassistant.components.sensor import async_update_suggested_units as asyn
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers import check_config as check_config
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.util import location as location, unit_system as unit_system
8
+ from homeassistant.util import unit_system as unit_system
9
9
  from typing import Any
10
10
 
11
11
  @callback
@@ -1,9 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import CookidooConfigEntry as CookidooConfigEntry, CookidooDataUpdateCoordinator as CookidooDataUpdateCoordinator
2
- from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_EMAIL as CONF_EMAIL, CONF_LANGUAGE as CONF_LANGUAGE, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
3
+ from .helpers import cookidoo_from_config_entry as cookidoo_from_config_entry
4
+ from _typeshed import Incomplete
5
+ from homeassistant.const import Platform as Platform
3
6
  from homeassistant.core import HomeAssistant as HomeAssistant
4
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
7
 
6
8
  PLATFORMS: list[Platform]
9
+ _LOGGER: Incomplete
7
10
 
8
11
  async def async_setup_entry(hass: HomeAssistant, entry: CookidooConfigEntry) -> bool: ...
9
12
  async def async_unload_entry(hass: HomeAssistant, entry: CookidooConfigEntry) -> bool: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: CookidooConfigEntry) -> bool: ...
@@ -0,0 +1,27 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import CookidooConfigEntry as CookidooConfigEntry, CookidooDataUpdateCoordinator as CookidooDataUpdateCoordinator
3
+ from .entity import CookidooBaseEntity as CookidooBaseEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Awaitable, Callable as Callable
6
+ from cookidoo_api import Cookidoo as Cookidoo
7
+ from dataclasses import dataclass
8
+ from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class CookidooButtonEntityDescription(ButtonEntityDescription):
17
+ press_fn: Callable[[Cookidoo], Awaitable[None]]
18
+
19
+ TODO_CLEAR: Incomplete
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: CookidooConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
+
23
+ class CookidooButton(CookidooBaseEntity, ButtonEntity):
24
+ entity_description: CookidooButtonEntityDescription
25
+ _attr_unique_id: Incomplete
26
+ def __init__(self, coordinator: CookidooDataUpdateCoordinator, description: CookidooButtonEntityDescription) -> None: ...
27
+ async def async_press(self) -> None: ...
@@ -1,9 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .helpers import cookidoo_from_config_data as cookidoo_from_config_data
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Mapping
4
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
5
6
  from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_EMAIL as CONF_EMAIL, CONF_LANGUAGE as CONF_LANGUAGE, CONF_PASSWORD as CONF_PASSWORD
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
7
  from homeassistant.helpers.selector import CountrySelector as CountrySelector, CountrySelectorConfig as CountrySelectorConfig, LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
8
8
  from typing import Any
9
9
 
@@ -11,9 +11,12 @@ _LOGGER: Incomplete
11
11
  AUTH_DATA_SCHEMA: Incomplete
12
12
 
13
13
  class CookidooConfigFlow(ConfigFlow, domain=DOMAIN):
14
+ VERSION: int
15
+ MINOR_VERSION: int
14
16
  COUNTRY_DATA_SCHEMA: dict
15
17
  LANGUAGE_DATA_SCHEMA: dict
16
18
  user_input: dict[str, Any]
19
+ user_uuid: str
17
20
  async def async_step_reconfigure(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
18
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
22
  async def async_step_language(self, language_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1 +1,4 @@
1
+ from _typeshed import Incomplete
2
+
1
3
  DOMAIN: str
4
+ SUBSCRIPTION_MAP: Incomplete
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from cookidoo_api import Cookidoo as Cookidoo, CookidooAdditionalItem as CookidooAdditionalItem, CookidooIngredientItem as CookidooIngredientItem
3
+ from cookidoo_api import Cookidoo as Cookidoo, CookidooAdditionalItem as CookidooAdditionalItem, CookidooIngredientItem as CookidooIngredientItem, CookidooSubscription as CookidooSubscription, CookidooUserInfo as CookidooUserInfo
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL
@@ -15,9 +15,11 @@ type CookidooConfigEntry = ConfigEntry[CookidooDataUpdateCoordinator]
15
15
  class CookidooData:
16
16
  ingredient_items: list[CookidooIngredientItem]
17
17
  additional_items: list[CookidooAdditionalItem]
18
+ subscription: CookidooSubscription | None
18
19
 
19
20
  class CookidooDataUpdateCoordinator(DataUpdateCoordinator[CookidooData]):
20
21
  config_entry: CookidooConfigEntry
22
+ user: CookidooUserInfo
21
23
  cookidoo: Incomplete
22
24
  def __init__(self, hass: HomeAssistant, cookidoo: Cookidoo, entry: CookidooConfigEntry) -> None: ...
23
25
  async def _async_setup(self) -> None: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import CookidooConfigEntry as CookidooConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: CookidooConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,9 @@
1
+ from .coordinator import CookidooConfigEntry as CookidooConfigEntry
2
+ from cookidoo_api import Cookidoo
3
+ from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_EMAIL as CONF_EMAIL, CONF_LANGUAGE as CONF_LANGUAGE, CONF_PASSWORD as CONF_PASSWORD
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
+ from typing import Any
7
+
8
+ async def cookidoo_from_config_data(hass: HomeAssistant, data: dict[str, Any]) -> Cookidoo: ...
9
+ async def cookidoo_from_config_entry(hass: HomeAssistant, entry: CookidooConfigEntry) -> Cookidoo: ...
@@ -0,0 +1,34 @@
1
+ from .const import SUBSCRIPTION_MAP as SUBSCRIPTION_MAP
2
+ from .coordinator import CookidooConfigEntry as CookidooConfigEntry, CookidooData as CookidooData, CookidooDataUpdateCoordinator as CookidooDataUpdateCoordinator
3
+ from .entity import CookidooBaseEntity as CookidooBaseEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from datetime import datetime
8
+ from enum import StrEnum
9
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
10
+ from homeassistant.const import EntityCategory as EntityCategory
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from homeassistant.helpers.typing import StateType as StateType
14
+
15
+ PARALLEL_UPDATES: int
16
+
17
+ @dataclass(kw_only=True, frozen=True)
18
+ class CookidooSensorEntityDescription(SensorEntityDescription):
19
+ value_fn: Callable[[CookidooData], StateType | datetime]
20
+
21
+ class CookidooSensor(StrEnum):
22
+ SUBSCRIPTION = 'subscription'
23
+ EXPIRES = 'expires'
24
+
25
+ SENSOR_DESCRIPTIONS: tuple[CookidooSensorEntityDescription, ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, config_entry: CookidooConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
+
29
+ class CookidooSensorEntity(CookidooBaseEntity, SensorEntity):
30
+ entity_description: CookidooSensorEntityDescription
31
+ _attr_unique_id: Incomplete
32
+ def __init__(self, coordinator: CookidooDataUpdateCoordinator, entity_description: CookidooSensorEntityDescription) -> None: ...
33
+ @property
34
+ def native_value(self) -> StateType | datetime: ...
@@ -11,7 +11,7 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from homeassistant.loader import bind_hass as bind_hass
13
13
  from homeassistant.util.hass_dict import HassKey as HassKey
14
- from propcache import cached_property
14
+ from propcache.api import cached_property
15
15
  from typing import Any, final
16
16
 
17
17
  _LOGGER: Incomplete
@@ -1,7 +1,8 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .entry_manager import CrownstoneEntryManager as CrownstoneEntryManager
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from .const import PLATFORMS as PLATFORMS
2
+ from .entry_manager import CrownstoneConfigEntry as CrownstoneConfigEntry, CrownstoneEntryManager as CrownstoneEntryManager
3
+ from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
 
6
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
7
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
6
+ async def async_setup_entry(hass: HomeAssistant, entry: CrownstoneConfigEntry) -> bool: ...
7
+ async def async_unload_entry(hass: HomeAssistant, entry: CrownstoneConfigEntry) -> bool: ...
8
+ async def async_update_listener(hass: HomeAssistant, entry: CrownstoneConfigEntry) -> None: ...
@@ -1,10 +1,11 @@
1
1
  from .const import CONF_USB_MANUAL_PATH as CONF_USB_MANUAL_PATH, CONF_USB_PATH as CONF_USB_PATH, CONF_USB_SPHERE as CONF_USB_SPHERE, CONF_USB_SPHERE_OPTION as CONF_USB_SPHERE_OPTION, CONF_USE_USB_OPTION as CONF_USE_USB_OPTION, DOMAIN as DOMAIN, DONT_USE_USB as DONT_USE_USB, MANUAL_PATH as MANUAL_PATH, REFRESH_LIST as REFRESH_LIST
2
+ from .entry_manager import CrownstoneConfigEntry as CrownstoneConfigEntry
2
3
  from .helpers import list_ports_as_str as list_ports_as_str
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable
5
6
  from crownstone_cloud import CrownstoneCloud
6
7
  from homeassistant.components import usb as usb
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
+ from homeassistant.config_entries import ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
9
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
9
10
  from homeassistant.core import callback as callback
10
11
  from homeassistant.helpers import aiohttp_client as aiohttp_client
@@ -29,7 +30,7 @@ class CrownstoneConfigFlowHandler(BaseCrownstoneFlowHandler, ConfigFlow, domain=
29
30
  VERSION: int
30
31
  @staticmethod
31
32
  @callback
32
- def async_get_options_flow(config_entry: ConfigEntry) -> CrownstoneOptionsFlowHandler: ...
33
+ def async_get_options_flow(config_entry: CrownstoneConfigEntry) -> CrownstoneOptionsFlowHandler: ...
33
34
  login_info: dict[str, Any]
34
35
  def __init__(self) -> None: ...
35
36
  cloud: Incomplete
@@ -37,8 +38,9 @@ class CrownstoneConfigFlowHandler(BaseCrownstoneFlowHandler, ConfigFlow, domain=
37
38
  def async_create_new_entry(self) -> ConfigFlowResult: ...
38
39
 
39
40
  class CrownstoneOptionsFlowHandler(BaseCrownstoneFlowHandler, OptionsFlow):
41
+ config_entry: CrownstoneConfigEntry
40
42
  options: Incomplete
41
- def __init__(self, config_entry: ConfigEntry) -> None: ...
42
- cloud: CrownstoneCloud
43
+ def __init__(self, config_entry: CrownstoneConfigEntry) -> None: ...
44
+ cloud: Incomplete
43
45
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
46
  def async_create_new_entry(self) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_USB_PATH as CONF_USB_PATH, CONF_USB_SPHERE as CONF_USB_SPHERE, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS, PROJECT_NAME as PROJECT_NAME, SSE_LISTENERS as SSE_LISTENERS, UART_LISTENERS as UART_LISTENERS
1
+ from .const import CONF_USB_PATH as CONF_USB_PATH, CONF_USB_SPHERE as CONF_USB_SPHERE, DOMAIN as DOMAIN, PROJECT_NAME as PROJECT_NAME, SSE_LISTENERS as SSE_LISTENERS, UART_LISTENERS as UART_LISTENERS
2
2
  from .helpers import get_port as get_port
3
3
  from .listeners import setup_sse_listeners as setup_sse_listeners, setup_uart_listeners as setup_uart_listeners
4
4
  from _typeshed import Incomplete
@@ -7,7 +7,7 @@ from crownstone_sse import CrownstoneSSEAsync
7
7
  from crownstone_uart import CrownstoneUart
8
8
  from homeassistant.components import persistent_notification as persistent_notification
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
+ from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
11
11
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
13
13
  from homeassistant.helpers import aiohttp_client as aiohttp_client
@@ -15,6 +15,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_disp
15
15
  from typing import Any
16
16
 
17
17
  _LOGGER: Incomplete
18
+ type CrownstoneConfigEntry = ConfigEntry[CrownstoneEntryManager]
18
19
 
19
20
  class CrownstoneEntryManager:
20
21
  uart: CrownstoneUart | None
@@ -24,12 +25,11 @@ class CrownstoneEntryManager:
24
25
  config_entry: Incomplete
25
26
  listeners: dict[str, Any]
26
27
  usb_sphere_id: str | None
27
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
28
+ def __init__(self, hass: HomeAssistant, config_entry: CrownstoneConfigEntry) -> None: ...
28
29
  async def async_setup(self) -> bool: ...
29
30
  async def async_process_events(self, sse_client: CrownstoneSSEAsync) -> None: ...
30
31
  async def async_setup_usb(self) -> None: ...
31
- async def async_unload(self) -> bool: ...
32
+ @callback
33
+ def async_unload(self) -> None: ...
32
34
  @callback
33
35
  def on_shutdown(self, _: Event) -> None: ...
34
-
35
- async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -1,7 +1,8 @@
1
1
  from .const import DONT_USE_USB as DONT_USE_USB, MANUAL_PATH as MANUAL_PATH, REFRESH_LIST as REFRESH_LIST
2
+ from collections.abc import Sequence
2
3
  from homeassistant.components import usb as usb
3
4
  from serial.tools.list_ports_common import ListPortInfo as ListPortInfo
4
5
 
5
- def list_ports_as_str(serial_ports: list[ListPortInfo], no_usb_option: bool = True) -> list[str]: ...
6
+ def list_ports_as_str(serial_ports: Sequence[ListPortInfo], no_usb_option: bool = True) -> list[str]: ...
6
7
  def get_port(dev_path: str) -> str | None: ...
7
8
  def map_from_to(val: int, in_min: int, in_max: int, out_min: int, out_max: int) -> int: ...
@@ -1,19 +1,18 @@
1
- from .const import CROWNSTONE_INCLUDE_TYPES as CROWNSTONE_INCLUDE_TYPES, CROWNSTONE_SUFFIX as CROWNSTONE_SUFFIX, DOMAIN as DOMAIN, SIG_CROWNSTONE_STATE_UPDATE as SIG_CROWNSTONE_STATE_UPDATE, SIG_UART_STATE_CHANGE as SIG_UART_STATE_CHANGE
1
+ from .const import CROWNSTONE_INCLUDE_TYPES as CROWNSTONE_INCLUDE_TYPES, CROWNSTONE_SUFFIX as CROWNSTONE_SUFFIX, SIG_CROWNSTONE_STATE_UPDATE as SIG_CROWNSTONE_STATE_UPDATE, SIG_UART_STATE_CHANGE as SIG_UART_STATE_CHANGE
2
2
  from .entity import CrownstoneEntity as CrownstoneEntity
3
- from .entry_manager import CrownstoneEntryManager as CrownstoneEntryManager
3
+ from .entry_manager import CrownstoneConfigEntry as CrownstoneConfigEntry
4
4
  from .helpers import map_from_to as map_from_to
5
5
  from _typeshed import Incomplete
6
6
  from crownstone_cloud.cloud_models.crownstones import Crownstone as Crownstone
7
7
  from crownstone_uart import CrownstoneUart as CrownstoneUart
8
8
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
13
  from typing import Any
15
14
 
16
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, config_entry: CrownstoneConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
16
  def crownstone_state_to_hass(value: int) -> int: ...
18
17
  def hass_to_crownstone_state(value: int) -> int: ...
19
18
 
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from datetime import date
3
3
  from homeassistant.helpers.entity import Entity, EntityDescription
4
- from propcache import cached_property
4
+ from propcache.api import cached_property
5
5
  from typing import final
6
6
 
7
7
  __all__ = ['DOMAIN', 'DateEntity', 'DateEntityDescription']
@@ -1,7 +1,7 @@
1
1
  from .const import ATTR_DATETIME as ATTR_DATETIME, DOMAIN as DOMAIN
2
2
  from datetime import datetime
3
3
  from homeassistant.helpers.entity import Entity, EntityDescription
4
- from propcache import cached_property
4
+ from propcache.api import cached_property
5
5
  from typing import final
6
6
 
7
7
  __all__ = ['ATTR_DATETIME', 'DOMAIN', 'DateTimeEntity', 'DateTimeEntityDescription']
@@ -1,9 +1,9 @@
1
- from .config_flow import get_master_hub as get_master_hub
2
1
  from .const import CONF_MASTER_GATEWAY as CONF_MASTER_GATEWAY, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
2
  from .deconz_event import async_setup_events as async_setup_events, async_unload_events as async_unload_events
4
3
  from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
5
4
  from .hub import DeconzHub as DeconzHub, get_deconz_api as get_deconz_api
6
5
  from .services import async_setup_services as async_setup_services
6
+ from .util import get_master_hub as get_master_hub
7
7
  from _typeshed import Incomplete
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
@@ -12,8 +12,9 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
13
 
14
14
  CONFIG_SCHEMA: Incomplete
15
+ type DeconzConfigEntry = ConfigEntry[DeconzHub]
15
16
 
16
17
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
18
- async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
19
- async def async_update_master_hub(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry) -> bool: ...
19
+ async def async_unload_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry) -> bool: ...
20
+ async def async_update_master_hub(hass: HomeAssistant, config_entry: DeconzConfigEntry, *, master: bool | None = None) -> None: ...
@@ -1,8 +1,8 @@
1
+ from . import DeconzConfigEntry as DeconzConfigEntry
1
2
  from .entity import DeconzDevice as DeconzDevice
2
3
  from .hub import DeconzHub as DeconzHub
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState, CodeFormat as CodeFormat, DOMAIN as ALARM_CONTROl_PANEL_DOMAIN
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
8
  from pydeconz.models.event import EventType as EventType
@@ -11,7 +11,7 @@ from pydeconz.models.sensor.ancillary_control import AncillaryControl
11
11
  DECONZ_TO_ALARM_STATE: Incomplete
12
12
 
13
13
  def get_alarm_system_id_for_unique_id(hub: DeconzHub, unique_id: str) -> str | None: ...
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
15
 
16
16
  class DeconzAlarmControlPanel(DeconzDevice[AncillaryControl], AlarmControlPanelEntity):
17
17
  _update_key: str
@@ -1,3 +1,4 @@
1
+ from . import DeconzConfigEntry as DeconzConfigEntry
1
2
  from .const import ATTR_DARK as ATTR_DARK, ATTR_ON as ATTR_ON
2
3
  from .entity import DeconzDevice as DeconzDevice
3
4
  from .hub import DeconzHub as DeconzHub
@@ -5,7 +6,6 @@ from _typeshed import Incomplete
5
6
  from collections.abc import Callable as Callable
6
7
  from dataclasses import dataclass
7
8
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription, DOMAIN as BINARY_SENSOR_DOMAIN
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, EntityCategory as EntityCategory
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -36,7 +36,7 @@ class DeconzBinarySensorDescription[_T: (Alarm, CarbonMonoxide, Fire, GenericFla
36
36
 
37
37
  ENTITY_DESCRIPTIONS: tuple[DeconzBinarySensorDescription, ...]
38
38
 
39
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
39
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
40
40
 
41
41
  class DeconzBinarySensor(DeconzDevice[SensorResources], BinarySensorEntity):
42
42
  TYPE = BINARY_SENSOR_DOMAIN
@@ -1,9 +1,9 @@
1
+ from . import DeconzConfigEntry as DeconzConfigEntry
1
2
  from .entity import DeconzDevice as DeconzDevice, DeconzSceneMixin as DeconzSceneMixin
2
3
  from .hub import DeconzHub as DeconzHub
3
4
  from _typeshed import Incomplete
4
5
  from dataclasses import dataclass
5
6
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription, DOMAIN as BUTTON_DOMAIN
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -18,7 +18,7 @@ class DeconzButtonDescription(ButtonEntityDescription):
18
18
 
19
19
  ENTITY_DESCRIPTIONS: Incomplete
20
20
 
21
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22
 
23
23
  class DeconzSceneButton(DeconzSceneMixin, ButtonEntity):
24
24
  TYPE = BUTTON_DOMAIN
@@ -1,9 +1,9 @@
1
+ from . import DeconzConfigEntry as DeconzConfigEntry
1
2
  from .const import ATTR_LOCKED as ATTR_LOCKED, ATTR_OFFSET as ATTR_OFFSET, ATTR_VALVE as ATTR_VALVE
2
3
  from .entity import DeconzDevice as DeconzDevice
3
4
  from .hub import DeconzHub as DeconzHub
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as CLIMATE_DOMAIN, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -22,7 +22,7 @@ DECONZ_PRESET_MANUAL: str
22
22
  PRESET_MODE_TO_DECONZ: Incomplete
23
23
  DECONZ_TO_PRESET_MODE: Incomplete
24
24
 
25
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DeconzConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
26
 
27
27
  class DeconzThermostat(DeconzDevice[Thermostat], ClimateEntity):
28
28
  TYPE = CLIMATE_DOMAIN