homeassistant-stubs 2025.5.2__py3-none-any.whl → 2025.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
  4. homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
  8. homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
  9. homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
  10. homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
  11. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  12. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  13. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  14. homeassistant-stubs/components/axis/entity.pyi +1 -0
  15. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  16. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  17. homeassistant-stubs/components/backup/entity.pyi +5 -2
  18. homeassistant-stubs/components/backup/event.pyi +23 -0
  19. homeassistant-stubs/components/backup/manager.pyi +22 -3
  20. homeassistant-stubs/components/backup/models.pyi +2 -2
  21. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  22. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  23. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  24. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  25. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  31. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  32. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  33. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  34. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  35. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  36. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  37. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  38. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  39. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  40. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  41. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  42. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  43. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  44. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  45. homeassistant-stubs/components/bring/entity.pyi +3 -3
  46. homeassistant-stubs/components/bring/event.pyi +3 -2
  47. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  48. homeassistant-stubs/components/bring/todo.pyi +1 -0
  49. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  50. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  51. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  52. homeassistant-stubs/components/climate/const.pyi +0 -3
  53. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  54. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  55. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  56. homeassistant-stubs/components/cloud/client.pyi +2 -1
  57. homeassistant-stubs/components/cloud/const.pyi +0 -1
  58. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  59. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  60. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  61. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  62. homeassistant-stubs/components/comelit/const.pyi +3 -0
  63. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  64. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  65. homeassistant-stubs/components/comelit/light.pyi +2 -0
  66. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  67. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  68. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  69. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  70. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  71. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  72. homeassistant-stubs/components/deconz/light.pyi +1 -1
  73. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  74. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  75. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  76. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  77. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  78. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  79. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  80. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  81. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  83. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  86. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  87. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  88. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  89. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  90. homeassistant-stubs/components/downloader/services.pyi +7 -0
  91. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  93. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  96. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  97. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  98. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  99. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  100. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  101. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  102. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  104. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  105. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  106. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  107. homeassistant-stubs/components/esphome/entity.pyi +2 -0
  108. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  109. homeassistant-stubs/components/esphome/light.pyi +4 -4
  110. homeassistant-stubs/components/esphome/manager.pyi +0 -1
  111. homeassistant-stubs/components/esphome/update.pyi +8 -4
  112. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  113. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  114. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/fritz/const.pyi +2 -0
  116. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  117. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  118. homeassistant-stubs/components/fyta/image.pyi +18 -4
  119. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
  120. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
  121. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  122. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  123. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  124. homeassistant-stubs/components/google/__init__.pyi +7 -8
  125. homeassistant-stubs/components/google/api.pyi +2 -2
  126. homeassistant-stubs/components/google/calendar.pyi +5 -5
  127. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  128. homeassistant-stubs/components/google/const.pyi +0 -2
  129. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  130. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  131. homeassistant-stubs/components/google/store.pyi +9 -0
  132. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  133. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  134. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  135. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
  137. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  138. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  139. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  140. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  141. homeassistant-stubs/components/guardian/button.pyi +4 -5
  142. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  143. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  144. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  145. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  146. homeassistant-stubs/components/guardian/services.pyi +28 -0
  147. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  148. homeassistant-stubs/components/guardian/util.pyi +2 -2
  149. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  150. homeassistant-stubs/components/habitica/const.pyi +1 -6
  151. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  152. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  153. homeassistant-stubs/components/habitica/services.pyi +2 -4
  154. homeassistant-stubs/components/habitica/util.pyi +2 -0
  155. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  156. homeassistant-stubs/components/hardware/const.pyi +4 -0
  157. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  158. homeassistant-stubs/components/hardware/models.pyi +14 -1
  159. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  160. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  161. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
  162. homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
  163. homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
  164. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  165. homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
  166. homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
  167. homeassistant-stubs/components/history_stats/data.pyi +2 -0
  168. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  169. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  170. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  171. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  172. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  173. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  174. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  175. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  176. homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
  177. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  178. homeassistant-stubs/components/homee/const.pyi +2 -0
  179. homeassistant-stubs/components/homee/event.pyi +19 -0
  180. homeassistant-stubs/components/homee/fan.pyi +38 -0
  181. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  182. homeassistant-stubs/components/homekit/const.pyi +1 -0
  183. homeassistant-stubs/components/homekit/util.pyi +1 -1
  184. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  185. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  186. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  187. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  188. homeassistant-stubs/components/http/decorators.pyi +1 -1
  189. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  190. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  191. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  192. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  193. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  194. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  195. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  196. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  197. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  198. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  199. homeassistant-stubs/components/immich/const.pyi +4 -0
  200. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  201. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  202. homeassistant-stubs/components/immich/entity.pyi +10 -0
  203. homeassistant-stubs/components/immich/media_source.pyi +38 -0
  204. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  205. homeassistant-stubs/components/integration/__init__.pyi +2 -1
  206. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  207. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  208. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  209. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  210. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  211. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  212. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  213. homeassistant-stubs/components/isy994/button.pyi +2 -3
  214. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  215. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  216. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  217. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  218. homeassistant-stubs/components/isy994/light.pyi +3 -4
  219. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  220. homeassistant-stubs/components/isy994/models.pyi +2 -0
  221. homeassistant-stubs/components/isy994/number.pyi +3 -4
  222. homeassistant-stubs/components/isy994/select.pyi +3 -4
  223. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  224. homeassistant-stubs/components/isy994/services.pyi +1 -1
  225. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  226. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  227. homeassistant-stubs/components/isy994/util.pyi +3 -2
  228. homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
  229. homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
  230. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  231. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  232. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  233. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  234. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  235. homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
  236. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  237. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  238. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  239. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  240. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  241. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  242. homeassistant-stubs/components/knx/const.pyi +7 -0
  243. homeassistant-stubs/components/knx/cover.pyi +20 -9
  244. homeassistant-stubs/components/knx/schema.pyi +1 -6
  245. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  246. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  247. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  248. homeassistant-stubs/components/lcn/const.pyi +3 -1
  249. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  250. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  251. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  252. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  253. homeassistant-stubs/components/lcn/services.pyi +2 -3
  254. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  255. homeassistant-stubs/components/matter/select.pyi +2 -0
  256. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  257. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  258. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  259. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  260. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  261. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  262. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  263. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  264. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  265. homeassistant-stubs/components/miele/api.pyi +9 -0
  266. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  267. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  268. homeassistant-stubs/components/miele/button.pyi +32 -0
  269. homeassistant-stubs/components/miele/climate.pyi +55 -0
  270. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  271. homeassistant-stubs/components/miele/const.pyi +127 -0
  272. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  273. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  274. homeassistant-stubs/components/miele/entity.pyi +24 -0
  275. homeassistant-stubs/components/miele/fan.pyi +39 -0
  276. homeassistant-stubs/components/miele/light.pyi +39 -0
  277. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  278. homeassistant-stubs/components/miele/switch.pyi +52 -0
  279. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  280. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  281. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  282. homeassistant-stubs/components/modbus/const.pyi +9 -0
  283. homeassistant-stubs/components/modbus/light.pyi +24 -1
  284. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  285. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  286. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  287. homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
  288. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  289. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  290. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  291. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  292. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  293. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  294. homeassistant-stubs/components/number/const.pyi +3 -2
  295. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  296. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  297. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
  298. homeassistant-stubs/components/openuv/entity.pyi +1 -0
  299. homeassistant-stubs/components/otbr/util.pyi +1 -3
  300. homeassistant-stubs/components/pandora/__init__.pyi +1 -0
  301. homeassistant-stubs/components/pandora/media_player.pyi +14 -13
  302. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  303. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  304. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  305. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  306. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  307. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  308. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  309. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  310. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  311. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  312. homeassistant-stubs/components/qbus/light.pyi +1 -0
  313. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  314. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  315. homeassistant-stubs/components/recorder/services.pyi +7 -1
  316. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  317. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  318. homeassistant-stubs/components/reolink/__init__.pyi +3 -1
  319. homeassistant-stubs/components/reolink/const.pyi +5 -0
  320. homeassistant-stubs/components/reolink/host.pyi +3 -3
  321. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  322. homeassistant-stubs/components/reolink/views.pyi +1 -0
  323. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  324. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  325. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  326. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  327. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  328. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  329. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  330. homeassistant-stubs/components/sensor/const.pyi +5 -2
  331. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  332. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  333. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  334. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  335. homeassistant-stubs/components/shelly/button.pyi +5 -4
  336. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  337. homeassistant-stubs/components/shelly/const.pyi +2 -0
  338. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  339. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  340. homeassistant-stubs/components/shelly/event.pyi +4 -2
  341. homeassistant-stubs/components/shelly/light.pyi +2 -0
  342. homeassistant-stubs/components/shelly/number.pyi +3 -2
  343. homeassistant-stubs/components/shelly/select.pyi +2 -0
  344. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  345. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  346. homeassistant-stubs/components/shelly/text.pyi +2 -0
  347. homeassistant-stubs/components/shelly/update.pyi +1 -0
  348. homeassistant-stubs/components/shelly/utils.pyi +14 -7
  349. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  350. homeassistant-stubs/components/smlight/button.pyi +3 -2
  351. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  352. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  353. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  354. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  355. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  356. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  357. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  358. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  359. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  360. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  361. homeassistant-stubs/components/statistics/__init__.pyi +2 -1
  362. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  363. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  364. homeassistant-stubs/components/sun/condition.pyi +13 -0
  365. homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
  366. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  367. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  368. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  369. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  370. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  371. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  372. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  373. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  374. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  375. homeassistant-stubs/components/tts/const.pyi +1 -0
  376. homeassistant-stubs/components/tts/entity.pyi +4 -0
  377. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  378. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  379. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  380. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  381. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  382. homeassistant-stubs/components/unifi/services.pyi +1 -0
  383. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  384. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  385. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  386. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  387. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  388. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  389. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  390. homeassistant-stubs/components/wemo/light.pyi +1 -0
  391. homeassistant-stubs/components/whois/const.pyi +1 -0
  392. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  393. homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
  394. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  395. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -3
  396. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  397. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -8
  398. homeassistant-stubs/components/zwave_js/const.pyi +2 -3
  399. homeassistant-stubs/config_entries.pyi +0 -1
  400. homeassistant-stubs/const.pyi +5 -0
  401. homeassistant-stubs/core_config.pyi +0 -2
  402. homeassistant-stubs/helpers/condition.pyi +1 -6
  403. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  404. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  405. homeassistant-stubs/helpers/device.pyi +1 -1
  406. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  407. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  408. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  409. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  410. homeassistant-stubs/helpers/helper_integration.pyi +6 -0
  411. homeassistant-stubs/helpers/selector.pyi +55 -50
  412. homeassistant-stubs/helpers/service.pyi +3 -3
  413. homeassistant-stubs/helpers/template.pyi +4 -1
  414. homeassistant-stubs/scripts/check_config.pyi +1 -1
  415. homeassistant-stubs/util/aiohttp.pyi +5 -0
  416. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  417. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
  418. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +420 -361
  419. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  420. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  421. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  422. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
  423. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from airthings import AirthingsDevice as AirthingsDevice
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
6
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -0,0 +1,9 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry, AmazonDevicesCoordinator as AmazonDevicesCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ PLATFORMS: Incomplete
7
+
8
+ async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: AmazonConfigEntry) -> bool: ...
@@ -0,0 +1,26 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
2
+ from .entity import AmazonEntity as AmazonEntity
3
+ from _typeshed import Incomplete
4
+ from aioamazondevices.api import AmazonDevice as AmazonDevice
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
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 typing import Final
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class AmazonBinarySensorEntityDescription(BinarySensorEntityDescription):
17
+ is_on_fn: Callable[[AmazonDevice], bool]
18
+
19
+ BINARY_SENSORS: Final[Incomplete]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ class AmazonBinarySensorEntity(AmazonEntity, BinarySensorEntity):
24
+ entity_description: AmazonBinarySensorEntityDescription
25
+ @property
26
+ def is_on(self) -> bool: ...
@@ -0,0 +1,8 @@
1
+ from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_COUNTRY as CONF_COUNTRY, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
4
+ from homeassistant.helpers.selector import CountrySelector as CountrySelector
5
+ from typing import Any
6
+
7
+ class AmazonDevicesConfigFlow(ConfigFlow, domain=DOMAIN):
8
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,5 @@
1
+ from _typeshed import Incomplete
2
+
3
+ _LOGGER: Incomplete
4
+ DOMAIN: str
5
+ CONF_LOGIN_DATA: str
@@ -0,0 +1,17 @@
1
+ from .const import CONF_LOGIN_DATA as CONF_LOGIN_DATA, _LOGGER as _LOGGER
2
+ from _typeshed import Incomplete
3
+ from aioamazondevices.api import AmazonDevice
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+
10
+ SCAN_INTERVAL: int
11
+ type AmazonConfigEntry = ConfigEntry[AmazonDevicesCoordinator]
12
+
13
+ class AmazonDevicesCoordinator(DataUpdateCoordinator[dict[str, AmazonDevice]]):
14
+ config_entry: AmazonConfigEntry
15
+ api: Incomplete
16
+ def __init__(self, hass: HomeAssistant, entry: AmazonConfigEntry) -> None: ...
17
+ async def _async_update_data(self) -> dict[str, AmazonDevice]: ...
@@ -0,0 +1,14 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
2
+ from _typeshed import Incomplete
3
+ from aioamazondevices.api import AmazonDevice as AmazonDevice
4
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
+ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
8
+ from typing import Any
9
+
10
+ TO_REDACT: Incomplete
11
+
12
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: AmazonConfigEntry) -> dict[str, Any]: ...
13
+ async def async_get_device_diagnostics(hass: HomeAssistant, entry: AmazonConfigEntry, device_entry: DeviceEntry) -> dict[str, Any]: ...
14
+ def build_device_data(device: AmazonDevice) -> dict[str, Any]: ...
@@ -0,0 +1,19 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import AmazonDevicesCoordinator as AmazonDevicesCoordinator
3
+ from _typeshed import Incomplete
4
+ from aioamazondevices.api import AmazonDevice as AmazonDevice
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+
9
+ class AmazonEntity(CoordinatorEntity[AmazonDevicesCoordinator]):
10
+ _attr_has_entity_name: bool
11
+ _serial_num: Incomplete
12
+ _attr_device_info: Incomplete
13
+ entity_description: Incomplete
14
+ _attr_unique_id: Incomplete
15
+ def __init__(self, coordinator: AmazonDevicesCoordinator, serial_num: str, description: EntityDescription) -> None: ...
16
+ @property
17
+ def device(self) -> AmazonDevice: ...
18
+ @property
19
+ def available(self) -> bool: ...
@@ -0,0 +1,25 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
2
+ from .entity import AmazonEntity as AmazonEntity
3
+ from _typeshed import Incomplete
4
+ from aioamazondevices.api import AmazonDevice as AmazonDevice, AmazonEchoApi as AmazonEchoApi
5
+ from collections.abc import Awaitable, Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any, Final
11
+
12
+ PARALLEL_UPDATES: int
13
+
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class AmazonNotifyEntityDescription(NotifyEntityDescription):
16
+ method: Callable[[AmazonEchoApi, AmazonDevice, str], Awaitable[None]]
17
+ subkey: str
18
+
19
+ NOTIFY: Final[Incomplete]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ class AmazonNotifyEntity(AmazonEntity, NotifyEntity):
24
+ entity_description: AmazonNotifyEntityDescription
25
+ async def async_send_message(self, message: str, title: str | None = None, **kwargs: Any) -> None: ...
@@ -0,0 +1,30 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
2
+ from .entity import AmazonEntity as AmazonEntity
3
+ from _typeshed import Incomplete
4
+ from aioamazondevices.api import AmazonDevice as AmazonDevice
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any, Final
11
+
12
+ PARALLEL_UPDATES: int
13
+
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class AmazonSwitchEntityDescription(SwitchEntityDescription):
16
+ is_on_fn: Callable[[AmazonDevice], bool]
17
+ subkey: str
18
+ method: str
19
+
20
+ SWITCHES: Final[Incomplete]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class AmazonSwitchEntity(AmazonEntity, SwitchEntity):
25
+ entity_description: AmazonSwitchEntityDescription
26
+ async def _switch_set_state(self, state: bool) -> None: ...
27
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
28
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
29
+ @property
30
+ def is_on(self) -> bool: ...
@@ -12,3 +12,4 @@ _SCHEMA: Incomplete
12
12
  class ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
13
13
  VERSION: int
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: ...
@@ -33,6 +33,7 @@ STORAGE_VERSION_MINOR: int
33
33
  ENGINE_LANGUAGE_PAIRS: Incomplete
34
34
  KEY_ASSIST_PIPELINE: HassKey[PipelineData]
35
35
  KEY_PIPELINE_CONVERSATION_DATA: HassKey[dict[str, PipelineConversationData]]
36
+ STREAM_RESPONSE_CHARS: int
36
37
 
37
38
  def validate_language(data: dict[str, Any]) -> Any: ...
38
39
 
@@ -136,7 +137,7 @@ class PipelineRun:
136
137
  event_callback: PipelineEventCallback
137
138
  language: str = ...
138
139
  runner_data: Any | None = ...
139
- intent_agent: str | None = ...
140
+ intent_agent: conversation.AgentInfo | None = ...
140
141
  tts_audio_output: str | dict[str, Any] | None = ...
141
142
  wake_word_settings: WakeWordSettings | None = ...
142
143
  audio_settings: AudioSettings = field(default_factory=AudioSettings)
@@ -153,6 +154,7 @@ class PipelineRun:
153
154
  _device_id: str | None = ...
154
155
  _conversation_data: PipelineConversationData | None = ...
155
156
  _intent_agent_only = ...
157
+ _streamed_response_text = ...
156
158
  def __post_init__(self) -> None: ...
157
159
  def __eq__(self, other: object) -> bool: ...
158
160
  @callback
@@ -1,5 +1,5 @@
1
1
  from . import AxisConfigEntry as AxisConfigEntry
2
- from .const import CONF_STREAM_PROFILE as CONF_STREAM_PROFILE, CONF_VIDEO_SOURCE as CONF_VIDEO_SOURCE, DEFAULT_STREAM_PROFILE as DEFAULT_STREAM_PROFILE, DEFAULT_VIDEO_SOURCE as DEFAULT_VIDEO_SOURCE, DOMAIN as AXIS_DOMAIN
2
+ from .const import CONF_STREAM_PROFILE as CONF_STREAM_PROFILE, CONF_VIDEO_SOURCE as CONF_VIDEO_SOURCE, DEFAULT_STREAM_PROFILE as DEFAULT_STREAM_PROFILE, DEFAULT_VIDEO_SOURCE as DEFAULT_VIDEO_SOURCE, DOMAIN as DOMAIN
3
3
  from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
4
4
  from .hub import AxisHub as AxisHub, get_axis_api as get_axis_api
5
5
  from _typeshed import Incomplete
@@ -20,7 +20,7 @@ DEFAULT_PORT: int
20
20
  DEFAULT_PROTOCOL: str
21
21
  PROTOCOL_CHOICES: Incomplete
22
22
 
23
- class AxisFlowHandler(ConfigFlow, domain=AXIS_DOMAIN):
23
+ class AxisFlowHandler(ConfigFlow, domain=DOMAIN):
24
24
  VERSION: int
25
25
  @staticmethod
26
26
  @callback
@@ -1,4 +1,5 @@
1
1
  import abc
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .hub import AxisHub as AxisHub
3
4
  from _typeshed import Incomplete
4
5
  from abc import abstractmethod
@@ -1,7 +1,7 @@
1
1
  from .agent import BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupAgentPlatformProtocol as BackupAgentPlatformProtocol, LocalBackupAgent as LocalBackupAgent
2
2
  from .config import BackupConfig as BackupConfig, CreateBackupParametersDict as CreateBackupParametersDict
3
- from .manager import BackupManagerError as BackupManagerError, BackupPlatformEvent as BackupPlatformEvent, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, CreateBackupStage as CreateBackupStage, CreateBackupState as CreateBackupState, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, ManagerStateEvent as ManagerStateEvent, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupStage as RestoreBackupStage, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
3
+ from .manager import AddonErrorData as AddonErrorData, BackupManagerError as BackupManagerError, BackupPlatformEvent as BackupPlatformEvent, BackupPlatformProtocol as BackupPlatformProtocol, BackupReaderWriter as BackupReaderWriter, BackupReaderWriterError as BackupReaderWriterError, CreateBackupEvent as CreateBackupEvent, CreateBackupStage as CreateBackupStage, CreateBackupState as CreateBackupState, IdleEvent as IdleEvent, IncorrectPasswordError as IncorrectPasswordError, ManagerBackup as ManagerBackup, ManagerStateEvent as ManagerStateEvent, NewBackup as NewBackup, RestoreBackupEvent as RestoreBackupEvent, RestoreBackupStage as RestoreBackupStage, RestoreBackupState as RestoreBackupState, WrittenBackup as WrittenBackup
4
4
  from .models import AddonInfo as AddonInfo, AgentBackup as AgentBackup, BackupNotFound as BackupNotFound, Folder as Folder
5
5
  from .util import suggested_filename as suggested_filename, suggested_filename_from_name_date as suggested_filename_from_name_date
6
6
 
7
- __all__ = ['AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupConfig', 'BackupManagerError', 'BackupNotFound', 'BackupPlatformEvent', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'CreateBackupParametersDict', 'CreateBackupStage', 'CreateBackupState', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'ManagerStateEvent', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupStage', 'RestoreBackupState', 'WrittenBackup', 'suggested_filename', 'suggested_filename_from_name_date']
7
+ __all__ = ['AddonErrorData', 'AddonInfo', 'AgentBackup', 'BackupAgent', 'BackupAgentError', 'BackupAgentPlatformProtocol', 'BackupConfig', 'BackupManagerError', 'BackupNotFound', 'BackupPlatformEvent', 'BackupPlatformProtocol', 'BackupReaderWriter', 'BackupReaderWriterError', 'CreateBackupEvent', 'CreateBackupParametersDict', 'CreateBackupStage', 'CreateBackupState', 'Folder', 'IdleEvent', 'IncorrectPasswordError', 'LocalBackupAgent', 'ManagerBackup', 'ManagerStateEvent', 'NewBackup', 'RestoreBackupEvent', 'RestoreBackupStage', 'RestoreBackupState', 'WrittenBackup', 'suggested_filename', 'suggested_filename_from_name_date']
@@ -13,13 +13,16 @@ type BackupConfigEntry = ConfigEntry[BackupDataUpdateCoordinator]
13
13
  @dataclass
14
14
  class BackupCoordinatorData:
15
15
  backup_manager_state: BackupManagerState
16
+ last_attempted_automatic_backup: datetime | None
16
17
  last_successful_automatic_backup: datetime | None
17
18
  next_scheduled_automatic_backup: datetime | None
19
+ last_event: ManagerStateEvent | BackupPlatformEvent | None
18
20
 
19
21
  class BackupDataUpdateCoordinator(DataUpdateCoordinator[BackupCoordinatorData]):
20
22
  config_entry: ConfigEntry
21
23
  unsubscribe: list[Callable[[], None]]
22
24
  backup_manager: Incomplete
25
+ _last_event: ManagerStateEvent | BackupPlatformEvent | None
23
26
  def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, backup_manager: BackupManager) -> None: ...
24
27
  @callback
25
28
  def _on_event(self, event: ManagerStateEvent | BackupPlatformEvent) -> None: ...
@@ -5,9 +5,12 @@ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntry
5
5
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
7
 
8
- class BackupManagerEntity(CoordinatorEntity[BackupDataUpdateCoordinator]):
8
+ class BackupManagerBaseEntity(CoordinatorEntity[BackupDataUpdateCoordinator]):
9
9
  _attr_has_entity_name: bool
10
+ _attr_device_info: Incomplete
11
+ def __init__(self, coordinator: BackupDataUpdateCoordinator) -> None: ...
12
+
13
+ class BackupManagerEntity(BackupManagerBaseEntity):
10
14
  entity_description: Incomplete
11
15
  _attr_unique_id: Incomplete
12
- _attr_device_info: Incomplete
13
16
  def __init__(self, coordinator: BackupDataUpdateCoordinator, entity_description: EntityDescription) -> None: ...
@@ -0,0 +1,23 @@
1
+ from .coordinator import BackupConfigEntry as BackupConfigEntry, BackupDataUpdateCoordinator as BackupDataUpdateCoordinator
2
+ from .entity import BackupManagerBaseEntity as BackupManagerBaseEntity
3
+ from .manager import CreateBackupEvent as CreateBackupEvent, CreateBackupState as CreateBackupState
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.event import EventEntity as EventEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from typing import Final
9
+
10
+ ATTR_BACKUP_STAGE: Final[str]
11
+ ATTR_FAILED_REASON: Final[str]
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BackupConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+
15
+ class AutomaticBackupEvent(BackupManagerBaseEntity, EventEntity):
16
+ _attr_event_types: Incomplete
17
+ _unrecorded_attributes: Incomplete
18
+ coordinator: BackupDataUpdateCoordinator
19
+ _attr_unique_id: str
20
+ _attr_translation_key: str
21
+ def __init__(self, coordinator: BackupDataUpdateCoordinator) -> None: ...
22
+ @callback
23
+ def _handle_coordinator_update(self) -> None: ...
@@ -4,7 +4,7 @@ import asyncio
4
4
  from .agent import BackupAgent as BackupAgent, BackupAgentError as BackupAgentError, BackupAgentPlatformProtocol as BackupAgentPlatformProtocol, LocalBackupAgent as LocalBackupAgent
5
5
  from .config import BackupConfig as BackupConfig, CreateBackupParametersDict as CreateBackupParametersDict, check_unavailable_agents as check_unavailable_agents, delete_backups_exceeding_configured_count as delete_backups_exceeding_configured_count
6
6
  from .const import BUF_SIZE as BUF_SIZE, DATA_MANAGER as DATA_MANAGER, DOMAIN as DOMAIN, EXCLUDE_DATABASE_FROM_BACKUP as EXCLUDE_DATABASE_FROM_BACKUP, EXCLUDE_FROM_BACKUP as EXCLUDE_FROM_BACKUP, LOGGER as LOGGER
7
- from .models import AgentBackup as AgentBackup, BackupError as BackupError, BackupManagerError as BackupManagerError, BackupNotFound as BackupNotFound, BackupReaderWriterError as BackupReaderWriterError, BaseBackup as BaseBackup, Folder as Folder
7
+ from .models import AddonInfo as AddonInfo, AgentBackup as AgentBackup, BackupError as BackupError, BackupManagerError as BackupManagerError, BackupNotFound as BackupNotFound, BackupReaderWriterError as BackupReaderWriterError, BaseBackup as BaseBackup, Folder as Folder
8
8
  from .store import BackupStore as BackupStore
9
9
  from .util import AsyncIteratorReader as AsyncIteratorReader, DecryptedBackupStreamer as DecryptedBackupStreamer, EncryptedBackupStreamer as EncryptedBackupStreamer, make_backup_dir as make_backup_dir, read_backup as read_backup, validate_password as validate_password, validate_password_stream as validate_password_stream
10
10
  from _typeshed import Incomplete
@@ -31,12 +31,21 @@ class AgentBackupStatus:
31
31
  @dataclass(frozen=True, kw_only=True, slots=True)
32
32
  class ManagerBackup(BaseBackup):
33
33
  agents: dict[str, AgentBackupStatus]
34
+ failed_addons: list[AddonInfo]
34
35
  failed_agent_ids: list[str]
36
+ failed_folders: list[Folder]
35
37
  with_automatic_settings: bool | None
36
38
 
39
+ @dataclass(frozen=True, kw_only=True, slots=True)
40
+ class AddonErrorData:
41
+ addon: AddonInfo
42
+ errors: list[tuple[str, str]]
43
+
37
44
  @dataclass(frozen=True, kw_only=True, slots=True)
38
45
  class WrittenBackup:
46
+ addon_errors: dict[str, AddonErrorData]
39
47
  backup: AgentBackup
48
+ folder_errors: dict[Folder, list[tuple[str, str]]]
40
49
  open_stream: Callable[[], Coroutine[Any, Any, AsyncIterator[bytes]]]
41
50
  release_stream: Callable[[], Coroutine[Any, Any, None]]
42
51
 
@@ -202,8 +211,9 @@ class BackupManager:
202
211
  async def _async_restore_backup(self, backup_id: str, *, agent_id: str, password: str | None, restore_addons: list[str] | None, restore_database: bool, restore_folders: list[Folder] | None, restore_homeassistant: bool) -> None: ...
203
212
  @callback
204
213
  def async_on_backup_event(self, event: ManagerStateEvent) -> None: ...
214
+ def _create_automatic_backup_failed_issue(self, translation_key: str, translation_placeholders: dict[str, str] | None) -> None: ...
205
215
  def _update_issue_backup_failed(self) -> None: ...
206
- def _update_issue_after_agent_upload(self, agent_errors: dict[str, Exception], unavailable_agents: list[str]) -> None: ...
216
+ def _update_issue_after_agent_upload(self, written_backup: WrittenBackup, agent_errors: dict[str, Exception], unavailable_agents: list[str]) -> None: ...
207
217
  async def async_can_decrypt_on_download(self, backup_id: str, *, agent_id: str, password: str | None) -> None: ...
208
218
 
209
219
  class KnownBackups:
@@ -212,19 +222,28 @@ class KnownBackups:
212
222
  def __init__(self, manager: BackupManager) -> None: ...
213
223
  def load(self, stored_backups: list[StoredKnownBackup]) -> None: ...
214
224
  def to_list(self) -> list[StoredKnownBackup]: ...
215
- def add(self, backup: AgentBackup, agent_errors: dict[str, Exception], unavailable_agents: list[str]) -> None: ...
225
+ def add(self, backup: AgentBackup, agent_errors: dict[str, Exception], failed_addons: dict[str, AddonErrorData], failed_folders: dict[Folder, list[tuple[str, str]]], unavailable_agents: list[str]) -> None: ...
216
226
  def get(self, backup_id: str) -> KnownBackup | None: ...
217
227
  def remove(self, backup_id: str) -> None: ...
218
228
 
219
229
  @dataclass(kw_only=True)
220
230
  class KnownBackup:
221
231
  backup_id: str
232
+ failed_addons: list[AddonInfo]
222
233
  failed_agent_ids: list[str]
234
+ failed_folders: list[Folder]
223
235
  def to_dict(self) -> StoredKnownBackup: ...
224
236
 
237
+ class StoredAddonInfo(TypedDict):
238
+ name: str | None
239
+ slug: str
240
+ version: str | None
241
+
225
242
  class StoredKnownBackup(TypedDict):
226
243
  backup_id: str
244
+ failed_addons: list[StoredAddonInfo]
227
245
  failed_agent_ids: list[str]
246
+ failed_folders: list[str]
228
247
 
229
248
  class CoreBackupReaderWriter(BackupReaderWriter):
230
249
  _local_agent_id: Incomplete
@@ -5,9 +5,9 @@ from typing import Any, Self
5
5
 
6
6
  @dataclass(frozen=True, kw_only=True)
7
7
  class AddonInfo:
8
- name: str
8
+ name: str | None
9
9
  slug: str
10
- version: str
10
+ version: str | None
11
11
 
12
12
  class Folder(StrEnum):
13
13
  SHARE = 'share'
@@ -0,0 +1,25 @@
1
+ from . import BlueCurrentConfigEntry as BlueCurrentConfigEntry, Connector as Connector
2
+ from .entity import ChargepointEntity as ChargepointEntity
3
+ from _typeshed import Incomplete
4
+ from bluecurrent_api.client import Client as Client
5
+ from collections.abc import Callable as Callable, Coroutine
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any
11
+
12
+ @dataclass(kw_only=True, frozen=True)
13
+ class ChargePointButtonEntityDescription(ButtonEntityDescription):
14
+ function: Callable[[Client, str], Coroutine[Any, Any, None]]
15
+
16
+ CHARGE_POINT_BUTTONS: Incomplete
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: BlueCurrentConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class ChargePointButton(ChargepointEntity, ButtonEntity):
21
+ has_value: bool
22
+ entity_description: ChargePointButtonEntityDescription
23
+ _attr_unique_id: Incomplete
24
+ def __init__(self, connector: Connector, description: ChargePointButtonEntityDescription, evse_id: str) -> None: ...
25
+ async def async_press(self) -> None: ...
@@ -1,29 +1,26 @@
1
- import abc
2
1
  from . import Connector as Connector
3
2
  from .const import DOMAIN as DOMAIN, MODEL_TYPE as MODEL_TYPE
4
3
  from _typeshed import Incomplete
5
- from abc import abstractmethod
6
4
  from homeassistant.const import ATTR_NAME as ATTR_NAME
7
5
  from homeassistant.core import callback as callback
8
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
7
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
8
  from homeassistant.helpers.entity import Entity as Entity
11
9
 
12
- class BlueCurrentEntity(Entity, metaclass=abc.ABCMeta):
10
+ class BlueCurrentEntity(Entity):
13
11
  _attr_has_entity_name: bool
14
12
  _attr_should_poll: bool
13
+ has_value: bool
15
14
  connector: Incomplete
16
15
  signal: Incomplete
17
- has_value: bool
18
16
  def __init__(self, connector: Connector, signal: str) -> None: ...
19
17
  async def async_added_to_hass(self) -> None: ...
20
18
  @property
21
19
  def available(self) -> bool: ...
22
20
  @callback
23
- @abstractmethod
24
21
  def update_from_latest_data(self) -> None: ...
25
22
 
26
- class ChargepointEntity(BlueCurrentEntity, metaclass=abc.ABCMeta):
23
+ class ChargepointEntity(BlueCurrentEntity):
27
24
  evse_id: Incomplete
28
25
  _attr_device_info: Incomplete
29
26
  def __init__(self, connector: Connector, evse_id: str) -> None: ...
@@ -0,0 +1,35 @@
1
+ from . import BluesoundConfigEntry as BluesoundConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import BluesoundCoordinator as BluesoundCoordinator
4
+ from .media_player import DEFAULT_PORT as DEFAULT_PORT
5
+ from .utils import format_unique_id as format_unique_id
6
+ from _typeshed import Incomplete
7
+ from collections.abc import Awaitable, Callable as Callable
8
+ from dataclasses import dataclass
9
+ from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
10
+ from homeassistant.const import CONF_PORT as CONF_PORT
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
15
+ from pyblu import Player as Player
16
+
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BluesoundConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+
19
+ @dataclass(kw_only=True, frozen=True)
20
+ class BluesoundButtonEntityDescription(ButtonEntityDescription):
21
+ press_fn: Callable[[Player], Awaitable[None]]
22
+
23
+ async def clear_sleep_timer(player: Player) -> None: ...
24
+ async def set_sleep_timer(player: Player) -> None: ...
25
+
26
+ BUTTON_DESCRIPTIONS: Incomplete
27
+
28
+ class BluesoundButton(CoordinatorEntity[BluesoundCoordinator], ButtonEntity):
29
+ _attr_has_entity_name: bool
30
+ entity_description: BluesoundButtonEntityDescription
31
+ _player: Incomplete
32
+ _attr_unique_id: Incomplete
33
+ _attr_device_info: Incomplete
34
+ def __init__(self, coordinator: BluesoundCoordinator, player: Player, port: int, description: BluesoundButtonEntityDescription) -> None: ...
35
+ async def async_press(self) -> None: ...
@@ -15,6 +15,7 @@ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONN
15
15
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
16
16
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
17
17
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
18
+ from homeassistant.util import slugify as slugify
18
19
  from pyblu import Input as Input, Player as Player, Preset as Preset, Status as Status, SyncStatus as SyncStatus
19
20
  from typing import Any
20
21
 
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
3
3
  from .entity import BMWBaseEntity as BMWBaseEntity
4
4
  from _typeshed import Incomplete
@@ -1,4 +1,4 @@
1
- from .const import CONF_GCID as CONF_GCID, CONF_READ_ONLY as CONF_READ_ONLY, CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN, SCAN_INTERVALS as SCAN_INTERVALS
1
+ from .const import CONF_GCID as CONF_GCID, CONF_READ_ONLY as CONF_READ_ONLY, CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN, DOMAIN as DOMAIN, SCAN_INTERVALS as SCAN_INTERVALS
2
2
  from _typeshed import Incomplete
3
3
  from bimmer_connected.account import MyBMWAccount
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
3
3
  from .entity import BMWBaseEntity as BMWBaseEntity
4
4
  from _typeshed import Incomplete
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from bimmer_connected.vehicle import MyBMWVehicle
4
4
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_TARGET as ATTR_TARGET, BaseNotificationService as BaseNotificationService
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
3
3
  from .entity import BMWBaseEntity as BMWBaseEntity
4
4
  from _typeshed import Incomplete
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
3
3
  from .entity import BMWBaseEntity as BMWBaseEntity
4
4
  from _typeshed import Incomplete
@@ -1,4 +1,4 @@
1
- from . import BMWConfigEntry as BMWConfigEntry
1
+ from . import BMWConfigEntry as BMWConfigEntry, DOMAIN as DOMAIN
2
2
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
3
3
  from .entity import BMWBaseEntity as BMWBaseEntity
4
4
  from _typeshed import Incomplete
@@ -1,12 +1,16 @@
1
1
  from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE, DOMAIN as DOMAIN
2
- from bosch_alarm_mode2 import Panel
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, Platform as Platform
2
+ from .services import setup_services as setup_services
3
+ from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
4
+ from _typeshed import Incomplete
5
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, Platform as Platform
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
9
+ from homeassistant.helpers.typing import ConfigType as ConfigType
7
10
 
11
+ CONFIG_SCHEMA: Incomplete
8
12
  PLATFORMS: list[Platform]
9
- type BoschAlarmConfigEntry = ConfigEntry[Panel]
10
13
 
14
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
11
15
  async def async_setup_entry(hass: HomeAssistant, entry: BoschAlarmConfigEntry) -> bool: ...
12
16
  async def async_unload_entry(hass: HomeAssistant, entry: BoschAlarmConfigEntry) -> bool: ...
@@ -1,5 +1,5 @@
1
- from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
1
  from .entity import BoschAlarmAreaEntity as BoschAlarmAreaEntity
2
+ from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from bosch_alarm_mode2 import Panel as Panel
5
5
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
@@ -8,6 +8,8 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
8
8
 
9
9
  async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
10
10
 
11
+ PARALLEL_UPDATES: int
12
+
11
13
  class AreaAlarmControlPanel(BoschAlarmAreaEntity, AlarmControlPanelEntity):
12
14
  _attr_has_entity_name: bool
13
15
  _attr_supported_features: Incomplete
@@ -0,0 +1,45 @@
1
+ from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
+ from .entity import BoschAlarmAreaEntity as BoschAlarmAreaEntity, BoschAlarmEntity as BoschAlarmEntity, BoschAlarmPointEntity as BoschAlarmPointEntity
3
+ from _typeshed import Incomplete
4
+ from bosch_alarm_mode2 import Panel as Panel
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
+ from homeassistant.const import EntityCategory as EntityCategory
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+
11
+ @dataclass(kw_only=True, frozen=True)
12
+ class BoschAlarmFaultEntityDescription(BinarySensorEntityDescription):
13
+ fault: int
14
+
15
+ FAULT_TYPES: Incomplete
16
+
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+
19
+ PARALLEL_UPDATES: int
20
+
21
+ class PanelFaultsSensor(BoschAlarmEntity, BinarySensorEntity):
22
+ _attr_entity_category: Incomplete
23
+ entity_description: BoschAlarmFaultEntityDescription
24
+ _fault_type: Incomplete
25
+ _attr_unique_id: Incomplete
26
+ def __init__(self, panel: Panel, unique_id: str, entity_description: BoschAlarmFaultEntityDescription) -> None: ...
27
+ @property
28
+ def is_on(self) -> bool: ...
29
+
30
+ class AreaReadyToArmSensor(BoschAlarmAreaEntity, BinarySensorEntity):
31
+ _attr_entity_category: Incomplete
32
+ panel: Incomplete
33
+ _arm_type: Incomplete
34
+ _attr_translation_key: Incomplete
35
+ _attr_unique_id: Incomplete
36
+ def __init__(self, panel: Panel, area_id: int, unique_id: str, arm_type: str) -> None: ...
37
+ @property
38
+ def is_on(self) -> bool: ...
39
+
40
+ class PointSensor(BoschAlarmPointEntity, BinarySensorEntity):
41
+ _attr_name: Incomplete
42
+ _attr_unique_id: Incomplete
43
+ def __init__(self, panel: Panel, point_id: int, unique_id: str) -> None: ...
44
+ @property
45
+ def is_on(self) -> bool: ...