homeassistant-stubs 2025.6.3__py3-none-any.whl → 2025.7.0b1__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 (326) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +3 -12
  3. homeassistant-stubs/components/abode/services.pyi +20 -0
  4. homeassistant-stubs/components/adax/sensor.pyi +29 -0
  5. homeassistant-stubs/components/airly/config_flow.pyi +1 -1
  6. homeassistant-stubs/components/airq/coordinator.pyi +1 -1
  7. homeassistant-stubs/components/airthings/__init__.pyi +3 -5
  8. homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
  9. homeassistant-stubs/components/airthings/sensor.pyi +5 -4
  10. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
  11. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -0
  12. homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
  13. homeassistant-stubs/components/alexa_devices/switch.pyi +2 -0
  14. homeassistant-stubs/components/alexa_devices/utils.pyi +7 -0
  15. homeassistant-stubs/components/altruist/__init__.pyi +9 -0
  16. homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
  17. homeassistant-stubs/components/altruist/const.pyi +2 -0
  18. homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/altruist/sensor.pyi +34 -0
  20. homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
  21. homeassistant-stubs/components/amcrest/services.pyi +13 -0
  22. homeassistant-stubs/components/analytics/analytics.pyi +3 -1
  23. homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
  24. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  25. homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
  26. homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
  27. homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
  28. homeassistant-stubs/components/camera/__init__.pyi +0 -2
  29. homeassistant-stubs/components/camera/webrtc.pyi +1 -0
  30. homeassistant-stubs/components/climate/__init__.pyi +0 -2
  31. homeassistant-stubs/components/command_line/notify.pyi +1 -2
  32. homeassistant-stubs/components/command_line/sensor.pyi +1 -2
  33. homeassistant-stubs/components/command_line/utils.pyi +5 -2
  34. homeassistant-stubs/components/deconz/logbook.pyi +1 -1
  35. homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
  36. homeassistant-stubs/components/derivative/const.pyi +1 -0
  37. homeassistant-stubs/components/derivative/sensor.pyi +9 -4
  38. homeassistant-stubs/components/device_automation/condition.pyi +17 -4
  39. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
  40. homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
  41. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
  42. homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
  43. homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
  44. homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
  45. homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
  46. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  47. homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
  48. homeassistant-stubs/components/downloader/__init__.pyi +1 -1
  49. homeassistant-stubs/components/downloader/services.pyi +3 -2
  50. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
  51. homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
  52. homeassistant-stubs/components/ecovacs/number.pyi +4 -4
  53. homeassistant-stubs/components/ecovacs/select.pyi +5 -4
  54. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
  55. homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
  56. homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
  57. homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
  58. homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
  59. homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
  60. homeassistant-stubs/components/elkm1/services.pyi +21 -0
  61. homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
  62. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
  63. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
  64. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
  65. homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
  66. homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
  67. homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
  68. homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
  69. homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
  70. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  71. homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
  72. homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
  73. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
  74. homeassistant-stubs/components/fritz/button.pyi +3 -1
  75. homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
  76. homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
  77. homeassistant-stubs/components/fritz/entity.pyi +2 -1
  78. homeassistant-stubs/components/fritz/helpers.pyi +9 -0
  79. homeassistant-stubs/components/fritz/models.pyi +78 -0
  80. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  81. homeassistant-stubs/components/fritz/services.pyi +3 -2
  82. homeassistant-stubs/components/fritz/switch.pyi +3 -1
  83. homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
  84. homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
  85. homeassistant-stubs/components/google/__init__.pyi +3 -9
  86. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
  87. homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
  88. homeassistant-stubs/components/google_photos/services.pyi +4 -2
  89. homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
  90. homeassistant-stubs/components/google_sheets/services.pyi +18 -0
  91. homeassistant-stubs/components/group/sensor.pyi +1 -1
  92. homeassistant-stubs/components/habitica/services.pyi +8 -1
  93. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  94. homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
  95. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
  96. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +7 -7
  97. homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
  98. homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
  99. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
  100. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
  101. homeassistant-stubs/components/homee/config_flow.pyi +1 -0
  102. homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
  103. homeassistant-stubs/components/homee/entity.pyi +3 -2
  104. homeassistant-stubs/components/homee/event.pyi +8 -4
  105. homeassistant-stubs/components/homee/siren.pyi +19 -0
  106. homeassistant-stubs/components/homewizard/select.pyi +35 -0
  107. homeassistant-stubs/components/image/__init__.pyi +2 -0
  108. homeassistant-stubs/components/immich/coordinator.pyi +2 -1
  109. homeassistant-stubs/components/immich/update.pyi +21 -0
  110. homeassistant-stubs/components/isy994/__init__.pyi +3 -1
  111. homeassistant-stubs/components/isy994/services.pyi +0 -2
  112. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
  113. homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
  114. homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
  115. homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
  116. homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
  117. homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
  118. homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
  119. homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
  120. homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
  121. homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
  122. homeassistant-stubs/components/lametric/__init__.pyi +3 -4
  123. homeassistant-stubs/components/lametric/button.pyi +2 -4
  124. homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
  125. homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
  126. homeassistant-stubs/components/lametric/entity.pyi +1 -1
  127. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  128. homeassistant-stubs/components/lametric/notify.pyi +2 -2
  129. homeassistant-stubs/components/lametric/number.pyi +2 -4
  130. homeassistant-stubs/components/lametric/select.pyi +2 -4
  131. homeassistant-stubs/components/lametric/sensor.pyi +2 -4
  132. homeassistant-stubs/components/lametric/switch.pyi +2 -4
  133. homeassistant-stubs/components/lametric/update.pyi +17 -0
  134. homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
  135. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
  136. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
  137. homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
  138. homeassistant-stubs/components/lcn/__init__.pyi +9 -10
  139. homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
  140. homeassistant-stubs/components/lcn/climate.pyi +5 -6
  141. homeassistant-stubs/components/lcn/const.pyi +0 -4
  142. homeassistant-stubs/components/lcn/cover.pyi +6 -7
  143. homeassistant-stubs/components/lcn/entity.pyi +2 -3
  144. homeassistant-stubs/components/lcn/helpers.pyi +15 -5
  145. homeassistant-stubs/components/lcn/light.pyi +6 -7
  146. homeassistant-stubs/components/lcn/scene.pyi +5 -5
  147. homeassistant-stubs/components/lcn/sensor.pyi +7 -7
  148. homeassistant-stubs/components/lcn/services.pyi +5 -4
  149. homeassistant-stubs/components/lcn/switch.pyi +8 -9
  150. homeassistant-stubs/components/lcn/websocket.pyi +12 -13
  151. homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
  152. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
  153. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
  154. homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
  155. homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
  156. homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
  157. homeassistant-stubs/components/led_ble/light.pyi +3 -4
  158. homeassistant-stubs/components/led_ble/models.pyi +2 -0
  159. homeassistant-stubs/components/lifx/__init__.pyi +4 -5
  160. homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
  161. homeassistant-stubs/components/lifx/button.pyi +3 -4
  162. homeassistant-stubs/components/lifx/const.pyi +3 -1
  163. homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
  164. homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
  165. homeassistant-stubs/components/lifx/light.pyi +3 -4
  166. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  167. homeassistant-stubs/components/lifx/migration.pyi +3 -3
  168. homeassistant-stubs/components/lifx/select.pyi +3 -4
  169. homeassistant-stubs/components/lifx/sensor.pyi +3 -4
  170. homeassistant-stubs/components/lifx/util.pyi +3 -3
  171. homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
  172. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
  173. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
  174. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
  175. homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
  176. homeassistant-stubs/components/lookin/__init__.pyi +4 -5
  177. homeassistant-stubs/components/lookin/climate.pyi +3 -4
  178. homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
  179. homeassistant-stubs/components/lookin/light.pyi +3 -4
  180. homeassistant-stubs/components/lookin/media_player.pyi +3 -4
  181. homeassistant-stubs/components/lookin/models.pyi +2 -0
  182. homeassistant-stubs/components/lookin/sensor.pyi +2 -4
  183. homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
  184. homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
  185. homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
  186. homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
  187. homeassistant-stubs/components/matrix/__init__.pyi +2 -7
  188. homeassistant-stubs/components/matrix/const.pyi +3 -0
  189. homeassistant-stubs/components/matrix/services.pyi +12 -0
  190. homeassistant-stubs/components/matter/sensor.pyi +7 -2
  191. homeassistant-stubs/components/matter/vacuum.pyi +5 -5
  192. homeassistant-stubs/components/mealie/__init__.pyi +1 -1
  193. homeassistant-stubs/components/mealie/services.pyi +9 -3
  194. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  195. homeassistant-stubs/components/media_player/intent.pyi +1 -1
  196. homeassistant-stubs/components/media_source/local_source.pyi +2 -0
  197. homeassistant-stubs/components/miele/const.pyi +24 -0
  198. homeassistant-stubs/components/miele/sensor.pyi +1 -2
  199. homeassistant-stubs/components/mqtt/config_flow.pyi +4 -1
  200. homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
  201. homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
  202. homeassistant-stubs/components/music_assistant/button.pyi +15 -0
  203. homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
  204. homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
  205. homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
  206. homeassistant-stubs/components/nextdns/button.pyi +2 -9
  207. homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
  208. homeassistant-stubs/components/nextdns/entity.pyi +14 -0
  209. homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
  210. homeassistant-stubs/components/nextdns/switch.pyi +3 -6
  211. homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
  212. homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
  213. homeassistant-stubs/components/nordpool/services.pyi +2 -1
  214. homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
  215. homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
  216. homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
  217. homeassistant-stubs/components/ntfy/notify.pyi +1 -1
  218. homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
  219. homeassistant-stubs/components/ohme/services.pyi +2 -1
  220. homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
  221. homeassistant-stubs/components/onedrive/services.pyi +3 -2
  222. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
  223. homeassistant-stubs/components/onewire/const.pyi +0 -1
  224. homeassistant-stubs/components/onewire/entity.pyi +2 -3
  225. homeassistant-stubs/components/onewire/switch.pyi +3 -2
  226. homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
  227. homeassistant-stubs/components/onkyo/services.pyi +3 -2
  228. homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
  229. homeassistant-stubs/components/openai_conversation/config_flow.pyi +18 -14
  230. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  231. homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
  232. homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
  233. homeassistant-stubs/components/overseerr/services.pyi +6 -4
  234. homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
  235. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
  236. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
  237. homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
  238. homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
  239. homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
  240. homeassistant-stubs/components/plugwise/climate.pyi +0 -1
  241. homeassistant-stubs/components/qbus/climate.pyi +3 -2
  242. homeassistant-stubs/components/qbus/cover.pyi +39 -0
  243. homeassistant-stubs/components/qbus/entity.pyi +7 -3
  244. homeassistant-stubs/components/qbus/light.pyi +4 -3
  245. homeassistant-stubs/components/qbus/scene.pyi +2 -2
  246. homeassistant-stubs/components/qbus/switch.pyi +3 -2
  247. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  248. homeassistant-stubs/components/recorder/services.pyi +7 -12
  249. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  250. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  251. homeassistant-stubs/components/reolink/const.pyi +1 -0
  252. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  253. homeassistant-stubs/components/reolink/host.pyi +1 -1
  254. homeassistant-stubs/components/reolink/services.pyi +2 -0
  255. homeassistant-stubs/components/rest/data.pyi +7 -6
  256. homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
  257. homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
  258. homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
  259. homeassistant-stubs/components/russound_rio/number.pyi +30 -0
  260. homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
  261. homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
  262. homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
  263. homeassistant-stubs/components/squeezebox/button.pyi +0 -2
  264. homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
  265. homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
  266. homeassistant-stubs/components/sun/__init__.pyi +1 -0
  267. homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
  268. homeassistant-stubs/components/sun/condition.pyi +13 -3
  269. homeassistant-stubs/components/sun/sensor.pyi +2 -0
  270. homeassistant-stubs/components/switch/light.pyi +1 -0
  271. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
  272. homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
  273. homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
  274. homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
  275. homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
  276. homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
  277. homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
  278. homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
  279. homeassistant-stubs/components/telegram_bot/const.pyi +93 -0
  280. homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
  281. homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
  282. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  283. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
  284. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  285. homeassistant-stubs/components/tts/entity.pyi +1 -2
  286. homeassistant-stubs/components/unifi/button.pyi +5 -5
  287. homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
  288. homeassistant-stubs/components/unifi/entity.pyi +5 -8
  289. homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
  290. homeassistant-stubs/components/unifi/image.pyi +5 -5
  291. homeassistant-stubs/components/unifi/sensor.pyi +5 -5
  292. homeassistant-stubs/components/unifi/switch.pyi +7 -7
  293. homeassistant-stubs/components/unifi/update.pyi +3 -5
  294. homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
  295. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  296. homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
  297. homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
  298. homeassistant-stubs/components/wiz/__init__.pyi +3 -3
  299. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  300. homeassistant-stubs/components/zwave_js/api.pyi +2 -2
  301. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  302. homeassistant-stubs/components/zwave_js/services.pyi +2 -0
  303. homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
  304. homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
  305. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
  306. homeassistant-stubs/config_entries.pyi +2 -0
  307. homeassistant-stubs/const.pyi +1 -0
  308. homeassistant-stubs/helpers/condition.pyi +11 -3
  309. homeassistant-stubs/helpers/device_registry.pyi +5 -1
  310. homeassistant-stubs/helpers/entity.pyi +1 -4
  311. homeassistant-stubs/helpers/entity_registry.pyi +11 -1
  312. homeassistant-stubs/helpers/llm.pyi +0 -1
  313. homeassistant-stubs/helpers/selector.pyi +24 -4
  314. homeassistant-stubs/helpers/system_info.pyi +2 -0
  315. homeassistant-stubs/helpers/template.pyi +2 -1
  316. homeassistant-stubs/helpers/trigger.pyi +33 -2
  317. homeassistant-stubs/loader.pyi +3 -1
  318. homeassistant-stubs/util/timeout.pyi +6 -3
  319. homeassistant-stubs/util/yaml/loader.pyi +3 -1
  320. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/METADATA +2 -2
  321. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/RECORD +323 -286
  322. homeassistant-stubs/backports/enum.pyi +0 -7
  323. homeassistant-stubs/backports/functools.pyi +0 -7
  324. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
  325. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/WHEEL +0 -0
  326. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN, UPLOAD_SCOPE as UPLOAD_SCOPE
2
2
  from .coordinator import GooglePhotosConfigEntry as GooglePhotosConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import CONF_FILENAME as CONF_FILENAME
5
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
6
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
7
7
 
8
8
  CONF_CONFIG_ENTRY_ID: str
@@ -12,4 +12,6 @@ UPLOAD_SERVICE_SCHEMA: Incomplete
12
12
  CONTENT_SIZE_LIMIT: Incomplete
13
13
 
14
14
  def _read_file_contents(hass: HomeAssistant, filenames: list[str]) -> list[tuple[str, bytes]]: ...
15
- def async_register_services(hass: HomeAssistant) -> None: ...
15
+ async def _async_handle_upload(call: ServiceCall) -> ServiceResponse: ...
16
+ @callback
17
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,20 +1,17 @@
1
1
  from .const import DEFAULT_ACCESS as DEFAULT_ACCESS, DOMAIN as DOMAIN
2
+ from .services import async_setup_services as async_setup_services
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
5
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
5
+ from homeassistant.const import CONF_TOKEN as CONF_TOKEN
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
8
  from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
8
- from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
9
+ from homeassistant.helpers.typing import ConfigType as ConfigType
9
10
 
11
+ CONFIG_SCHEMA: Incomplete
10
12
  type GoogleSheetsConfigEntry = ConfigEntry[OAuth2Session]
11
- DATA: str
12
- DATA_CONFIG_ENTRY: str
13
- WORKSHEET: str
14
- SERVICE_APPEND_SHEET: str
15
- SHEET_SERVICE_SCHEMA: Incomplete
16
13
 
14
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
15
  async def async_setup_entry(hass: HomeAssistant, entry: GoogleSheetsConfigEntry) -> bool: ...
18
16
  def async_entry_has_scopes(hass: HomeAssistant, entry: GoogleSheetsConfigEntry) -> bool: ...
19
17
  async def async_unload_entry(hass: HomeAssistant, entry: GoogleSheetsConfigEntry) -> bool: ...
20
- async def async_setup_service(hass: HomeAssistant) -> None: ...
@@ -0,0 +1,18 @@
1
+ from . import GoogleSheetsConfigEntry as GoogleSheetsConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
+ from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
8
+
9
+ DATA: str
10
+ DATA_CONFIG_ENTRY: str
11
+ WORKSHEET: str
12
+ SERVICE_APPEND_SHEET: str
13
+ SHEET_SERVICE_SCHEMA: Incomplete
14
+
15
+ def _append_to_sheet(call: ServiceCall, entry: GoogleSheetsConfigEntry) -> None: ...
16
+ async def _async_append_to_sheet(call: ServiceCall) -> None: ...
17
+ @callback
18
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_IGNORE_NON_NUMERIC as CONF_IGNORE_NON_NUMERIC
1
+ from .const import CONF_IGNORE_NON_NUMERIC as CONF_IGNORE_NON_NUMERIC, DOMAIN as DOMAIN
2
2
  from .entity import GroupEntity as GroupEntity
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
@@ -5,7 +5,7 @@ from habiticalib import TaskData as TaskData
5
5
  from homeassistant.components.todo import ATTR_RENAME as ATTR_RENAME
6
6
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
7
7
  from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_NAME as ATTR_NAME
8
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
10
  from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
11
11
 
@@ -25,4 +25,11 @@ ITEMID_MAP: Incomplete
25
25
  SERVICE_TASK_TYPE_MAP: Incomplete
26
26
 
27
27
  def get_config_entry(hass: HomeAssistant, entry_id: str) -> HabiticaConfigEntry: ...
28
+ async def _cast_skill(call: ServiceCall) -> ServiceResponse: ...
29
+ async def _manage_quests(call: ServiceCall) -> ServiceResponse: ...
30
+ async def _score_task(call: ServiceCall) -> ServiceResponse: ...
31
+ async def _transformation(call: ServiceCall) -> ServiceResponse: ...
32
+ async def _get_tasks(call: ServiceCall) -> ServiceResponse: ...
33
+ async def _create_or_update_task(call: ServiceCall) -> ServiceResponse: ...
34
+ @callback
28
35
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from dataclasses import dataclass
2
2
  from datetime import datetime
3
+ from here_routing import RoutingMode as RoutingMode
3
4
  from typing import TypedDict
4
5
 
5
6
  class HERETravelTimeData(TypedDict):
@@ -17,6 +18,6 @@ class HERETravelTimeAPIParams:
17
18
  destination: list[str]
18
19
  origin: list[str]
19
20
  travel_mode: str
20
- route_mode: str
21
+ route_mode: RoutingMode
21
22
  arrival: datetime | None
22
23
  departure: datetime | None
@@ -1,9 +1,11 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
3
+ from aiohomeconnect.model import GetSetting as GetSetting, Status as Status
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
4
5
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
5
6
  from typing import Any
6
7
 
8
+ def _serialize_item(item: Status | GetSetting) -> dict[str, Any]: ...
7
9
  async def _generate_appliance_diagnostics(appliance: HomeConnectApplianceData) -> dict[str, Any]: ...
8
10
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: HomeConnectConfigEntry) -> dict[str, Any]: ...
9
11
  async def async_get_device_diagnostics(hass: HomeAssistant, entry: HomeConnectConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
@@ -5,8 +5,8 @@ from collections.abc import Callable as Callable, Coroutine
5
5
  from homeassistant import core_config as core_config
6
6
  from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
7
7
  from homeassistant.components import persistent_notification as persistent_notification
8
- from homeassistant.const import ATTR_ELEVATION as ATTR_ELEVATION, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, RESTART_EXIT_CODE as RESTART_EXIT_CODE, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_SAVE_PERSISTENT_STATES as SERVICE_SAVE_PERSISTENT_STATES, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
9
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, callback as callback, split_entity_id as split_entity_id
8
+ from homeassistant.const import ATTR_ELEVATION as ATTR_ELEVATION, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, RESTART_EXIT_CODE as RESTART_EXIT_CODE, SERVICE_RELOAD as SERVICE_RELOAD, SERVICE_SAVE_PERSISTENT_STATES as SERVICE_SAVE_PERSISTENT_STATES, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
9
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, callback as callback, split_entity_id as split_entity_id
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
11
11
  from homeassistant.helpers import recorder as recorder, restore_state as restore_state
12
12
  from homeassistant.helpers.entity_component import async_update_entity as async_update_entity
@@ -35,7 +35,6 @@ SHUTDOWN_SERVICES: Incomplete
35
35
  DEPRECATION_URL: str
36
36
 
37
37
  def _is_32_bit() -> bool: ...
38
- async def _get_arch() -> str: ...
39
38
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
40
39
  async def _async_stop(hass: HomeAssistant, restart: bool) -> None: ...
41
40
  @callback
@@ -1,14 +1,14 @@
1
1
  import abc
2
2
  import asyncio
3
- from . import silabs_multiprotocol_addon as silabs_multiprotocol_addon
4
3
  from .const import OTBR_DOMAIN as OTBR_DOMAIN, ZHA_DOMAIN as ZHA_DOMAIN
5
- from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, get_otbr_addon_manager as get_otbr_addon_manager, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
4
+ from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, OwningAddon as OwningAddon, OwningIntegration as OwningIntegration, async_flash_silabs_firmware as async_flash_silabs_firmware, get_otbr_addon_manager as get_otbr_addon_manager, guess_firmware_info as guess_firmware_info, guess_hardware_owners as guess_hardware_owners, probe_silabs_firmware_info as probe_silabs_firmware_info
6
5
  from _typeshed import Incomplete
7
6
  from abc import ABC, abstractmethod
8
7
  from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState
9
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
10
9
  from homeassistant.core import callback as callback
11
10
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
11
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
12
  from homeassistant.helpers.hassio import is_hassio as is_hassio
13
13
  from typing import Any
14
14
 
@@ -25,20 +25,20 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
25
25
  addon_install_task: asyncio.Task | None
26
26
  addon_start_task: asyncio.Task | None
27
27
  addon_uninstall_task: asyncio.Task | None
28
+ firmware_install_task: asyncio.Task | None
28
29
  def __init__(self, *args: Any, **kwargs: Any) -> None: ...
29
30
  def _get_translation_placeholders(self) -> dict[str, str]: ...
30
- async def _async_set_addon_config(self, config: dict, addon_manager: AddonManager) -> None: ...
31
31
  async def _async_get_addon_info(self, addon_manager: AddonManager) -> AddonInfo: ...
32
32
  async def async_step_pick_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
33
  async def _probe_firmware_info(self, probe_methods: tuple[ApplicationType, ...] = ...) -> bool: ...
34
+ async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
34
35
  async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
- async def async_step_install_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
36
- async def _install_addon(self, addon_manager: silabs_multiprotocol_addon.WaitingAddonManager, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
36
+ async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
37
  async def async_step_addon_operation_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
- async def async_step_run_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
- async def async_step_uninstall_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
38
  async def async_step_confirm_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
+ async def _ensure_thread_addon_setup(self) -> ConfigFlowResult | None: ...
41
40
  async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
41
+ async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
42
  async def async_step_install_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
43
43
  async def async_step_start_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
44
  async def async_step_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,15 +1,13 @@
1
1
  from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
2
2
  from .helpers import async_register_firmware_info_callback as async_register_firmware_info_callback
3
- from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, guess_firmware_info as guess_firmware_info, probe_silabs_firmware_info as probe_silabs_firmware_info
3
+ from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, async_flash_silabs_firmware as async_flash_silabs_firmware
4
4
  from _typeshed import Incomplete
5
- from collections.abc import AsyncIterator, Callable
6
- from contextlib import asynccontextmanager
5
+ from collections.abc import Callable
7
6
  from dataclasses import dataclass
8
7
  from ha_silabs_firmware_client import FirmwareManifest, FirmwareMetadata as FirmwareMetadata
9
8
  from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
10
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
10
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, callback as callback
12
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
11
  from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData
14
12
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
15
13
  from typing import Any
@@ -62,7 +60,5 @@ class BaseFirmwareUpdateEntity(CoordinatorEntity[FirmwareUpdateCoordinator], Upd
62
60
  def _handle_coordinator_update(self) -> None: ...
63
61
  _attr_update_percentage: Incomplete
64
62
  def _update_progress(self, offset: int, total_size: int) -> None: ...
65
- @asynccontextmanager
66
- async def _temporarily_stop_hardware_owners(self, device: str) -> AsyncIterator[None]: ...
67
63
  _attr_in_progress: bool
68
64
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -2,13 +2,14 @@ from . import DATA_COMPONENT as DATA_COMPONENT
2
2
  from .const import OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
3
3
  from .silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
4
4
  from _typeshed import Incomplete
5
- from collections.abc import AsyncIterator, Iterable
5
+ from collections.abc import AsyncIterator, Callable as Callable, Iterable
6
6
  from contextlib import asynccontextmanager
7
7
  from dataclasses import dataclass
8
8
  from enum import StrEnum
9
9
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
10
10
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
13
  from homeassistant.helpers.hassio import is_hassio as is_hassio
13
14
  from homeassistant.helpers.singleton import singleton as singleton
14
15
  from universal_silabs_flasher.const import ApplicationType as FlasherApplicationType
@@ -59,3 +60,4 @@ async def guess_hardware_owners(hass: HomeAssistant, device_path: str) -> list[F
59
60
  async def guess_firmware_info(hass: HomeAssistant, device_path: str) -> FirmwareInfo: ...
60
61
  async def probe_silabs_firmware_info(device: str, *, probe_methods: Iterable[ApplicationType] | None = None) -> FirmwareInfo | None: ...
61
62
  async def probe_silabs_firmware_type(device: str, *, probe_methods: Iterable[ApplicationType] | None = None) -> ApplicationType | None: ...
63
+ async def async_flash_silabs_firmware(hass: HomeAssistant, device: str, fw_data: bytes, expected_installed_firmware_type: ApplicationType, bootloader_reset_type: str | None = None, progress_callback: Callable[[int, int], None] | None = None) -> FirmwareInfo: ...
@@ -1,4 +1,5 @@
1
- from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
1
+ import abc
2
+ from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, MANUFACTURER as MANUFACTURER, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
2
3
  from .util import get_hardware_variant as get_hardware_variant, get_usb_service_info as get_usb_service_info
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components import usb as usb
@@ -11,14 +12,17 @@ from typing import Any, Protocol
11
12
 
12
13
  _LOGGER: Incomplete
13
14
 
14
- class TranslationPlaceholderProtocol(Protocol):
15
+ class FirmwareInstallFlowProtocol(Protocol):
15
16
  def _get_translation_placeholders(self) -> dict[str, str]: ...
17
+ async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
16
18
 
17
- class SkyConnectTranslationMixin(ConfigEntryBaseFlow, TranslationPlaceholderProtocol):
19
+ class SkyConnectFirmwareMixin(ConfigEntryBaseFlow, FirmwareInstallFlowProtocol, metaclass=abc.ABCMeta):
18
20
  context: ConfigFlowContext
19
21
  def _get_translation_placeholders(self) -> dict[str, str]: ...
22
+ async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
24
 
21
- class HomeAssistantSkyConnectConfigFlow(SkyConnectTranslationMixin, firmware_config_flow.BaseFirmwareConfigFlow, domain=DOMAIN):
25
+ class HomeAssistantSkyConnectConfigFlow(SkyConnectFirmwareMixin, firmware_config_flow.BaseFirmwareConfigFlow, domain=DOMAIN):
22
26
  VERSION: int
23
27
  MINOR_VERSION: int
24
28
  _usb_info: UsbServiceInfo | None
@@ -41,7 +45,7 @@ class HomeAssistantSkyConnectMultiPanOptionsFlowHandler(silabs_multiprotocol_add
41
45
  def _hardware_name(self) -> str: ...
42
46
  async def async_step_flashing_complete(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
43
47
 
44
- class HomeAssistantSkyConnectOptionsFlowHandler(SkyConnectTranslationMixin, firmware_config_flow.BaseFirmwareOptionsFlow):
48
+ class HomeAssistantSkyConnectOptionsFlowHandler(SkyConnectFirmwareMixin, firmware_config_flow.BaseFirmwareOptionsFlow):
45
49
  _usb_info: Incomplete
46
50
  _hw_variant: Incomplete
47
51
  _hardware_name: Incomplete
@@ -1,5 +1,5 @@
1
1
  import abc
2
- from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
3
3
  from .hardware import BOARD_NAME as BOARD_NAME
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC, abstractmethod
@@ -7,15 +7,22 @@ from homeassistant.components.hassio import HassioAPIError as HassioAPIError, as
7
7
  from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
8
8
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
9
9
  from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
10
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, callback as callback
12
12
  from homeassistant.helpers import discovery_flow as discovery_flow, selector as selector
13
- from typing import Any, final
13
+ from typing import Any, Protocol, final
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  STEP_HW_SETTINGS_SCHEMA: Incomplete
17
17
 
18
- class HomeAssistantYellowConfigFlow(BaseFirmwareConfigFlow, domain=DOMAIN):
18
+ class FirmwareInstallFlowProtocol(Protocol):
19
+ async def _install_firmware_step(self, fw_update_url: str, fw_type: str, firmware_name: str, expected_installed_firmware_type: ApplicationType, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
20
+
21
+ class YellowFirmwareMixin(ConfigEntryBaseFlow, FirmwareInstallFlowProtocol, metaclass=abc.ABCMeta):
22
+ async def async_step_install_zigbee_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_install_thread_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+
25
+ class HomeAssistantYellowConfigFlow(YellowFirmwareMixin, BaseFirmwareConfigFlow, domain=DOMAIN):
19
26
  VERSION: int
20
27
  MINOR_VERSION: int
21
28
  _device: Incomplete
@@ -50,7 +57,7 @@ class HomeAssistantYellowMultiPanOptionsFlowHandler(BaseHomeAssistantYellowOptio
50
57
  def _hardware_name(self) -> str: ...
51
58
  async def async_step_flashing_complete(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
52
59
 
53
- class HomeAssistantYellowOptionsFlowHandler(BaseHomeAssistantYellowOptionsFlow, BaseFirmwareOptionsFlow):
60
+ class HomeAssistantYellowOptionsFlowHandler(YellowFirmwareMixin, BaseHomeAssistantYellowOptionsFlow, BaseFirmwareOptionsFlow):
54
61
  _hardware_name: Incomplete
55
62
  _device: Incomplete
56
63
  _probed_firmware_info: Incomplete
@@ -12,3 +12,4 @@ class HomeeConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
13
  homee: Homee
14
14
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,12 @@
1
+ from . import DOMAIN as DOMAIN, HomeeConfigEntry as HomeeConfigEntry
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, CONF_USERNAME as CONF_USERNAME
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
7
+ from typing import Any
8
+
9
+ TO_REDACT: Incomplete
10
+
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: HomeeConfigEntry) -> dict[str, Any]: ...
12
+ async def async_get_device_diagnostics(hass: HomeAssistant, entry: HomeeConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
@@ -14,6 +14,7 @@ class HomeeEntity(Entity):
14
14
  _attr_unique_id: Incomplete
15
15
  _entry: Incomplete
16
16
  _attr_device_info: Incomplete
17
+ _attr_name: Incomplete
17
18
  _host_connected: Incomplete
18
19
  def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry) -> None: ...
19
20
  async def async_added_to_hass(self) -> None: ...
@@ -22,7 +23,7 @@ class HomeeEntity(Entity):
22
23
  async def async_set_homee_value(self, value: float) -> None: ...
23
24
  async def async_update(self) -> None: ...
24
25
  def _on_node_updated(self, attribute: HomeeAttribute) -> None: ...
25
- def _on_connection_changed(self, connected: bool) -> None: ...
26
+ async def _on_connection_changed(self, connected: bool) -> None: ...
26
27
 
27
28
  class HomeeNodeEntity(Entity):
28
29
  _attr_has_entity_name: bool
@@ -40,4 +41,4 @@ class HomeeNodeEntity(Entity):
40
41
  def _get_software_version(self) -> str | None: ...
41
42
  async def async_set_homee_value(self, attribute: HomeeAttribute, value: float) -> None: ...
42
43
  def _on_node_updated(self, node: HomeeNode) -> None: ...
43
- def _on_connection_changed(self, connected: bool) -> None: ...
44
+ async def _on_connection_changed(self, connected: bool) -> None: ...
@@ -1,19 +1,23 @@
1
1
  from . import HomeeConfigEntry as HomeeConfigEntry
2
2
  from .entity import HomeeEntity as HomeeEntity
3
3
  from _typeshed import Incomplete
4
- from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
4
+ from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from pyHomee.const import AttributeType
7
8
  from pyHomee.model import HomeeAttribute as HomeeAttribute
8
9
 
9
10
  PARALLEL_UPDATES: int
11
+ REMOTE_PROFILES: Incomplete
12
+ EVENT_DESCRIPTIONS: dict[AttributeType, EventEntityDescription]
10
13
 
11
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
15
 
13
16
  class HomeeEvent(HomeeEntity, EventEntity):
14
- _attr_translation_key: str
15
- _attr_event_types: Incomplete
16
- _attr_device_class: Incomplete
17
+ entity_description: Incomplete
18
+ _attr_translation_key: Incomplete
19
+ _attr_translation_placeholders: Incomplete
20
+ def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: EventEntityDescription) -> None: ...
17
21
  async def async_added_to_hass(self) -> None: ...
18
22
  @callback
19
23
  def _event_triggered(self, event: HomeeAttribute) -> None: ...
@@ -0,0 +1,19 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .entity import HomeeEntity as HomeeEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.siren import SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from typing import Any
8
+
9
+ PARALLEL_UPDATES: int
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
12
+
13
+ class HomeeSiren(HomeeEntity, SirenEntity):
14
+ _attr_name: Incomplete
15
+ _attr_supported_features: Incomplete
16
+ @property
17
+ def is_on(self) -> bool: ...
18
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
19
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,35 @@
1
+ from .coordinator import HWEnergyDeviceUpdateCoordinator as HWEnergyDeviceUpdateCoordinator, HomeWizardConfigEntry as HomeWizardConfigEntry
2
+ from .entity import HomeWizardEntity as HomeWizardEntity
3
+ from .helpers import homewizard_exception_handler as homewizard_exception_handler
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Awaitable, Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homewizard_energy import HomeWizardEnergy as HomeWizardEnergy
12
+ from homewizard_energy.models import CombinedModels as DeviceResponseEntry
13
+ from typing import Any
14
+
15
+ PARALLEL_UPDATES: int
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class HomeWizardSelectEntityDescription(SelectEntityDescription):
19
+ available_fn: Callable[[DeviceResponseEntry], bool]
20
+ create_fn: Callable[[DeviceResponseEntry], bool]
21
+ current_fn: Callable[[DeviceResponseEntry], str | None]
22
+ set_fn: Callable[[HomeWizardEnergy, str], Awaitable[Any]]
23
+
24
+ DESCRIPTIONS: Incomplete
25
+
26
+ async def async_setup_entry(hass: HomeAssistant, entry: HomeWizardConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
27
+
28
+ class HomeWizardSelectEntity(HomeWizardEntity, SelectEntity):
29
+ entity_description: HomeWizardSelectEntityDescription
30
+ _attr_unique_id: Incomplete
31
+ def __init__(self, coordinator: HWEnergyDeviceUpdateCoordinator, description: HomeWizardSelectEntityDescription) -> None: ...
32
+ @property
33
+ def current_option(self) -> str | None: ...
34
+ @homewizard_exception_handler
35
+ async def async_select_option(self, option: str) -> None: ...
@@ -90,6 +90,8 @@ class ImageView(HomeAssistantView):
90
90
  url: str
91
91
  component: Incomplete
92
92
  def __init__(self, component: EntityComponent[ImageEntity]) -> None: ...
93
+ async def _authenticate_request(self, request: web.Request, entity_id: str) -> ImageEntity: ...
94
+ async def head(self, request: web.Request, entity_id: str) -> web.Response: ...
93
95
  async def get(self, request: web.Request, entity_id: str) -> web.StreamResponse: ...
94
96
  async def handle(self, request: web.Request, image_entity: ImageEntity) -> web.StreamResponse: ...
95
97
 
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from aioimmich import Immich as Immich
4
- from aioimmich.server.models import ImmichServerAbout as ImmichServerAbout, ImmichServerStatistics as ImmichServerStatistics, ImmichServerStorage as ImmichServerStorage
4
+ from aioimmich.server.models import ImmichServerAbout as ImmichServerAbout, ImmichServerStatistics as ImmichServerStatistics, ImmichServerStorage as ImmichServerStorage, ImmichServerVersionCheck as ImmichServerVersionCheck
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL
@@ -16,6 +16,7 @@ class ImmichData:
16
16
  server_about: ImmichServerAbout
17
17
  server_storage: ImmichServerStorage
18
18
  server_usage: ImmichServerStatistics | None
19
+ server_version_check: ImmichServerVersionCheck | None
19
20
  type ImmichConfigEntry = ConfigEntry[ImmichDataUpdateCoordinator]
20
21
 
21
22
  class ImmichDataUpdateCoordinator(DataUpdateCoordinator[ImmichData]):
@@ -0,0 +1,21 @@
1
+ from .coordinator import ImmichConfigEntry as ImmichConfigEntry, ImmichDataUpdateCoordinator as ImmichDataUpdateCoordinator
2
+ from .entity import ImmichEntity as ImmichEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.update import UpdateEntity as UpdateEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+
8
+ PARALLEL_UPDATES: int
9
+
10
+ async def async_setup_entry(hass: HomeAssistant, entry: ImmichConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
+
12
+ class ImmichUpdateEntity(ImmichEntity, UpdateEntity):
13
+ _attr_translation_key: str
14
+ _attr_unique_id: Incomplete
15
+ def __init__(self, coordinator: ImmichDataUpdateCoordinator) -> None: ...
16
+ @property
17
+ def installed_version(self) -> str: ...
18
+ @property
19
+ def latest_version(self) -> str: ...
20
+ @property
21
+ def release_url(self) -> str | None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_IGNORE_STRING as CONF_IGNORE_STRING, CONF_NETWORK as CONF_NETWORK, CONF_SENSOR_STRING as CONF_SENSOR_STRING, CONF_TLS_VER as CONF_TLS_VER, DEFAULT_IGNORE_STRING as DEFAULT_IGNORE_STRING, DEFAULT_SENSOR_STRING as DEFAULT_SENSOR_STRING, DOMAIN as DOMAIN, ISY_CONF_FIRMWARE as ISY_CONF_FIRMWARE, ISY_CONF_MODEL as ISY_CONF_MODEL, ISY_CONF_NAME as ISY_CONF_NAME, MANUFACTURER as MANUFACTURER, PLATFORMS as PLATFORMS, SCHEME_HTTP as SCHEME_HTTP, SCHEME_HTTPS as SCHEME_HTTPS, _LOGGER as _LOGGER
2
2
  from .helpers import _categorize_nodes as _categorize_nodes, _categorize_programs as _categorize_programs
3
3
  from .models import IsyConfigEntry as IsyConfigEntry, IsyData as IsyData
4
- from .services import async_setup_services as async_setup_services, async_unload_services as async_unload_services
4
+ from .services import async_setup_services as async_setup_services
5
5
  from .util import _async_cleanup_registry_entries as _async_cleanup_registry_entries
6
6
  from _typeshed import Incomplete
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, CONF_VARIABLES as CONF_VARIABLES, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
@@ -9,10 +9,12 @@ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, c
9
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
10
10
  from homeassistant.helpers import aiohttp_client as aiohttp_client, device_registry as dr
11
11
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType
12
13
  from pyisy import ISY
13
14
 
14
15
  CONFIG_SCHEMA: Incomplete
15
16
 
17
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
16
18
  async def async_setup_entry(hass: HomeAssistant, entry: IsyConfigEntry) -> bool: ...
17
19
  async def _async_update_listener(hass: HomeAssistant, entry: IsyConfigEntry) -> None: ...
18
20
  @callback
@@ -44,5 +44,3 @@ SERVICE_SEND_PROGRAM_COMMAND_SCHEMA: Incomplete
44
44
  def async_get_entities(hass: HomeAssistant) -> dict[str, Entity]: ...
45
45
  @callback
46
46
  def async_setup_services(hass: HomeAssistant) -> None: ...
47
- @callback
48
- def async_unload_services(hass: HomeAssistant) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DEFAULT_CANDLE_LIGHT as DEFAULT_CANDLE_LIGHT, DEFAULT_DIASPORA as DEFAULT_DIASPORA, DEFAULT_HAVDALAH_OFFSET_MINUTES as DEFAULT_HAVDALAH_OFFSET_MINUTES, DEFAULT_LANGUAGE as DEFAULT_LANGUAGE, DOMAIN as DOMAIN
2
2
  from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarData as JewishCalendarData
3
- from .service import async_setup_services as async_setup_services
3
+ from .services import async_setup_services as async_setup_services
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_TIME_ZONE as CONF_TIME_ZONE, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -1,7 +1,7 @@
1
1
  from .const import ATTR_AFTER_SUNSET as ATTR_AFTER_SUNSET, ATTR_DATE as ATTR_DATE, ATTR_NUSACH as ATTR_NUSACH, DOMAIN as DOMAIN, SERVICE_COUNT_OMER as SERVICE_COUNT_OMER
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_LANGUAGE as CONF_LANGUAGE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
4
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
5
5
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
6
  from homeassistant.helpers.selector import LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig
7
7
  from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
@@ -9,4 +9,5 @@ from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_
9
9
  _LOGGER: Incomplete
10
10
  OMER_SCHEMA: Incomplete
11
11
 
12
+ @callback
12
13
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,16 +1,16 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from _typeshed import Incomplete
3
2
  from dataclasses import dataclass
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
6
5
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
7
+ from kaleidescape import Device as KaleidescapeDevice
8
8
 
9
- _LOGGER: Incomplete
10
9
  PLATFORMS: Incomplete
10
+ type KaleidescapeConfigEntry = ConfigEntry[KaleidescapeDevice]
11
11
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
+ async def async_setup_entry(hass: HomeAssistant, entry: KaleidescapeConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: KaleidescapeConfigEntry) -> bool: ...
14
14
 
15
15
  @dataclass
16
16
  class KaleidescapeDeviceInfo:
@@ -1,9 +1,8 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from . import KaleidescapeConfigEntry as KaleidescapeConfigEntry
2
2
  from .entity import KaleidescapeEntity as KaleidescapeEntity
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime
5
5
  from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
8
  from homeassistant.util.dt import utcnow as utcnow
@@ -12,7 +11,7 @@ KALEIDESCAPE_PLAYING_STATES: Incomplete
12
11
  KALEIDESCAPE_PAUSED_STATES: Incomplete
13
12
  _LOGGER: Incomplete
14
13
 
15
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: KaleidescapeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
15
 
17
16
  class KaleidescapeMediaPlayer(KaleidescapeEntity, MediaPlayerEntity):
18
17
  _attr_supported_features: Incomplete
@@ -1,15 +1,14 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from . import KaleidescapeConfigEntry as KaleidescapeConfigEntry
2
2
  from .entity import KaleidescapeEntity as KaleidescapeEntity
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Iterable
5
5
  from homeassistant.components.remote import RemoteEntity as RemoteEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
9
  from typing import Any
11
10
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: KaleidescapeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
12
 
14
13
  VALID_COMMANDS: Incomplete
15
14