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
@@ -0,0 +1,6 @@
1
+ DOMAIN: str
2
+ CONF_ACCESS_TOKEN_EXPIRES: str
3
+ CONF_REFRESH_TOKEN: str
4
+ CONF_REFRESH_TOKEN_EXPIRES: str
5
+ CONF_USER_ID: str
6
+ REQUEST_UPDATE_TIMEOUT: int
@@ -0,0 +1,20 @@
1
+ from . import LetPotConfigEntry as LetPotConfigEntry
2
+ from .const import REQUEST_UPDATE_TIMEOUT as REQUEST_UPDATE_TIMEOUT
3
+ from _typeshed import Incomplete
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
6
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
+ from letpot.deviceclient import LetPotDeviceClient
8
+ from letpot.models import AuthenticationInfo as AuthenticationInfo, LetPotDevice as LetPotDevice, LetPotDeviceStatus
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ class LetPotDeviceCoordinator(DataUpdateCoordinator[LetPotDeviceStatus]):
13
+ config_entry: LetPotConfigEntry
14
+ device: LetPotDevice
15
+ device_client: LetPotDeviceClient
16
+ _info: Incomplete
17
+ def __init__(self, hass: HomeAssistant, info: AuthenticationInfo, device: LetPotDevice) -> None: ...
18
+ def _handle_status_update(self, status: LetPotDeviceStatus) -> None: ...
19
+ async def _async_setup(self) -> None: ...
20
+ async def _async_update_data(self) -> LetPotDeviceStatus: ...
@@ -0,0 +1,10 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import LetPotDeviceCoordinator as LetPotDeviceCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
+
7
+ class LetPotEntity(CoordinatorEntity[LetPotDeviceCoordinator]):
8
+ _attr_has_entity_name: bool
9
+ _attr_device_info: Incomplete
10
+ def __init__(self, coordinator: LetPotDeviceCoordinator) -> None: ...
@@ -0,0 +1,33 @@
1
+ from . import LetPotConfigEntry as LetPotConfigEntry
2
+ from .coordinator import LetPotDeviceCoordinator as LetPotDeviceCoordinator
3
+ from .entity import LetPotEntity as LetPotEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable, Coroutine
6
+ from dataclasses import dataclass
7
+ from datetime import time
8
+ from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from letpot.deviceclient import LetPotDeviceClient as LetPotDeviceClient
13
+ from letpot.models import LetPotDeviceStatus as LetPotDeviceStatus
14
+ from typing import Any
15
+
16
+ PARALLEL_UPDATES: int
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class LetPotTimeEntityDescription(TimeEntityDescription):
20
+ value_fn: Callable[[LetPotDeviceStatus], time | None]
21
+ set_value_fn: Callable[[LetPotDeviceClient, time], Coroutine[Any, Any, None]]
22
+
23
+ TIME_SENSORS: tuple[LetPotTimeEntityDescription, ...]
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, entry: LetPotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
+
27
+ class LetPotTimeEntity(LetPotEntity, TimeEntity):
28
+ entity_description: LetPotTimeEntityDescription
29
+ _attr_unique_id: Incomplete
30
+ def __init__(self, coordinator: LetPotDeviceCoordinator, description: LetPotTimeEntityDescription) -> None: ...
31
+ @property
32
+ def native_value(self) -> time | None: ...
33
+ async def async_set_value(self, value: time) -> None: ...
@@ -2,11 +2,11 @@ from .const import CONF_SERIAL as CONF_SERIAL, DEFAULT_ATTEMPTS as DEFAULT_ATTEM
2
2
  from .discovery import async_discover_devices as async_discover_devices
3
3
  from .util import async_entry_is_legacy as async_entry_is_legacy, async_get_legacy_entry as async_get_legacy_entry, async_multi_execute_lifx_with_retries as async_multi_execute_lifx_with_retries, formatted_serial as formatted_serial, lifx_features as lifx_features, mac_matches_serial_number as mac_matches_serial_number
4
4
  from aiolifx.aiolifx import Light as Light
5
- from homeassistant.components import zeroconf as zeroconf
6
- from homeassistant.components.dhcp import DhcpServiceInfo as DhcpServiceInfo
7
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
8
6
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST
9
7
  from homeassistant.core import callback as callback
8
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
9
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
10
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
11
11
  from typing import Any, Self
12
12
 
@@ -17,7 +17,7 @@ class LifXConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  _discovered_device: Light | None
18
18
  def __init__(self) -> None: ...
19
19
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
20
- async def async_step_homekit(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
20
+ async def async_step_homekit(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
21
21
  async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
22
22
  async def _async_handle_discovery(self, host: str, serial: str | None = None) -> ConfigFlowResult: ...
23
23
  def is_matching(self, other_flow: Self) -> bool: ...
@@ -10,7 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers.debounce import Debouncer as Debouncer
12
12
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
13
- from propcache import cached_property
13
+ from propcache.api import cached_property
14
14
  from typing import Any
15
15
 
16
16
  LIGHT_UPDATE_INTERVAL: int
@@ -2,6 +2,7 @@ from .const import ATTR_THEME as ATTR_THEME, DATA_LIFX_MANAGER as DATA_LIFX_MANA
2
2
  from .coordinator import LIFXUpdateCoordinator as LIFXUpdateCoordinator, Light as Light
3
3
  from .util import convert_8_to_16 as convert_8_to_16, find_hsbk as find_hsbk
4
4
  from _typeshed import Incomplete
5
+ from aiolifx_themes.themes import Theme
5
6
  from collections.abc import Callable as Callable
6
7
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_BRIGHTNESS_PCT as ATTR_BRIGHTNESS_PCT, ATTR_COLOR_NAME as ATTR_COLOR_NAME, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_XY_COLOR as ATTR_XY_COLOR, COLOR_GROUP as COLOR_GROUP, VALID_BRIGHTNESS as VALID_BRIGHTNESS, VALID_BRIGHTNESS_PCT as VALID_BRIGHTNESS_PCT
7
8
  from homeassistant.const import ATTR_MODE as ATTR_MODE
@@ -17,6 +18,7 @@ SERVICE_EFFECT_MOVE: str
17
18
  SERVICE_EFFECT_PULSE: str
18
19
  SERVICE_EFFECT_SKY: str
19
20
  SERVICE_EFFECT_STOP: str
21
+ SERVICE_PAINT_THEME: str
20
22
  ATTR_CHANGE: str
21
23
  ATTR_CLOUD_SATURATION_MIN: str
22
24
  ATTR_CLOUD_SATURATION_MAX: str
@@ -49,6 +51,7 @@ EFFECT_SKY_DEFAULT_SKY_TYPE: str
49
51
  EFFECT_SKY_DEFAULT_CLOUD_SATURATION_MIN: int
50
52
  EFFECT_SKY_DEFAULT_CLOUD_SATURATION_MAX: int
51
53
  EFFECT_SKY_SKY_TYPES: Incomplete
54
+ PAINT_THEME_DEFAULT_TRANSITION: int
52
55
  PULSE_MODE_BLINK: str
53
56
  PULSE_MODE_BREATHE: str
54
57
  PULSE_MODE_PING: str
@@ -64,7 +67,8 @@ HSBK_SCHEMA: Incomplete
64
67
  LIFX_EFFECT_MORPH_SCHEMA: Incomplete
65
68
  LIFX_EFFECT_MOVE_SCHEMA: Incomplete
66
69
  LIFX_EFFECT_SKY_SCHEMA: Incomplete
67
- SERVICES: Incomplete
70
+ LIFX_PAINT_THEME_SCHEMA: Incomplete
71
+ SERVICES_SCHEMA: Incomplete
68
72
 
69
73
  class LIFXManager:
70
74
  hass: Incomplete
@@ -77,4 +81,15 @@ class LIFXManager:
77
81
  def async_register_entity(self, entity_id: str, entry_id: str) -> Callable[[], None]: ...
78
82
  @callback
79
83
  def async_setup(self) -> None: ...
84
+ @staticmethod
85
+ def build_theme(theme_name: str = 'exciting', palette: list | None = None) -> Theme: ...
86
+ async def _start_effect_flame(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
87
+ async def _start_paint_theme(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
88
+ async def _start_effect_morph(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
89
+ async def _start_effect_move(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
90
+ async def _start_effect_pulse(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
91
+ async def _start_effect_colorloop(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
92
+ async def _start_effect_sky(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
93
+ async def _start_effect_stop(self, bulbs: list[Light], coordinators: list[LIFXUpdateCoordinator], **kwargs: Any) -> None: ...
94
+ _effect_dispatch: Incomplete
80
95
  async def start_effect(self, entity_ids: set[str], service: str, **kwargs: Any) -> None: ...
@@ -12,7 +12,7 @@ from homeassistant.helpers.entity_component import EntityComponent as EntityComp
12
12
  from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
14
14
  from homeassistant.loader import bind_hass as bind_hass
15
- from propcache import cached_property
15
+ from propcache.api import cached_property
16
16
  from typing import Any, Final, Self, final
17
17
 
18
18
  ENTITY_ID_FORMAT: Incomplete
@@ -2,9 +2,9 @@ from .const import DOMAIN as DOMAIN
2
2
  from .utils import async_get_client_session as async_get_client_session
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp import ClientSession as ClientSession
5
- from homeassistant.components import zeroconf as zeroconf
6
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL
7
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
8
8
  from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
9
9
  from typing import Any
10
10
 
@@ -13,6 +13,6 @@ _LOGGER: Incomplete
13
13
  class LinkPlayConfigFlow(ConfigFlow, domain=DOMAIN):
14
14
  data: dict[str, Any]
15
15
  def __init__(self) -> None: ...
16
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
16
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
17
17
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,16 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .hub import LitterRobotHub as LitterRobotHub
2
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry, LitterRobotDataUpdateCoordinator as LitterRobotDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import Platform as Platform
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
8
- from pylitterbot import Robot
9
7
 
10
- type LitterRobotConfigEntry = ConfigEntry[LitterRobotHub]
11
- PLATFORMS_BY_TYPE: Incomplete
8
+ PLATFORMS: Incomplete
12
9
 
13
- def get_platforms_for_robots(robots: list[Robot]) -> set[Platform]: ...
14
10
  async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry) -> bool: ...
15
11
  async def async_unload_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry) -> bool: ...
16
12
  async def async_remove_config_entry_device(hass: HomeAssistant, entry: LitterRobotConfigEntry, device_entry: DeviceEntry) -> bool: ...
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
@@ -9,18 +9,15 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
9
9
  from pylitterbot import Robot
10
10
  from typing import Generic
11
11
 
12
- @dataclass(frozen=True)
13
- class RequiredKeysMixin(Generic[_RobotT]):
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class RobotBinarySensorEntityDescription(BinarySensorEntityDescription, Generic[_RobotT]):
14
14
  is_on_fn: Callable[[_RobotT], bool]
15
15
 
16
- @dataclass(frozen=True)
17
- class RobotBinarySensorEntityDescription(BinarySensorEntityDescription, RequiredKeysMixin[_RobotT]): ...
16
+ BINARY_SENSOR_MAP: dict[type[Robot], tuple[RobotBinarySensorEntityDescription, ...]]
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
19
 
19
20
  class LitterRobotBinarySensorEntity(LitterRobotEntity[_RobotT], BinarySensorEntity):
20
21
  entity_description: RobotBinarySensorEntityDescription[_RobotT]
21
22
  @property
22
23
  def is_on(self) -> bool: ...
23
-
24
- BINARY_SENSOR_MAP: dict[type[Robot], tuple[RobotBinarySensorEntityDescription, ...]]
25
-
26
- async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,25 +1,21 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
- from _typeshed import Incomplete
4
3
  from collections.abc import Callable as Callable, Coroutine
5
4
  from dataclasses import dataclass
6
5
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
6
  from homeassistant.const import EntityCategory as EntityCategory
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from pylitterbot import Robot as Robot
10
10
  from typing import Any, Generic
11
11
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
-
14
- @dataclass(frozen=True)
15
- class RequiredKeysMixin(Generic[_RobotT]):
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class RobotButtonEntityDescription(ButtonEntityDescription, Generic[_RobotT]):
16
14
  press_fn: Callable[[_RobotT], Coroutine[Any, Any, bool]]
17
15
 
18
- @dataclass(frozen=True)
19
- class RobotButtonEntityDescription(ButtonEntityDescription, RequiredKeysMixin[_RobotT]): ...
16
+ ROBOT_BUTTON_MAP: dict[type[Robot], RobotButtonEntityDescription]
20
17
 
21
- LITTER_ROBOT_BUTTON: Incomplete
22
- FEEDER_ROBOT_BUTTON: Incomplete
18
+ async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
19
 
24
20
  class LitterRobotButtonEntity(LitterRobotEntity[_RobotT], ButtonEntity):
25
21
  entity_description: RobotButtonEntityDescription[_RobotT]
@@ -1,22 +1,23 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Generator, Mapping
3
+ from collections.abc import Generator
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
10
  from pylitterbot import FeederRobot, LitterRobot
10
- from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
13
- UPDATE_INTERVAL_SECONDS: Incomplete
13
+ UPDATE_INTERVAL: Incomplete
14
+ type LitterRobotConfigEntry = ConfigEntry[LitterRobotDataUpdateCoordinator]
14
15
 
15
- class LitterRobotHub:
16
- _data: Incomplete
16
+ class LitterRobotDataUpdateCoordinator(DataUpdateCoordinator[None]):
17
+ config_entry: LitterRobotConfigEntry
17
18
  account: Incomplete
18
- coordinator: Incomplete
19
- def __init__(self, hass: HomeAssistant, data: Mapping[str, Any]) -> None: ...
20
- async def login(self, load_robots: bool = False, subscribe_for_updates: bool = False) -> None: ...
19
+ def __init__(self, hass: HomeAssistant, config_entry: LitterRobotConfigEntry) -> None: ...
20
+ async def _async_update_data(self) -> None: ...
21
+ async def _async_setup(self) -> None: ...
21
22
  def litter_robots(self) -> Generator[LitterRobot]: ...
22
23
  def feeder_robots(self) -> Generator[FeederRobot]: ...
@@ -1,21 +1,19 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .hub import LitterRobotHub as LitterRobotHub
2
+ from .coordinator import LitterRobotDataUpdateCoordinator as LitterRobotDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
5
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
7
  from pylitterbot import Robot
8
8
  from typing import Generic, TypeVar
9
9
 
10
10
  _RobotT = TypeVar('_RobotT', bound=Robot)
11
11
 
12
- class LitterRobotEntity(CoordinatorEntity[DataUpdateCoordinator[bool]], Generic[_RobotT]):
12
+ class LitterRobotEntity(CoordinatorEntity[LitterRobotDataUpdateCoordinator], Generic[_RobotT]):
13
13
  _attr_has_entity_name: bool
14
14
  robot: Incomplete
15
- hub: Incomplete
16
15
  entity_description: Incomplete
17
16
  _attr_unique_id: Incomplete
18
- def __init__(self, robot: _RobotT, hub: LitterRobotHub, description: EntityDescription) -> None: ...
19
- @property
20
- def device_info(self) -> DeviceInfo: ...
17
+ _attr_device_info: Incomplete
18
+ def __init__(self, robot: _RobotT, coordinator: LitterRobotDataUpdateCoordinator, description: EntityDescription) -> None: ...
21
19
  async def async_added_to_hass(self) -> None: ...
@@ -1,6 +1,5 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry, LitterRobotDataUpdateCoordinator as LitterRobotDataUpdateCoordinator
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
- from .hub import LitterRobotHub as LitterRobotHub
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable, Coroutine
6
5
  from dataclasses import dataclass
@@ -9,23 +8,17 @@ from homeassistant.const import EntityCategory as EntityCategory, UnitOfTime as
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from pylitterbot import Robot as Robot
12
- from pylitterbot.robot.litterrobot4 import BrightnessLevel
13
11
  from typing import Any, Generic, TypeVar
14
12
 
15
13
  _CastTypeT = TypeVar('_CastTypeT', int, float, str)
16
- BRIGHTNESS_LEVEL_ICON_MAP: dict[BrightnessLevel | None, str]
17
14
 
18
- @dataclass(frozen=True)
19
- class RequiredKeysMixin(Generic[_RobotT, _CastTypeT]):
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class RobotSelectEntityDescription(SelectEntityDescription, Generic[_RobotT, _CastTypeT]):
17
+ entity_category: EntityCategory = ...
20
18
  current_fn: Callable[[_RobotT], _CastTypeT | None]
21
19
  options_fn: Callable[[_RobotT], list[_CastTypeT]]
22
20
  select_fn: Callable[[_RobotT, str], Coroutine[Any, Any, bool]]
23
21
 
24
- @dataclass(frozen=True)
25
- class RobotSelectEntityDescription(SelectEntityDescription, RequiredKeysMixin[_RobotT, _CastTypeT]):
26
- entity_category: EntityCategory = ...
27
- icon_fn: Callable[[_RobotT], str] | None = ...
28
-
29
22
  ROBOT_SELECT_MAP: dict[type[Robot], RobotSelectEntityDescription]
30
23
 
31
24
  async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -33,9 +26,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry,
33
26
  class LitterRobotSelectEntity(LitterRobotEntity[_RobotT], SelectEntity, Generic[_RobotT, _CastTypeT]):
34
27
  entity_description: RobotSelectEntityDescription[_RobotT, _CastTypeT]
35
28
  _attr_options: Incomplete
36
- def __init__(self, robot: _RobotT, hub: LitterRobotHub, description: RobotSelectEntityDescription[_RobotT, _CastTypeT]) -> None: ...
37
- @property
38
- def icon(self) -> str | None: ...
29
+ def __init__(self, robot: _RobotT, coordinator: LitterRobotDataUpdateCoordinator, description: RobotSelectEntityDescription[_RobotT, _CastTypeT]) -> None: ...
39
30
  @property
40
31
  def current_option(self) -> str | None: ...
41
32
  async def async_select_option(self, option: str) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
@@ -12,10 +12,14 @@ from typing import Any, Generic
12
12
 
13
13
  def icon_for_gauge_level(gauge_level: int | None = None, offset: int = 0) -> str: ...
14
14
 
15
- @dataclass(frozen=True)
15
+ @dataclass(frozen=True, kw_only=True)
16
16
  class RobotSensorEntityDescription(SensorEntityDescription, Generic[_RobotT]):
17
17
  icon_fn: Callable[[Any], str | None] = ...
18
- should_report: Callable[[_RobotT], bool] = ...
18
+ value_fn: Callable[[_RobotT], float | datetime | str | None]
19
+
20
+ ROBOT_SENSOR_MAP: dict[type[Robot], list[RobotSensorEntityDescription]]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
23
 
20
24
  class LitterRobotSensorEntity(LitterRobotEntity[_RobotT], SensorEntity):
21
25
  entity_description: RobotSensorEntityDescription[_RobotT]
@@ -23,7 +27,3 @@ class LitterRobotSensorEntity(LitterRobotEntity[_RobotT], SensorEntity):
23
27
  def native_value(self) -> float | datetime | str | None: ...
24
28
  @property
25
29
  def icon(self) -> str | None: ...
26
-
27
- ROBOT_SENSOR_MAP: dict[type[Robot], list[RobotSensorEntityDescription]]
28
-
29
- async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable, Coroutine
@@ -9,21 +9,19 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from typing import Any, Generic
11
11
 
12
- @dataclass(frozen=True)
13
- class RequiredKeysMixin(Generic[_RobotT]):
14
- set_fn: Callable[[_RobotT, bool], Coroutine[Any, Any, bool]]
15
-
16
- @dataclass(frozen=True)
17
- class RobotSwitchEntityDescription(SwitchEntityDescription, RequiredKeysMixin[_RobotT]):
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class RobotSwitchEntityDescription(SwitchEntityDescription, Generic[_RobotT]):
18
14
  entity_category: EntityCategory = ...
15
+ set_fn: Callable[[_RobotT, bool], Coroutine[Any, Any, bool]]
16
+ value_fn: Callable[[_RobotT], bool]
19
17
 
20
18
  ROBOT_SWITCHES: Incomplete
21
19
 
20
+ async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+
22
22
  class RobotSwitchEntity(LitterRobotEntity[_RobotT], SwitchEntity):
23
23
  entity_description: RobotSwitchEntityDescription[_RobotT]
24
24
  @property
25
25
  def is_on(self) -> bool | None: ...
26
26
  async def async_turn_on(self, **kwargs: Any) -> None: ...
27
27
  async def async_turn_off(self, **kwargs: Any) -> None: ...
28
-
29
- async def async_setup_entry(hass: HomeAssistant, entry: LitterRobotConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity, _RobotT as _RobotT
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable, Coroutine
@@ -10,14 +10,11 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from typing import Any, Generic
12
12
 
13
- @dataclass(frozen=True)
14
- class RequiredKeysMixin(Generic[_RobotT]):
13
+ @dataclass(frozen=True, kw_only=True)
14
+ class RobotTimeEntityDescription(TimeEntityDescription, Generic[_RobotT]):
15
15
  value_fn: Callable[[_RobotT], time | None]
16
16
  set_fn: Callable[[_RobotT, time], Coroutine[Any, Any, bool]]
17
17
 
18
- @dataclass(frozen=True)
19
- class RobotTimeEntityDescription(TimeEntityDescription, RequiredKeysMixin[_RobotT]): ...
20
-
21
18
  def _as_local_time(start: datetime | None) -> time | None: ...
22
19
 
23
20
  LITTER_ROBOT_3_SLEEP_START: Incomplete
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
@@ -1,4 +1,4 @@
1
- from . import LitterRobotConfigEntry as LitterRobotConfigEntry
1
+ from .coordinator import LitterRobotConfigEntry as LitterRobotConfigEntry
2
2
  from .entity import LitterRobotEntity as LitterRobotEntity
3
3
  from _typeshed import Incomplete
4
4
  from datetime import time
@@ -19,12 +19,8 @@ class LitterRobotCleaner(LitterRobotEntity[LitterRobot], StateVacuumEntity):
19
19
  _attr_supported_features: Incomplete
20
20
  @property
21
21
  def activity(self) -> VacuumActivity: ...
22
- @property
23
- def status(self) -> str: ...
24
22
  async def async_start(self) -> None: ...
25
23
  async def async_stop(self, **kwargs: Any) -> None: ...
26
24
  async def async_set_sleep_mode(self, enabled: bool, start_time: str | None = None) -> None: ...
27
25
  @staticmethod
28
26
  def parse_time_at_default_timezone(time_str: str | None) -> time | None: ...
29
- @property
30
- def extra_state_attributes(self) -> dict[str, Any]: ...
@@ -11,7 +11,7 @@ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as
11
11
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, StateType as StateType
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
@@ -8,7 +8,7 @@ from homeassistant.core import Context as Context, Event as Event, State as Stat
8
8
  from homeassistant.util.event_type import EventType as EventType
9
9
  from homeassistant.util.json import json_loads as json_loads
10
10
  from homeassistant.util.ulid import ulid_to_bytes as ulid_to_bytes
11
- from propcache import cached_property
11
+ from propcache.api import cached_property
12
12
  from sqlalchemy.engine.row import Row as Row
13
13
  from typing import Any, Final, NamedTuple
14
14
 
@@ -1,10 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from aiolookin import Device as Device
4
- from homeassistant.components import zeroconf as zeroconf
5
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
5
  from homeassistant.const import CONF_HOST as CONF_HOST
7
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
8
8
  from typing import Any
9
9
 
10
10
  LOGGER: Incomplete
@@ -13,7 +13,7 @@ class LookinFlowHandler(ConfigFlow, domain=DOMAIN):
13
13
  _host: str | None
14
14
  _name: str | None
15
15
  def __init__(self) -> None: ...
16
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
16
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
17
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
  async def _validate_device(self, host: str) -> Device: ...
19
19
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,39 @@
1
+ from . import dashboard as dashboard, resources as resources, websocket as websocket
2
+ from .const import CONF_ALLOW_SINGLE_WORD as CONF_ALLOW_SINGLE_WORD, CONF_ICON as CONF_ICON, CONF_REQUIRE_ADMIN as CONF_REQUIRE_ADMIN, CONF_SHOW_IN_SIDEBAR as CONF_SHOW_IN_SIDEBAR, CONF_TITLE as CONF_TITLE, CONF_URL_PATH as CONF_URL_PATH, DASHBOARD_BASE_CREATE_FIELDS as DASHBOARD_BASE_CREATE_FIELDS, DEFAULT_ICON as DEFAULT_ICON, DOMAIN as DOMAIN, EVENT_LOVELACE_UPDATED as EVENT_LOVELACE_UPDATED, LOVELACE_DATA as LOVELACE_DATA, MODE_STORAGE as MODE_STORAGE, MODE_YAML as MODE_YAML, RESOURCE_CREATE_FIELDS as RESOURCE_CREATE_FIELDS, RESOURCE_RELOAD_SERVICE_SCHEMA as RESOURCE_RELOAD_SERVICE_SCHEMA, RESOURCE_SCHEMA as RESOURCE_SCHEMA, RESOURCE_UPDATE_FIELDS as RESOURCE_UPDATE_FIELDS, SERVICE_RELOAD_RESOURCES as SERVICE_RELOAD_RESOURCES, STORAGE_DASHBOARD_CREATE_FIELDS as STORAGE_DASHBOARD_CREATE_FIELDS, STORAGE_DASHBOARD_UPDATE_FIELDS as STORAGE_DASHBOARD_UPDATE_FIELDS
3
+ from .system_health import system_health_info as system_health_info
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from homeassistant.components import frontend as frontend, websocket_api as websocket_api
7
+ from homeassistant.config import async_hass_config_yaml as async_hass_config_yaml, async_process_component_and_handle_errors as async_process_component_and_handle_errors
8
+ from homeassistant.const import CONF_FILENAME as CONF_FILENAME, CONF_MODE as CONF_MODE, CONF_RESOURCES as CONF_RESOURCES
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers import collection as collection
12
+ from homeassistant.helpers.frame import report_usage as report_usage
13
+ from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
14
+ from homeassistant.helpers.typing import ConfigType as ConfigType
15
+ from homeassistant.loader import async_get_integration as async_get_integration
16
+ from homeassistant.util import slugify as slugify
17
+ from typing import Any
18
+
19
+ _LOGGER: Incomplete
20
+
21
+ def _validate_url_slug(value: Any) -> str: ...
22
+
23
+ CONF_DASHBOARDS: str
24
+ YAML_DASHBOARD_SCHEMA: Incomplete
25
+ CONFIG_SCHEMA: Incomplete
26
+
27
+ @dataclass
28
+ class LovelaceData:
29
+ mode: str
30
+ dashboards: dict[str | None, dashboard.LovelaceConfig]
31
+ resources: resources.ResourceYAMLCollection | resources.ResourceStorageCollection
32
+ yaml_dashboards: dict[str | None, ConfigType]
33
+ def __getitem__(self, name: str) -> Any: ...
34
+ def get(self, name: str, default: Any = None) -> Any: ...
35
+
36
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
37
+ async def create_yaml_resource_col(hass: HomeAssistant, yaml_resources: list[ConfigType] | None) -> resources.ResourceYAMLCollection: ...
38
+ @callback
39
+ def _register_panel(hass: HomeAssistant, url_path: str | None, mode: str, config: dict, update: bool) -> None: ...
@@ -0,0 +1,18 @@
1
+ from .const import ConfigNotFound as ConfigNotFound, DOMAIN as DOMAIN, LOVELACE_DATA as LOVELACE_DATA
2
+ from homeassistant.components.cast.home_assistant_cast import ATTR_URL_PATH as ATTR_URL_PATH, ATTR_VIEW_PATH as ATTR_VIEW_PATH, NO_URL_AVAILABLE_ERROR as NO_URL_AVAILABLE_ERROR, SERVICE_SHOW_VIEW as SERVICE_SHOW_VIEW
3
+ from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaType as MediaType
4
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
+ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
8
+ from pychromecast import Chromecast as Chromecast
9
+ from typing import Any
10
+
11
+ DEFAULT_DASHBOARD: str
12
+
13
+ async def async_get_media_browser_root_object(hass: HomeAssistant, cast_type: str) -> list[BrowseMedia]: ...
14
+ async def async_browse_media(hass: HomeAssistant, media_content_type: MediaType | str, media_content_id: str, cast_type: str) -> BrowseMedia | None: ...
15
+ async def async_play_media(hass: HomeAssistant, cast_entity_id: str, chromecast: Chromecast, media_type: MediaType | str, media_id: str) -> bool: ...
16
+ async def _get_dashboard_info(hass: HomeAssistant, url_path: str | None) -> dict[str, Any]: ...
17
+ @callback
18
+ def _item_from_info(info: dict) -> BrowseMedia: ...
@@ -0,0 +1,33 @@
1
+ from . import LovelaceData as LovelaceData
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import CONF_ICON as CONF_ICON, CONF_MODE as CONF_MODE, CONF_TYPE as CONF_TYPE, CONF_URL as CONF_URL, EVENT_LOVELACE_UPDATED as EVENT_LOVELACE_UPDATED
4
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
+ from homeassistant.helpers.typing import VolDictType as VolDictType
6
+ from homeassistant.util.hass_dict import HassKey as HassKey
7
+
8
+ DOMAIN: str
9
+ LOVELACE_DATA: HassKey[LovelaceData]
10
+ DEFAULT_ICON: str
11
+ MODE_YAML: str
12
+ MODE_STORAGE: str
13
+ MODE_AUTO: str
14
+ LOVELACE_CONFIG_FILE: str
15
+ CONF_ALLOW_SINGLE_WORD: str
16
+ CONF_URL_PATH: str
17
+ CONF_RESOURCE_TYPE_WS: str
18
+ RESOURCE_TYPES: Incomplete
19
+ RESOURCE_FIELDS: Incomplete
20
+ RESOURCE_SCHEMA: Incomplete
21
+ RESOURCE_CREATE_FIELDS: VolDictType
22
+ RESOURCE_UPDATE_FIELDS: VolDictType
23
+ SERVICE_RELOAD_RESOURCES: str
24
+ RESOURCE_RELOAD_SERVICE_SCHEMA: Incomplete
25
+ CONF_TITLE: str
26
+ CONF_REQUIRE_ADMIN: str
27
+ CONF_SHOW_IN_SIDEBAR: str
28
+ DASHBOARD_BASE_CREATE_FIELDS: VolDictType
29
+ DASHBOARD_BASE_UPDATE_FIELDS: VolDictType
30
+ STORAGE_DASHBOARD_CREATE_FIELDS: VolDictType
31
+ STORAGE_DASHBOARD_UPDATE_FIELDS = DASHBOARD_BASE_UPDATE_FIELDS
32
+
33
+ class ConfigNotFound(HomeAssistantError): ...