homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.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 (391) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
  4. homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
  8. homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
  9. homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
  10. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  11. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  12. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  13. homeassistant-stubs/components/axis/entity.pyi +1 -0
  14. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  15. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  16. homeassistant-stubs/components/backup/entity.pyi +5 -2
  17. homeassistant-stubs/components/backup/event.pyi +23 -0
  18. homeassistant-stubs/components/backup/manager.pyi +22 -3
  19. homeassistant-stubs/components/backup/models.pyi +2 -2
  20. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  21. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  22. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  23. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  24. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  25. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  31. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  32. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  33. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  34. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  35. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  36. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  38. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  40. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  41. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  42. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  43. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  44. homeassistant-stubs/components/bring/entity.pyi +3 -3
  45. homeassistant-stubs/components/bring/event.pyi +3 -2
  46. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  47. homeassistant-stubs/components/bring/todo.pyi +1 -0
  48. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  49. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  50. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  51. homeassistant-stubs/components/climate/const.pyi +0 -3
  52. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  53. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  54. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  55. homeassistant-stubs/components/cloud/client.pyi +2 -1
  56. homeassistant-stubs/components/cloud/const.pyi +0 -1
  57. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  58. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  59. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  60. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  61. homeassistant-stubs/components/comelit/const.pyi +3 -0
  62. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  63. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  64. homeassistant-stubs/components/comelit/light.pyi +2 -0
  65. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  66. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  67. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  68. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  69. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  70. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  71. homeassistant-stubs/components/deconz/light.pyi +1 -1
  72. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  73. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  74. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  75. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  76. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  77. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  79. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  80. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  81. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  83. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  86. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  87. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  88. homeassistant-stubs/components/downloader/services.pyi +7 -0
  89. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  90. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  91. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  93. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  96. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  97. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  98. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  99. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  100. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  101. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  102. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  104. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  105. homeassistant-stubs/components/esphome/entity.pyi +1 -0
  106. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  107. homeassistant-stubs/components/esphome/light.pyi +4 -4
  108. homeassistant-stubs/components/esphome/update.pyi +8 -4
  109. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  110. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  111. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  112. homeassistant-stubs/components/fritz/const.pyi +2 -0
  113. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  114. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  115. homeassistant-stubs/components/fyta/image.pyi +18 -4
  116. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  117. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  118. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  119. homeassistant-stubs/components/google/__init__.pyi +7 -8
  120. homeassistant-stubs/components/google/api.pyi +2 -2
  121. homeassistant-stubs/components/google/calendar.pyi +5 -5
  122. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  123. homeassistant-stubs/components/google/const.pyi +0 -2
  124. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  125. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/google/store.pyi +9 -0
  127. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  128. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  129. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  130. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  131. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
  132. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  133. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  134. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  135. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  136. homeassistant-stubs/components/guardian/button.pyi +4 -5
  137. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  138. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  139. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  140. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  141. homeassistant-stubs/components/guardian/services.pyi +28 -0
  142. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  143. homeassistant-stubs/components/guardian/util.pyi +2 -2
  144. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  145. homeassistant-stubs/components/habitica/const.pyi +1 -6
  146. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  148. homeassistant-stubs/components/habitica/services.pyi +2 -4
  149. homeassistant-stubs/components/habitica/util.pyi +2 -0
  150. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  151. homeassistant-stubs/components/hardware/const.pyi +4 -0
  152. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  153. homeassistant-stubs/components/hardware/models.pyi +14 -1
  154. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  155. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  156. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
  157. homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
  158. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  159. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
  160. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  161. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  162. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  163. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  164. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  165. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  166. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  167. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
  168. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  169. homeassistant-stubs/components/homee/const.pyi +2 -0
  170. homeassistant-stubs/components/homee/event.pyi +19 -0
  171. homeassistant-stubs/components/homee/fan.pyi +38 -0
  172. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  173. homeassistant-stubs/components/homekit/const.pyi +1 -0
  174. homeassistant-stubs/components/homekit/util.pyi +1 -1
  175. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  176. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  177. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  178. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  179. homeassistant-stubs/components/http/decorators.pyi +1 -1
  180. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  181. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  182. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  183. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  184. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  185. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  186. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  187. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  188. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  189. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  190. homeassistant-stubs/components/immich/const.pyi +4 -0
  191. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  192. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  193. homeassistant-stubs/components/immich/entity.pyi +10 -0
  194. homeassistant-stubs/components/immich/media_source.pyi +37 -0
  195. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  196. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  197. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  198. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  199. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  200. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  201. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  202. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  203. homeassistant-stubs/components/isy994/button.pyi +2 -3
  204. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  205. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  206. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  207. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  208. homeassistant-stubs/components/isy994/light.pyi +3 -4
  209. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  210. homeassistant-stubs/components/isy994/models.pyi +2 -0
  211. homeassistant-stubs/components/isy994/number.pyi +3 -4
  212. homeassistant-stubs/components/isy994/select.pyi +3 -4
  213. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  214. homeassistant-stubs/components/isy994/services.pyi +1 -1
  215. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  216. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  217. homeassistant-stubs/components/isy994/util.pyi +3 -2
  218. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  219. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  220. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  221. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  222. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  223. homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
  224. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  225. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  226. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  227. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  228. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  229. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  230. homeassistant-stubs/components/knx/const.pyi +7 -0
  231. homeassistant-stubs/components/knx/cover.pyi +20 -9
  232. homeassistant-stubs/components/knx/schema.pyi +1 -6
  233. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  234. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  235. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  236. homeassistant-stubs/components/lcn/const.pyi +3 -1
  237. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  238. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  239. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  240. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  241. homeassistant-stubs/components/lcn/services.pyi +2 -3
  242. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  243. homeassistant-stubs/components/matter/select.pyi +2 -0
  244. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  245. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  246. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  247. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  248. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  249. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  250. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  251. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  252. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  253. homeassistant-stubs/components/miele/api.pyi +9 -0
  254. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  255. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  256. homeassistant-stubs/components/miele/button.pyi +32 -0
  257. homeassistant-stubs/components/miele/climate.pyi +55 -0
  258. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  259. homeassistant-stubs/components/miele/const.pyi +127 -0
  260. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  261. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  262. homeassistant-stubs/components/miele/entity.pyi +24 -0
  263. homeassistant-stubs/components/miele/fan.pyi +39 -0
  264. homeassistant-stubs/components/miele/light.pyi +39 -0
  265. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  266. homeassistant-stubs/components/miele/switch.pyi +52 -0
  267. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  268. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  269. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  270. homeassistant-stubs/components/modbus/const.pyi +9 -0
  271. homeassistant-stubs/components/modbus/light.pyi +24 -1
  272. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  273. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  274. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  275. homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
  276. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  277. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  278. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  279. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  280. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  281. homeassistant-stubs/components/nest/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/number/const.pyi +3 -2
  283. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  284. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  285. homeassistant-stubs/components/pandora/media_player.pyi +12 -13
  286. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  287. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  288. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  289. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  290. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  291. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  292. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  293. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  294. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  295. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  296. homeassistant-stubs/components/qbus/light.pyi +1 -0
  297. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  298. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  299. homeassistant-stubs/components/recorder/services.pyi +7 -1
  300. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  301. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  302. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  303. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  304. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  305. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  306. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  307. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  308. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  309. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  310. homeassistant-stubs/components/sensor/const.pyi +5 -2
  311. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  312. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  313. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  314. homeassistant-stubs/components/shelly/button.pyi +5 -4
  315. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  316. homeassistant-stubs/components/shelly/const.pyi +2 -0
  317. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  318. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  319. homeassistant-stubs/components/shelly/event.pyi +4 -2
  320. homeassistant-stubs/components/shelly/light.pyi +2 -0
  321. homeassistant-stubs/components/shelly/number.pyi +3 -2
  322. homeassistant-stubs/components/shelly/select.pyi +2 -0
  323. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  324. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  325. homeassistant-stubs/components/shelly/text.pyi +2 -0
  326. homeassistant-stubs/components/shelly/update.pyi +1 -0
  327. homeassistant-stubs/components/shelly/utils.pyi +12 -7
  328. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  329. homeassistant-stubs/components/smlight/button.pyi +3 -2
  330. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  331. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  332. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  333. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  334. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  335. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  336. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  337. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  338. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  339. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  340. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  341. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  342. homeassistant-stubs/components/sun/condition.pyi +13 -0
  343. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  344. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  345. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  346. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  347. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  348. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  349. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  350. homeassistant-stubs/components/tts/const.pyi +1 -0
  351. homeassistant-stubs/components/tts/entity.pyi +4 -0
  352. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  353. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  354. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  355. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  356. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  357. homeassistant-stubs/components/unifi/services.pyi +1 -0
  358. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  359. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  360. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  361. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  362. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  363. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  364. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  365. homeassistant-stubs/components/wemo/light.pyi +1 -0
  366. homeassistant-stubs/components/whois/const.pyi +1 -0
  367. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  368. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  369. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
  370. homeassistant-stubs/config_entries.pyi +0 -1
  371. homeassistant-stubs/const.pyi +5 -0
  372. homeassistant-stubs/core_config.pyi +0 -2
  373. homeassistant-stubs/helpers/condition.pyi +1 -6
  374. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  375. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  376. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  377. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  378. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  379. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  380. homeassistant-stubs/helpers/selector.pyi +55 -50
  381. homeassistant-stubs/helpers/service.pyi +3 -3
  382. homeassistant-stubs/helpers/template.pyi +4 -1
  383. homeassistant-stubs/util/aiohttp.pyi +5 -0
  384. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  385. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/METADATA +2 -2
  386. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/RECORD +388 -331
  387. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  388. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  389. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  390. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/WHEEL +0 -0
  391. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -9,6 +9,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from typing import Any
11
11
 
12
+ PARALLEL_UPDATES: int
13
+
12
14
  @dataclass(kw_only=True, frozen=True)
13
15
  class BlockValveDescription(BlockEntityDescription, ValveEntityDescription): ...
14
16
 
@@ -15,7 +15,7 @@ _LOGGER: Incomplete
15
15
 
16
16
  @dataclass(frozen=True, kw_only=True)
17
17
  class SmButtonDescription(ButtonEntityDescription):
18
- press_fn: Callable[[CmdWrapper], Awaitable[None]]
18
+ press_fn: Callable[[CmdWrapper, int], Awaitable[None]]
19
19
 
20
20
  BUTTONS: list[SmButtonDescription]
21
21
  ROUTER: Incomplete
@@ -26,6 +26,7 @@ class SmButton(SmEntity, ButtonEntity):
26
26
  coordinator: SmDataUpdateCoordinator
27
27
  entity_description: SmButtonDescription
28
28
  _attr_entity_category: Incomplete
29
+ idx: Incomplete
29
30
  _attr_unique_id: Incomplete
30
- def __init__(self, coordinator: SmDataUpdateCoordinator, description: SmButtonDescription) -> None: ...
31
+ def __init__(self, coordinator: SmDataUpdateCoordinator, description: SmButtonDescription, idx: int = 0) -> None: ...
31
32
  async def async_press(self) -> None: ...
@@ -5,7 +5,7 @@ from dataclasses import dataclass
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
10
  from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceEntryType as DeviceEntryType, format_mac as format_mac
11
11
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
@@ -7,6 +7,7 @@ from homeassistant.const import EntityCategory as EntityCategory
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
 
10
+ PARALLEL_UPDATES: int
10
11
  SENSORS: tuple[BinarySensorEntityDescription, ...]
11
12
  _LOGGER: Incomplete
12
13
 
@@ -1,4 +1,4 @@
1
- from .const import UNPLAYABLE_TYPES as UNPLAYABLE_TYPES
1
+ from .const import DOMAIN as DOMAIN, UNPLAYABLE_TYPES as UNPLAYABLE_TYPES
2
2
  from _typeshed import Incomplete
3
3
  from dataclasses import dataclass, field
4
4
  from homeassistant.components import media_source as media_source
@@ -11,6 +11,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
 
13
13
  _LOGGER: Incomplete
14
+ PARALLEL_UPDATES: int
14
15
  HARDWARE_MODELS_WITH_SCREEN: Incomplete
15
16
  HARDWARE_MODELS_WITH_TONE: Incomplete
16
17
 
@@ -28,4 +29,6 @@ class SqueezeboxButtonEntity(SqueezeboxEntity, ButtonEntity):
28
29
  entity_description: SqueezeboxButtonEntityDescription
29
30
  _attr_unique_id: Incomplete
30
31
  def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator, entity_description: SqueezeboxButtonEntityDescription) -> None: ...
32
+ @property
33
+ def available(self) -> bool: ...
31
34
  async def async_press(self) -> None: ...
@@ -13,8 +13,6 @@ SERVER_MODEL: str
13
13
  STATUS_API_TIMEOUT: int
14
14
  STATUS_SENSOR_LASTSCAN: str
15
15
  STATUS_SENSOR_NEEDSRESTART: str
16
- STATUS_SENSOR_NEWVERSION: str
17
- STATUS_SENSOR_NEWPLUGINS: str
18
16
  STATUS_SENSOR_RESCAN: str
19
17
  STATUS_SENSOR_INFO_TOTAL_ALBUMS: str
20
18
  STATUS_SENSOR_INFO_TOTAL_ARTISTS: str
@@ -27,6 +25,8 @@ STATUS_QUERY_LIBRARYNAME: str
27
25
  STATUS_QUERY_MAC: str
28
26
  STATUS_QUERY_UUID: str
29
27
  STATUS_QUERY_VERSION: str
28
+ STATUS_UPDATE_NEWVERSION: str
29
+ STATUS_UPDATE_NEWPLUGINS: str
30
30
  SQUEEZEBOX_SOURCE_STRINGS: Incomplete
31
31
  SIGNAL_PLAYER_DISCOVERED: str
32
32
  SIGNAL_PLAYER_REDISCOVERED: str
@@ -39,3 +39,13 @@ DEFAULT_VOLUME_STEP: int
39
39
  ATTR_ANNOUNCE_VOLUME: str
40
40
  ATTR_ANNOUNCE_TIMEOUT: str
41
41
  UNPLAYABLE_TYPES: Incomplete
42
+ ATTR_ALARM_ID: str
43
+ ATTR_DAYS_OF_WEEK: str
44
+ ATTR_ENABLED: str
45
+ ATTR_REPEAT: str
46
+ ATTR_SCHEDULED_TODAY: str
47
+ ATTR_TIME: str
48
+ ATTR_VOLUME: str
49
+ ATTR_URL: str
50
+ UPDATE_PLUGINS_RELEASE_SUMMARY: str
51
+ UPDATE_RELEASE_SUMMARY: str
@@ -1,11 +1,13 @@
1
1
  from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
- from .const import PLAYER_UPDATE_INTERVAL as PLAYER_UPDATE_INTERVAL, SENSOR_UPDATE_INTERVAL as SENSOR_UPDATE_INTERVAL, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_SENSOR_LASTSCAN as STATUS_SENSOR_LASTSCAN, STATUS_SENSOR_NEEDSRESTART as STATUS_SENSOR_NEEDSRESTART, STATUS_SENSOR_RESCAN as STATUS_SENSOR_RESCAN
2
+ from .const import DOMAIN as DOMAIN, PLAYER_UPDATE_INTERVAL as PLAYER_UPDATE_INTERVAL, SENSOR_UPDATE_INTERVAL as SENSOR_UPDATE_INTERVAL, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.device_registry import format_mac as format_mac
6
7
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
7
8
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
9
  from pysqueezebox import Player as Player, Server as Server
10
+ from pysqueezebox.player import Alarm as Alarm
9
11
  from typing import Any
10
12
 
11
13
  _LOGGER: Incomplete
@@ -13,16 +15,18 @@ _LOGGER: Incomplete
13
15
  class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator):
14
16
  config_entry: SqueezeboxConfigEntry
15
17
  lms: Incomplete
16
- newversion_regex: Incomplete
18
+ can_server_restart: bool
17
19
  def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, lms: Server) -> None: ...
20
+ async def _async_setup(self) -> None: ...
18
21
  async def _async_update_data(self) -> dict: ...
19
- def _prepare_status_data(self, data: dict) -> dict: ...
20
22
 
21
23
  class SqueezeBoxPlayerUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
22
24
  config_entry: SqueezeboxConfigEntry
23
25
  player: Incomplete
24
26
  available: bool
27
+ known_alarms: set[str]
25
28
  _remove_dispatcher: Callable | None
29
+ player_uuid: Incomplete
26
30
  server_uuid: Incomplete
27
31
  def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, player: Player, server_uuid: str) -> None: ...
28
32
  async def _async_update_data(self) -> dict[str, Any]: ...
@@ -7,7 +7,7 @@ from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable
8
8
  from datetime import datetime
9
9
  from homeassistant.components import media_source as media_source
10
- from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
10
+ from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
11
11
  from homeassistant.config_entries import SOURCE_INTEGRATION_DISCOVERY as SOURCE_INTEGRATION_DISCOVERY
12
12
  from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -25,6 +25,7 @@ SERVICE_CALL_METHOD: str
25
25
  SERVICE_CALL_QUERY: str
26
26
  ATTR_QUERY_RESULT: str
27
27
  _LOGGER: Incomplete
28
+ PARALLEL_UPDATES: int
28
29
  ATTR_PARAMETERS: str
29
30
  ATTR_OTHER_PLAYER: str
30
31
  ATTR_TO_PROPERTY: Incomplete
@@ -103,6 +104,7 @@ class SqueezeBoxMediaPlayerEntity(SqueezeboxEntity, MediaPlayerEntity):
103
104
  async def async_media_seek(self, position: float) -> None: ...
104
105
  async def async_turn_on(self) -> None: ...
105
106
  async def async_play_media(self, media_type: MediaType | str, media_id: str, announce: bool | None = None, **kwargs: Any) -> None: ...
107
+ async def async_search_media(self, query: SearchMediaQuery) -> SearchMedia: ...
106
108
  async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
107
109
  async def async_set_shuffle(self, shuffle: bool) -> None: ...
108
110
  async def async_clear_playlist(self) -> None: ...
@@ -8,6 +8,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
  from homeassistant.helpers.typing import StateType as StateType
10
10
 
11
+ PARALLEL_UPDATES: int
11
12
  SENSORS: tuple[SensorEntityDescription, ...]
12
13
  _LOGGER: Incomplete
13
14
 
@@ -0,0 +1,47 @@
1
+ from .const import ATTR_ALARM_ID as ATTR_ALARM_ID, DOMAIN as DOMAIN, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED
2
+ from .coordinator import SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
3
+ from .entity import SqueezeboxEntity as SqueezeboxEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import EntityCategory as EntityCategory, Platform as Platform
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.device_registry import format_mac as format_mac
10
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.event import async_track_time_change as async_track_time_change
13
+ from pysqueezebox.player import Alarm as Alarm
14
+ from typing import Any
15
+
16
+ _LOGGER: Incomplete
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class SqueezeBoxAlarmEntity(SqueezeboxEntity, SwitchEntity):
21
+ _attr_translation_key: str
22
+ _attr_entity_category: Incomplete
23
+ _alarm_id: Incomplete
24
+ _attr_translation_placeholders: Incomplete
25
+ _attr_unique_id: str
26
+ def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator, alarm_id: str) -> None: ...
27
+ async def async_added_to_hass(self) -> None: ...
28
+ @property
29
+ def alarm(self) -> Alarm: ...
30
+ @property
31
+ def available(self) -> bool: ...
32
+ @property
33
+ def extra_state_attributes(self) -> dict[str, Any]: ...
34
+ @property
35
+ def is_on(self) -> bool: ...
36
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
37
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
38
+
39
+ class SqueezeBoxAlarmsEnabledEntity(SqueezeboxEntity, SwitchEntity):
40
+ _attr_translation_key: str
41
+ _attr_entity_category: Incomplete
42
+ _attr_unique_id: str
43
+ def __init__(self, coordinator: SqueezeBoxPlayerUpdateCoordinator) -> None: ...
44
+ @property
45
+ def is_on(self) -> bool: ...
46
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
47
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,50 @@
1
+ from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
+ from .const import DOMAIN as DOMAIN, SERVER_MODEL as SERVER_MODEL, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION, STATUS_UPDATE_NEWPLUGINS as STATUS_UPDATE_NEWPLUGINS, STATUS_UPDATE_NEWVERSION as STATUS_UPDATE_NEWVERSION, UPDATE_PLUGINS_RELEASE_SUMMARY as UPDATE_PLUGINS_RELEASE_SUMMARY, UPDATE_RELEASE_SUMMARY as UPDATE_RELEASE_SUMMARY
3
+ from .entity import LMSStatusEntity as LMSStatusEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from datetime import datetime
7
+ from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.event import async_call_later as async_call_later
12
+ from typing import Any
13
+
14
+ newserver: Incomplete
15
+ newplugins: Incomplete
16
+ POLL_AFTER_INSTALL: int
17
+ PARALLEL_UPDATES: int
18
+ _LOGGER: Incomplete
19
+
20
+ async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+
22
+ class ServerStatusUpdate(LMSStatusEntity, UpdateEntity):
23
+ @property
24
+ def latest_version(self) -> str: ...
25
+
26
+ class ServerStatusUpdateLMS(ServerStatusUpdate):
27
+ title: str
28
+ @property
29
+ def installed_version(self) -> str: ...
30
+ @property
31
+ def release_url(self) -> str: ...
32
+ @property
33
+ def release_summary(self) -> None | str: ...
34
+
35
+ class ServerStatusUpdatePlugins(ServerStatusUpdate):
36
+ auto_update: bool
37
+ title: str
38
+ installed_version: str
39
+ restart_triggered: bool
40
+ _cancel_update: Callable | None
41
+ @property
42
+ def supported_features(self) -> UpdateEntityFeature: ...
43
+ @property
44
+ def release_summary(self) -> None | str: ...
45
+ @property
46
+ def release_url(self) -> str: ...
47
+ @property
48
+ def in_progress(self) -> bool: ...
49
+ async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
50
+ async def _async_update_catchall(self, now: datetime | None = None) -> None: ...
@@ -1,11 +1,18 @@
1
1
  from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DATA_REFRESH_INTERVAL as DATA_REFRESH_INTERVAL, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
2
3
  from dataclasses import dataclass
4
+ from datetime import date
5
+ from homeassistant.components.recorder import get_instance as get_instance
6
+ from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMetaData as StatisticMetaData
7
+ from homeassistant.components.recorder.statistics import StatisticMeanType as StatisticMeanType, StatisticsRow as StatisticsRow, async_add_external_statistics as async_add_external_statistics, get_last_statistics as get_last_statistics
3
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
5
- from homeassistant.core import HomeAssistant as HomeAssistant, _LOGGER as _LOGGER
9
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, CURRENCY_EURO as CURRENCY_EURO, UnitOfVolume as UnitOfVolume
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
11
  from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
7
12
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
- from pysuez import SuezClient
13
+ from pysuez import SuezClient, TelemetryMeasure as TelemetryMeasure
14
+
15
+ _LOGGER: Incomplete
9
16
 
10
17
  @dataclass
11
18
  class SuezWaterAggregatedAttributes:
@@ -20,12 +27,20 @@ class SuezWaterAggregatedAttributes:
20
27
  class SuezWaterData:
21
28
  aggregated_value: float
22
29
  aggregated_attr: SuezWaterAggregatedAttributes
23
- price: float
30
+ price: float | None
24
31
  type SuezWaterConfigEntry = ConfigEntry[SuezWaterCoordinator]
25
32
 
26
33
  class SuezWaterCoordinator(DataUpdateCoordinator[SuezWaterData]):
27
34
  _suez_client: SuezClient
28
35
  config_entry: SuezWaterConfigEntry
36
+ _counter_id: Incomplete
37
+ _cost_statistic_id: Incomplete
38
+ _water_statistic_id: Incomplete
29
39
  def __init__(self, hass: HomeAssistant, config_entry: SuezWaterConfigEntry) -> None: ...
30
40
  async def _async_setup(self) -> None: ...
31
41
  async def _async_update_data(self) -> SuezWaterData: ...
42
+ async def _update_statistics(self, current_price: float | None) -> None: ...
43
+ def _build_statistics(self, current_price: float | None, consumption_sum: float, cost_sum: float, last_stats: date | None, usage: list[TelemetryMeasure]) -> tuple[list[StatisticData], list[StatisticData]]: ...
44
+ def _persist_statistics(self, consumption_statistics: list[StatisticData], cost_statistics: list[StatisticData]) -> None: ...
45
+ def _get_statistics_metadata(self, id: str, name: str, unit: str) -> StatisticMetaData: ...
46
+ async def _get_last_stat(self, id: str) -> StatisticsRow | None: ...
@@ -29,6 +29,8 @@ class SuezWaterSensor(CoordinatorEntity[SuezWaterCoordinator], SensorEntity):
29
29
  _attr_device_info: Incomplete
30
30
  def __init__(self, coordinator: SuezWaterCoordinator, counter_id: int, entity_description: SuezWaterSensorEntityDescription) -> None: ...
31
31
  @property
32
+ def available(self) -> bool: ...
33
+ @property
32
34
  def native_value(self) -> float | str | None: ...
33
35
  @property
34
36
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
@@ -0,0 +1,13 @@
1
+ from _typeshed import Incomplete
2
+ from datetime import timedelta
3
+ from homeassistant.const import CONF_CONDITION as CONF_CONDITION, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.condition import ConditionCheckerType as ConditionCheckerType, condition_trace_set_result as condition_trace_set_result, condition_trace_update_result as condition_trace_update_result, trace_condition_function as trace_condition_function
6
+ from homeassistant.helpers.sun import get_astral_event_date as get_astral_event_date
7
+ from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
+
9
+ _CONDITION_SCHEMA: Incomplete
10
+
11
+ async def async_validate_condition_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
12
+ def sun(hass: HomeAssistant, before: str | None = None, after: str | None = None, before_offset: timedelta | None = None, after_offset: timedelta | None = None) -> bool: ...
13
+ def async_condition_from_config(config: ConfigType) -> ConditionCheckerType: ...
@@ -1,9 +1,12 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN, ENTRY_TITLE as ENTRY_TITLE
2
2
  from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
3
3
  from _typeshed import Incomplete
4
+ from aiohttp import web as web
5
+ from collections.abc import Awaitable, Callable as Callable
4
6
  from dataclasses import dataclass, field
7
+ from homeassistant.components import webhook as webhook
5
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_API_TOKEN as CONF_API_TOKEN, Platform as Platform
9
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_API_TOKEN as CONF_API_TOKEN, CONF_WEBHOOK_ID as CONF_WEBHOOK_ID, Platform as Platform
7
10
  from homeassistant.core import HomeAssistant as HomeAssistant
8
11
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
12
  from switchbot_api import Device, Remote, SwitchBotAPI
@@ -13,20 +16,23 @@ PLATFORMS: list[Platform]
13
16
 
14
17
  @dataclass
15
18
  class SwitchbotDevices:
16
- buttons: list[Device] = field(default_factory=list)
17
- climates: list[Remote] = field(default_factory=list)
18
- switches: list[Device | Remote] = field(default_factory=list)
19
- sensors: list[Device] = field(default_factory=list)
20
- vacuums: list[Device] = field(default_factory=list)
21
- locks: list[Device] = field(default_factory=list)
19
+ binary_sensors: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
20
+ buttons: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
21
+ climates: list[tuple[Remote, SwitchBotCoordinator]] = field(default_factory=list)
22
+ switches: list[tuple[Device | Remote, SwitchBotCoordinator]] = field(default_factory=list)
23
+ sensors: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
24
+ vacuums: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
25
+ locks: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
22
26
 
23
27
  @dataclass
24
28
  class SwitchbotCloudData:
25
29
  api: SwitchBotAPI
26
30
  devices: SwitchbotDevices
27
31
 
28
- async def coordinator_for_device(hass: HomeAssistant, entry: ConfigEntry, api: SwitchBotAPI, device: Device | Remote, coordinators_by_id: dict[str, SwitchBotCoordinator]) -> SwitchBotCoordinator: ...
32
+ async def coordinator_for_device(hass: HomeAssistant, entry: ConfigEntry, api: SwitchBotAPI, device: Device | Remote, coordinators_by_id: dict[str, SwitchBotCoordinator], manageable_by_webhook: bool = False) -> SwitchBotCoordinator: ...
29
33
  async def make_switchbot_devices(hass: HomeAssistant, entry: ConfigEntry, api: SwitchBotAPI, devices: list[Device | Remote], coordinators_by_id: dict[str, SwitchBotCoordinator]) -> SwitchbotDevices: ...
30
34
  async def make_device_data(hass: HomeAssistant, entry: ConfigEntry, api: SwitchBotAPI, device: Device | Remote, devices_data: SwitchbotDevices, coordinators_by_id: dict[str, SwitchBotCoordinator]) -> None: ...
31
35
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
32
36
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
37
+ async def _initialize_webhook(hass: HomeAssistant, entry: ConfigEntry, api: SwitchBotAPI, coordinators_by_id: dict[str, SwitchBotCoordinator]) -> None: ...
38
+ def _create_handle_webhook(coordinators_by_id: dict[str, SwitchBotCoordinator]) -> Callable[[HomeAssistant, str, web.Request], Awaitable[None]]: ...
@@ -0,0 +1,29 @@
1
+ from . import SwitchbotCloudData as SwitchbotCloudData
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
4
+ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
+ from _typeshed import Incomplete
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
13
+
14
+ @dataclass(frozen=True)
15
+ class SwitchBotCloudBinarySensorEntityDescription(BinarySensorEntityDescription):
16
+ on_value: bool | str = ...
17
+
18
+ CALIBRATION_DESCRIPTION: Incomplete
19
+ DOOR_OPEN_DESCRIPTION: Incomplete
20
+ BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class SwitchBotCloudBinarySensor(SwitchBotCloudEntity, BinarySensorEntity):
25
+ entity_description: SwitchBotCloudBinarySensorEntityDescription
26
+ _attr_unique_id: Incomplete
27
+ def __init__(self, api: SwitchBotAPI, device: Device, coordinator: SwitchBotCoordinator, description: SwitchBotCloudBinarySensorEntityDescription) -> None: ...
28
+ @property
29
+ def is_on(self) -> bool | None: ...
@@ -13,6 +13,11 @@ class SwitchBotCoordinator(DataUpdateCoordinator[Status]):
13
13
  config_entry: ConfigEntry
14
14
  _api: SwitchBotAPI
15
15
  _device_id: str
16
+ _manageable_by_webhook: bool
17
+ _webhooks_connected: bool
16
18
  _should_poll: Incomplete
17
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: SwitchBotAPI, device: Device | Remote) -> None: ...
19
+ def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: SwitchBotAPI, device: Device | Remote, manageable_by_webhook: bool) -> None: ...
20
+ update_interval: Incomplete
21
+ def webhook_subscription_listener(self, connected: bool) -> None: ...
22
+ def manageable_by_webhook(self) -> bool: ...
18
23
  async def _async_update_data(self) -> Status: ...
@@ -1,4 +1,5 @@
1
1
  import tibber
2
+ from .const import DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.recorder import get_instance as get_instance
4
5
  from homeassistant.components.recorder.models import StatisticData as StatisticData, StatisticMeanType as StatisticMeanType, StatisticMetaData as StatisticMetaData
@@ -1,4 +1,4 @@
1
- from . import DOMAIN as TIBBER_DOMAIN
1
+ from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.notify import ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, NotifyEntity as NotifyEntity, NotifyEntityFeature as NotifyEntityFeature
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -11,7 +11,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
11
11
 
12
12
  class TibberNotificationEntity(NotifyEntity):
13
13
  _attr_supported_features: Incomplete
14
- _attr_name = TIBBER_DOMAIN
14
+ _attr_name = DOMAIN
15
15
  _attr_icon: str
16
16
  _attr_unique_id: Incomplete
17
17
  def __init__(self, unique_id: str) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import datetime
2
2
  import tibber
3
- from .const import MANUFACTURER as MANUFACTURER
3
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
4
4
  from .coordinator import TibberDataCoordinator as TibberDataCoordinator
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
@@ -52,10 +52,13 @@ class ResultStream:
52
52
  use_file_cache: bool
53
53
  language: str
54
54
  options: dict
55
+ supports_streaming_input: bool
55
56
  _manager: SpeechManager
56
57
  @cached_property
57
58
  def url(self) -> str: ...
58
59
  @cached_property
60
+ def media_source_id(self) -> str: ...
61
+ @cached_property
59
62
  def _result_cache(self) -> asyncio.Future[TTSCache]: ...
60
63
  @callback
61
64
  def async_set_message(self, message: str) -> None: ...
@@ -109,7 +112,7 @@ class SpeechManager:
109
112
  @callback
110
113
  def async_cache_message_in_memory(self, engine: str, message: str, use_file_cache: bool, language: str, options: dict) -> TTSCache: ...
111
114
  async def _load_data_into_cache(self, cache: TTSCache, engine_instance: TextToSpeechEntity | Provider, message: str, store_to_disk: bool, language: str, options: dict) -> None: ...
112
- async def _async_generate_tts_audio(self, engine_instance: TextToSpeechEntity | Provider, message_stream: AsyncGenerator[str], language: str, options: dict[str, Any]) -> AsyncGenerator[bytes]: ...
115
+ async def _async_generate_tts_audio(self, engine_instance: TextToSpeechEntity | Provider, message_or_stream: str | AsyncGenerator[str], language: str, options: dict[str, Any]) -> AsyncGenerator[bytes]: ...
113
116
  async def _async_load_file(self, cache_key: str) -> AsyncGenerator[bytes]: ...
114
117
  @staticmethod
115
118
  def write_tags(filename: str, data: bytes, engine_name: str, message: str, language: str, options: dict | None) -> bytes: ...
@@ -16,4 +16,5 @@ DEFAULT_TIME_MEMORY: int
16
16
  DOMAIN: str
17
17
  DATA_COMPONENT: HassKey[EntityComponent[TextToSpeechEntity]]
18
18
  DATA_TTS_MANAGER: HassKey[SpeechManager]
19
+ MEDIA_SOURCE_STREAM_PATH: str
19
20
  type TtsAudioType = tuple[str | None, bytes | None]
@@ -43,12 +43,16 @@ class TextToSpeechEntity(RestoreEntity, cached_properties=CACHED_PROPERTIES_WITH
43
43
  def supported_options(self) -> list[str] | None: ...
44
44
  @cached_property
45
45
  def default_options(self) -> Mapping[str, Any] | None: ...
46
+ @classmethod
47
+ def async_supports_streaming_input(cls) -> bool: ...
46
48
  @callback
47
49
  def async_get_supported_voices(self, language: str) -> list[Voice] | None: ...
48
50
  async def async_internal_added_to_hass(self) -> None: ...
49
51
  async def async_speak(self, media_player_entity_id: list[str], message: str, cache: bool, language: str | None = None, options: dict | None = None) -> None: ...
50
52
  @final
51
53
  async def internal_async_stream_tts_audio(self, request: TTSAudioRequest) -> TTSAudioResponse: ...
54
+ @final
55
+ async def async_internal_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
52
56
  async def async_stream_tts_audio(self, request: TTSAudioRequest) -> TTSAudioResponse: ...
53
57
  def get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
54
58
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
@@ -14,7 +14,7 @@ from homeassistant.helpers.service import async_set_service_schema as async_set_
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
15
15
  from homeassistant.setup import SetupPhases as SetupPhases, async_prepare_setup_platform as async_prepare_setup_platform, async_start_setup as async_start_setup
16
16
  from homeassistant.util.yaml import load_yaml_dict as load_yaml_dict
17
- from typing import Any
17
+ from typing import Any, final
18
18
 
19
19
  _LOGGER: Incomplete
20
20
  CONF_SERVICE_NAME: str
@@ -45,3 +45,5 @@ class Provider(metaclass=abc.ABCMeta):
45
45
  def default_options(self) -> Mapping[str, Any] | None: ...
46
46
  def get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
47
47
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
48
+ @final
49
+ async def async_internal_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
@@ -1,4 +1,4 @@
1
- from .const import DATA_COMPONENT as DATA_COMPONENT, DATA_TTS_MANAGER as DATA_TTS_MANAGER, DOMAIN as DOMAIN
1
+ from .const import DATA_COMPONENT as DATA_COMPONENT, DATA_TTS_MANAGER as DATA_TTS_MANAGER, DOMAIN as DOMAIN, MEDIA_SOURCE_STREAM_PATH as MEDIA_SOURCE_STREAM_PATH
2
2
  from .helper import get_engine_instance as get_engine_instance
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
@@ -23,8 +23,11 @@ class ParsedMediaSourceId(TypedDict):
23
23
  options: MediaSourceOptions
24
24
  message: str
25
25
 
26
+ class ParsedMediaSourceStreamId(TypedDict):
27
+ stream: str
28
+
26
29
  @callback
27
- def parse_media_source_id(media_source_id: str) -> ParsedMediaSourceId: ...
30
+ def parse_media_source_id(media_source_id: str) -> ParsedMediaSourceId | ParsedMediaSourceStreamId: ...
28
31
 
29
32
  class TTSMediaSource(MediaSource):
30
33
  name: str
@@ -1,4 +1,4 @@
1
- from .const import PLATFORMS as PLATFORMS, UNIFI_WIRELESS_CLIENTS as UNIFI_WIRELESS_CLIENTS
1
+ from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS, UNIFI_WIRELESS_CLIENTS as UNIFI_WIRELESS_CLIENTS
2
2
  from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
3
3
  from .hub import UnifiHub as UnifiHub, get_unifi_api as get_unifi_api
4
4
  from .services import async_setup_services as async_setup_services
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from . import UnifiConfigEntry as UnifiConfigEntry
3
- from .const import CONF_ALLOW_BANDWIDTH_SENSORS as CONF_ALLOW_BANDWIDTH_SENSORS, CONF_ALLOW_UPTIME_SENSORS as CONF_ALLOW_UPTIME_SENSORS, CONF_BLOCK_CLIENT as CONF_BLOCK_CLIENT, CONF_CLIENT_SOURCE as CONF_CLIENT_SOURCE, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_DPI_RESTRICTIONS as CONF_DPI_RESTRICTIONS, CONF_IGNORE_WIRED_BUG as CONF_IGNORE_WIRED_BUG, CONF_SITE_ID as CONF_SITE_ID, CONF_SSID_FILTER as CONF_SSID_FILTER, CONF_TRACK_CLIENTS as CONF_TRACK_CLIENTS, CONF_TRACK_DEVICES as CONF_TRACK_DEVICES, CONF_TRACK_WIRED_CLIENTS as CONF_TRACK_WIRED_CLIENTS, DEFAULT_DPI_RESTRICTIONS as DEFAULT_DPI_RESTRICTIONS, DOMAIN as UNIFI_DOMAIN
3
+ from .const import CONF_ALLOW_BANDWIDTH_SENSORS as CONF_ALLOW_BANDWIDTH_SENSORS, CONF_ALLOW_UPTIME_SENSORS as CONF_ALLOW_UPTIME_SENSORS, CONF_BLOCK_CLIENT as CONF_BLOCK_CLIENT, CONF_CLIENT_SOURCE as CONF_CLIENT_SOURCE, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_DPI_RESTRICTIONS as CONF_DPI_RESTRICTIONS, CONF_IGNORE_WIRED_BUG as CONF_IGNORE_WIRED_BUG, CONF_SITE_ID as CONF_SITE_ID, CONF_SSID_FILTER as CONF_SSID_FILTER, CONF_TRACK_CLIENTS as CONF_TRACK_CLIENTS, CONF_TRACK_DEVICES as CONF_TRACK_DEVICES, CONF_TRACK_WIRED_CLIENTS as CONF_TRACK_WIRED_CLIENTS, DEFAULT_DPI_RESTRICTIONS as DEFAULT_DPI_RESTRICTIONS, DOMAIN as DOMAIN
4
4
  from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
5
5
  from .hub import UnifiHub as UnifiHub, get_unifi_api as get_unifi_api
6
6
  from _typeshed import Incomplete
@@ -18,7 +18,7 @@ DEFAULT_SITE_ID: str
18
18
  DEFAULT_VERIFY_SSL: bool
19
19
  MODEL_PORTS: Incomplete
20
20
 
21
- class UnifiFlowHandler(ConfigFlow, domain=UNIFI_DOMAIN):
21
+ class UnifiFlowHandler(ConfigFlow, domain=DOMAIN):
22
22
  VERSION: int
23
23
  sites: Sites
24
24
  @staticmethod
@@ -1,5 +1,6 @@
1
1
  import aiounifi
2
2
  from . import UnifiConfigEntry as UnifiConfigEntry
3
+ from .const import DOMAIN as DOMAIN
3
4
  from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn
4
5
  from .hub import UnifiHub as UnifiHub
5
6
  from _typeshed import Incomplete
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from _typeshed import Incomplete
2
3
  from collections.abc import Mapping
3
4
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
@@ -9,7 +9,6 @@ from pyuptimerobot import UptimeRobot as UptimeRobot, UptimeRobotMonitor
9
9
  type UptimeRobotConfigEntry = ConfigEntry[UptimeRobotDataUpdateCoordinator]
10
10
  class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator[list[UptimeRobotMonitor]]):
11
11
  config_entry: UptimeRobotConfigEntry
12
- _device_registry: Incomplete
13
12
  api: Incomplete
14
13
  def __init__(self, hass: HomeAssistant, config_entry: UptimeRobotConfigEntry, api: UptimeRobot) -> None: ...
15
14
  async def _async_update_data(self) -> list[UptimeRobotMonitor]: ...
@@ -1,8 +1,9 @@
1
- from .const import API_ATTR_OK as API_ATTR_OK, LOGGER as LOGGER
1
+ from .const import API_ATTR_OK as API_ATTR_OK, DOMAIN as DOMAIN
2
2
  from .coordinator import UptimeRobotConfigEntry as UptimeRobotConfigEntry
3
3
  from .entity import UptimeRobotEntity as UptimeRobotEntity
4
4
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
8
  from typing import Any
8
9