homeassistant-stubs 2025.4.3__py3-none-any.whl → 2025.5.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 (402) hide show
  1. homeassistant-stubs/components/adax/__init__.pyi +5 -4
  2. homeassistant-stubs/components/adax/climate.pyi +25 -17
  3. homeassistant-stubs/components/adax/const.pyi +2 -0
  4. homeassistant-stubs/components/adax/coordinator.pyi +21 -0
  5. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
  6. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
  7. homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
  8. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  9. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  10. homeassistant-stubs/components/apsystems/switch.pyi +1 -1
  11. homeassistant-stubs/components/asuswrt/router.pyi +2 -3
  12. homeassistant-stubs/components/automation/__init__.pyi +2 -2
  13. homeassistant-stubs/components/automation/config.pyi +2 -2
  14. homeassistant-stubs/components/automation/const.pyi +0 -4
  15. homeassistant-stubs/components/axis/hub/api.pyi +2 -2
  16. homeassistant-stubs/components/backup/config.pyi +10 -2
  17. homeassistant-stubs/components/backup/onboarding.pyi +30 -0
  18. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
  19. homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
  20. homeassistant-stubs/components/bond/config_flow.pyi +3 -0
  21. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  22. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
  23. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
  24. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
  25. homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
  26. homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
  28. homeassistant-stubs/components/canary/__init__.pyi +1 -5
  29. homeassistant-stubs/components/canary/config_flow.pyi +0 -1
  30. homeassistant-stubs/components/cloud/const.pyi +1 -0
  31. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  32. homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
  33. homeassistant-stubs/components/cloud/tts.pyi +4 -1
  34. homeassistant-stubs/components/comelit/__init__.pyi +1 -0
  35. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
  36. homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
  37. homeassistant-stubs/components/comelit/climate.pyi +2 -7
  38. homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
  39. homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -7
  41. homeassistant-stubs/components/comelit/entity.pyi +11 -0
  42. homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
  43. homeassistant-stubs/components/comelit/light.pyi +2 -9
  44. homeassistant-stubs/components/comelit/sensor.pyi +2 -7
  45. homeassistant-stubs/components/comelit/switch.pyi +2 -6
  46. homeassistant-stubs/components/comelit/utils.pyi +5 -0
  47. homeassistant-stubs/components/command_line/__init__.pyi +1 -1
  48. homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
  49. homeassistant-stubs/components/command_line/cover.pyi +2 -2
  50. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  51. homeassistant-stubs/components/command_line/switch.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +3 -1
  53. homeassistant-stubs/components/demo/light.pyi +3 -2
  54. homeassistant-stubs/components/demo/media_player.pyi +4 -0
  55. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
  56. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
  57. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  58. homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
  59. homeassistant-stubs/components/dhcp/const.pyi +5 -0
  60. homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
  61. homeassistant-stubs/components/dhcp/models.pyi +25 -0
  62. homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
  63. homeassistant-stubs/components/ecovacs/image.pyi +1 -0
  64. homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
  65. homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
  66. homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
  67. homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
  68. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
  69. homeassistant-stubs/components/energy/sensor.pyi +5 -0
  70. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  71. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
  72. homeassistant-stubs/components/esphome/__init__.pyi +5 -4
  73. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
  74. homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
  75. homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
  76. homeassistant-stubs/components/esphome/button.pyi +2 -0
  77. homeassistant-stubs/components/esphome/camera.pyi +2 -0
  78. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  79. homeassistant-stubs/components/esphome/config_flow.pyi +26 -5
  80. homeassistant-stubs/components/esphome/const.pyi +2 -1
  81. homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
  82. homeassistant-stubs/components/esphome/cover.pyi +2 -0
  83. homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
  84. homeassistant-stubs/components/esphome/date.pyi +2 -0
  85. homeassistant-stubs/components/esphome/datetime.pyi +2 -0
  86. homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
  87. homeassistant-stubs/components/esphome/entity.pyi +12 -9
  88. homeassistant-stubs/components/esphome/event.pyi +2 -0
  89. homeassistant-stubs/components/esphome/fan.pyi +4 -3
  90. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
  91. homeassistant-stubs/components/esphome/light.pyi +8 -7
  92. homeassistant-stubs/components/esphome/lock.pyi +6 -4
  93. homeassistant-stubs/components/esphome/manager.pyi +7 -3
  94. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  95. homeassistant-stubs/components/esphome/number.pyi +1 -0
  96. homeassistant-stubs/components/esphome/repairs.pyi +21 -2
  97. homeassistant-stubs/components/esphome/select.pyi +3 -2
  98. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  99. homeassistant-stubs/components/esphome/switch.pyi +3 -1
  100. homeassistant-stubs/components/esphome/text.pyi +1 -0
  101. homeassistant-stubs/components/esphome/time.pyi +2 -0
  102. homeassistant-stubs/components/esphome/update.pyi +8 -9
  103. homeassistant-stubs/components/esphome/valve.pyi +3 -1
  104. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
  105. homeassistant-stubs/components/fritz/button.pyi +1 -0
  106. homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
  107. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
  108. homeassistant-stubs/components/fritz/image.pyi +1 -0
  109. homeassistant-stubs/components/fritz/sensor.pyi +1 -0
  110. homeassistant-stubs/components/fritz/switch.pyi +1 -0
  111. homeassistant-stubs/components/fritz/update.pyi +1 -0
  112. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
  113. homeassistant-stubs/components/fritzbox/climate.pyi +4 -3
  114. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  115. homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
  116. homeassistant-stubs/components/heos/const.pyi +4 -0
  117. homeassistant-stubs/components/heos/media_player.pyi +5 -4
  118. homeassistant-stubs/components/heos/services.pyi +22 -2
  119. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  120. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  121. homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
  122. homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
  123. homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
  124. homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
  125. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  126. homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
  127. homeassistant-stubs/components/homee/climate.pyi +47 -0
  128. homeassistant-stubs/components/homee/const.pyi +1 -0
  129. homeassistant-stubs/components/homee/number.pyi +12 -4
  130. homeassistant-stubs/components/homekit/__init__.pyi +5 -3
  131. homeassistant-stubs/components/homekit/accessories.pyi +2 -1
  132. homeassistant-stubs/components/homekit/const.pyi +13 -0
  133. homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
  134. homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
  135. homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
  136. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  137. homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
  138. homeassistant-stubs/components/homekit/util.pyi +2 -1
  139. homeassistant-stubs/components/http/headers.pyi +6 -0
  140. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
  142. homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
  143. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  144. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
  145. homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
  146. homeassistant-stubs/components/hyperion/camera.pyi +3 -4
  147. homeassistant-stubs/components/hyperion/const.pyi +0 -3
  148. homeassistant-stubs/components/hyperion/light.pyi +4 -6
  149. homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
  150. homeassistant-stubs/components/hyperion/switch.pyi +3 -4
  151. homeassistant-stubs/components/incomfort/climate.pyi +1 -2
  152. homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
  153. homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
  154. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
  155. homeassistant-stubs/components/iron_os/entity.pyi +2 -0
  156. homeassistant-stubs/components/iron_os/update.pyi +4 -2
  157. homeassistant-stubs/components/isy994/entity.pyi +1 -0
  158. homeassistant-stubs/components/isy994/services.pyi +1 -0
  159. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  160. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  161. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  162. homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
  163. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
  164. homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
  165. homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
  166. homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
  167. homeassistant-stubs/components/kulersky/const.pyi +4 -0
  168. homeassistant-stubs/components/kulersky/light.pyi +34 -0
  169. homeassistant-stubs/components/lamarzocco/__init__.pyi +5 -3
  170. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
  171. homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
  172. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -4
  173. homeassistant-stubs/components/lamarzocco/coordinator.pyi +16 -16
  174. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +3 -8
  175. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -6
  176. homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
  177. homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
  178. homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
  179. homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
  180. homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
  181. homeassistant-stubs/components/lcn/__init__.pyi +4 -3
  182. homeassistant-stubs/components/lcn/entity.pyi +3 -3
  183. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  184. homeassistant-stubs/components/lcn/websocket.pyi +1 -1
  185. homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
  186. homeassistant-stubs/components/linkplay/const.pyi +8 -2
  187. homeassistant-stubs/components/linkplay/media_player.pyi +8 -4
  188. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  189. homeassistant-stubs/components/logger/__init__.pyi +1 -1
  190. homeassistant-stubs/components/logger/helpers.pyi +4 -2
  191. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  192. homeassistant-stubs/components/matter/entity.pyi +1 -0
  193. homeassistant-stubs/components/matter/select.pyi +1 -1
  194. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  195. homeassistant-stubs/components/matter/switch.pyi +20 -0
  196. homeassistant-stubs/components/matter/water_heater.pyi +39 -0
  197. homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
  198. homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
  199. homeassistant-stubs/components/mcp/const.pyi +3 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
  201. homeassistant-stubs/components/media_player/__init__.pyi +7 -3
  202. homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
  203. homeassistant-stubs/components/media_player/const.pyi +4 -0
  204. homeassistant-stubs/components/media_player/errors.pyi +1 -0
  205. homeassistant-stubs/components/media_source/error.pyi +1 -0
  206. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
  207. homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
  208. homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/motionmount/select.pyi +1 -1
  210. homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
  211. homeassistant-stubs/components/mqtt/const.pyi +3 -0
  212. homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
  213. homeassistant-stubs/components/mqtt/entity.pyi +3 -0
  214. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
  215. homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
  216. homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
  217. homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
  218. homeassistant-stubs/components/network/__init__.pyi +2 -0
  219. homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
  220. homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
  221. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  222. homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
  223. homeassistant-stubs/components/ntfy/notify.pyi +25 -0
  224. homeassistant-stubs/components/nut/__init__.pyi +7 -3
  225. homeassistant-stubs/components/nut/config_flow.pyi +11 -14
  226. homeassistant-stubs/components/nut/const.pyi +0 -1
  227. homeassistant-stubs/components/nut/device_action.pyi +5 -1
  228. homeassistant-stubs/components/nut/sensor.pyi +6 -3
  229. homeassistant-stubs/components/ohme/__init__.pyi +15 -0
  230. homeassistant-stubs/components/ohme/button.pyi +26 -0
  231. homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
  232. homeassistant-stubs/components/ohme/const.pyi +5 -0
  233. homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
  234. homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
  235. homeassistant-stubs/components/ohme/entity.pyi +23 -0
  236. homeassistant-stubs/components/ohme/number.pyi +30 -0
  237. homeassistant-stubs/components/ohme/select.pyi +33 -0
  238. homeassistant-stubs/components/ohme/sensor.pyi +26 -0
  239. homeassistant-stubs/components/ohme/services.pyi +19 -0
  240. homeassistant-stubs/components/ohme/switch.pyi +45 -0
  241. homeassistant-stubs/components/ohme/time.pyi +30 -0
  242. homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
  243. homeassistant-stubs/components/onboarding/views.pyi +29 -43
  244. homeassistant-stubs/components/oncue/__init__.pyi +5 -11
  245. homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
  246. homeassistant-stubs/components/onewire/sensor.pyi +1 -2
  247. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
  248. homeassistant-stubs/components/onkyo/const.pyi +0 -2
  249. homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
  250. homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
  251. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  252. homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
  253. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
  254. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
  255. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
  256. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  257. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  258. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  259. homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
  260. homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
  261. homeassistant-stubs/components/pegel_online/const.pyi +6 -0
  262. homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
  263. homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
  264. homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
  265. homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
  266. homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
  267. homeassistant-stubs/components/recorder/core.pyi +2 -0
  268. homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
  269. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  270. homeassistant-stubs/components/remote_calendar/calendar.pyi +2 -0
  271. homeassistant-stubs/components/remote_calendar/config_flow.pyi +1 -0
  272. homeassistant-stubs/components/remote_calendar/coordinator.pyi +1 -0
  273. homeassistant-stubs/components/remote_calendar/ics.pyi +10 -0
  274. homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
  275. homeassistant-stubs/components/renault/config_flow.pyi +2 -1
  276. homeassistant-stubs/components/renault/const.pyi +2 -1
  277. homeassistant-stubs/components/renault/coordinator.pyi +4 -1
  278. homeassistant-stubs/components/renault/entity.pyi +2 -0
  279. homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
  280. homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
  281. homeassistant-stubs/components/renault/services.pyi +5 -0
  282. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
  283. homeassistant-stubs/components/rest/schema.pyi +1 -1
  284. homeassistant-stubs/components/rest/sensor.pyi +2 -2
  285. homeassistant-stubs/components/rest/switch.pyi +4 -3
  286. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  287. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  288. homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
  289. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
  290. homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
  291. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
  292. homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
  293. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  294. homeassistant-stubs/components/scrape/sensor.pyi +4 -5
  295. homeassistant-stubs/components/shelly/__init__.pyi +1 -0
  296. homeassistant-stubs/components/shelly/climate.pyi +2 -1
  297. homeassistant-stubs/components/shelly/const.pyi +2 -0
  298. homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
  299. homeassistant-stubs/components/shelly/entity.pyi +5 -2
  300. homeassistant-stubs/components/shelly/number.pyi +4 -3
  301. homeassistant-stubs/components/shelly/repairs.pyi +19 -0
  302. homeassistant-stubs/components/shelly/select.pyi +3 -1
  303. homeassistant-stubs/components/shelly/text.pyi +4 -1
  304. homeassistant-stubs/components/shelly/utils.pyi +2 -3
  305. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  306. homeassistant-stubs/components/smlight/button.pyi +1 -0
  307. homeassistant-stubs/components/smlight/sensor.pyi +2 -0
  308. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  309. homeassistant-stubs/components/smlight/update.pyi +3 -1
  310. homeassistant-stubs/components/smtp/__init__.pyi +0 -0
  311. homeassistant-stubs/components/smtp/const.pyi +17 -0
  312. homeassistant-stubs/components/smtp/notify.pyi +47 -0
  313. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  314. homeassistant-stubs/components/sql/sensor.pyi +4 -4
  315. homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
  316. homeassistant-stubs/components/ssdp/common.pyi +5 -0
  317. homeassistant-stubs/components/ssdp/const.pyi +3 -0
  318. homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
  319. homeassistant-stubs/components/ssdp/server.pyi +30 -0
  320. homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
  321. homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
  322. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
  323. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
  324. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
  325. homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
  326. homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
  327. homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
  328. homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
  329. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  330. homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
  331. homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
  332. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  333. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
  334. homeassistant-stubs/components/tractive/__init__.pyi +1 -1
  335. homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
  336. homeassistant-stubs/components/tractive/const.pyi +1 -0
  337. homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
  338. homeassistant-stubs/components/tts/__init__.pyi +22 -13
  339. homeassistant-stubs/components/tts/legacy.pyi +1 -0
  340. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  341. homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
  342. homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
  343. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
  344. homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
  345. homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
  346. homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
  347. homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
  348. homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
  349. homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -1
  350. homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
  351. homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
  352. homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
  353. homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
  354. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  355. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  356. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  357. homeassistant-stubs/components/wemo/models.pyi +3 -4
  358. homeassistant-stubs/components/workday/config_flow.pyi +1 -1
  359. homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
  360. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  361. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  362. homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
  363. homeassistant-stubs/components/zeroconf/const.pyi +3 -0
  364. homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
  365. homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
  366. homeassistant-stubs/components/zone/__init__.pyi +4 -1
  367. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
  368. homeassistant-stubs/components/zwave_js/api.pyi +9 -3
  369. homeassistant-stubs/components/zwave_js/config_flow.pyi +42 -59
  370. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
  371. homeassistant-stubs/config_entries.pyi +13 -9
  372. homeassistant-stubs/const.pyi +5 -0
  373. homeassistant-stubs/core.pyi +1 -3
  374. homeassistant-stubs/core_config.pyi +1 -1
  375. homeassistant-stubs/data_entry_flow.pyi +5 -1
  376. homeassistant-stubs/helpers/aiohttp_client.pyi +9 -1
  377. homeassistant-stubs/helpers/area_registry.pyi +5 -1
  378. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
  379. homeassistant-stubs/helpers/config_validation.pyi +1 -0
  380. homeassistant-stubs/helpers/device_registry.pyi +1 -3
  381. homeassistant-stubs/helpers/entity.pyi +1 -1
  382. homeassistant-stubs/helpers/entity_platform.pyi +3 -3
  383. homeassistant-stubs/helpers/entity_registry.pyi +6 -6
  384. homeassistant-stubs/helpers/event.pyi +2 -0
  385. homeassistant-stubs/helpers/floor_registry.pyi +12 -3
  386. homeassistant-stubs/helpers/llm.pyi +24 -1
  387. homeassistant-stubs/helpers/network.pyi +1 -1
  388. homeassistant-stubs/helpers/script.pyi +2 -1
  389. homeassistant-stubs/helpers/template.pyi +1 -0
  390. homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
  391. homeassistant-stubs/loader.pyi +2 -11
  392. homeassistant-stubs/setup.pyi +7 -6
  393. homeassistant-stubs/util/ssl.pyi +2 -0
  394. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/METADATA +3 -3
  395. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/RECORD +397 -339
  396. homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
  397. homeassistant-stubs/components/oncue/const.pyi +0 -6
  398. homeassistant-stubs/components/oncue/entity.pyi +0 -20
  399. homeassistant-stubs/components/oncue/sensor.pyi +0 -21
  400. homeassistant-stubs/components/oncue/types.pyi +0 -5
  401. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/WHEEL +0 -0
  402. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,38 @@
1
+ from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
2
+ from .entity import EheimDigitalEntity as EheimDigitalEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Awaitable, Callable as Callable
5
+ from dataclasses import dataclass
6
+ from eheimdigital.classic_vario import EheimDigitalClassicVario
7
+ from eheimdigital.device import EheimDigitalDevice
8
+ from eheimdigital.heater import EheimDigitalHeater
9
+ from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
10
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+ from typing import Generic, TypeVar, override
14
+
15
+ PARALLEL_UPDATES: int
16
+ _DeviceT_co = TypeVar('_DeviceT_co', bound=EheimDigitalDevice, covariant=True)
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class EheimDigitalNumberDescription(NumberEntityDescription, Generic[_DeviceT_co]):
20
+ value_fn: Callable[[_DeviceT_co], float | None]
21
+ set_value_fn: Callable[[_DeviceT_co, float], Awaitable[None]]
22
+ uom_fn: Callable[[_DeviceT_co], str] | None = ...
23
+
24
+ CLASSICVARIO_DESCRIPTIONS: tuple[EheimDigitalNumberDescription[EheimDigitalClassicVario], ...]
25
+ HEATER_DESCRIPTIONS: tuple[EheimDigitalNumberDescription[EheimDigitalHeater], ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
+
29
+ class EheimDigitalNumber(EheimDigitalEntity[_DeviceT_co], NumberEntity, Generic[_DeviceT_co]):
30
+ entity_description: EheimDigitalNumberDescription[_DeviceT_co]
31
+ _attr_unique_id: Incomplete
32
+ def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalNumberDescription[_DeviceT_co]) -> None: ...
33
+ @override
34
+ async def async_set_native_value(self, value: float) -> None: ...
35
+ _attr_native_value: Incomplete
36
+ _attr_native_unit_of_measurement: Incomplete
37
+ @override
38
+ def _async_update_attrs(self) -> None: ...
@@ -0,0 +1,32 @@
1
+ from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
2
+ from .entity import EheimDigitalEntity as EheimDigitalEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from eheimdigital.classic_vario import EheimDigitalClassicVario
7
+ from eheimdigital.device import EheimDigitalDevice
8
+ from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
9
+ from homeassistant.components.sensor.const import SensorDeviceClass as SensorDeviceClass
10
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+ from typing import Generic, TypeVar, override
14
+
15
+ PARALLEL_UPDATES: int
16
+ _DeviceT_co = TypeVar('_DeviceT_co', bound=EheimDigitalDevice, covariant=True)
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class EheimDigitalSensorDescription(SensorEntityDescription, Generic[_DeviceT_co]):
20
+ value_fn: Callable[[_DeviceT_co], float | str | None]
21
+
22
+ CLASSICVARIO_DESCRIPTIONS: tuple[EheimDigitalSensorDescription[EheimDigitalClassicVario], ...]
23
+
24
+ async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
+
26
+ class EheimDigitalSensor(EheimDigitalEntity[_DeviceT_co], SensorEntity, Generic[_DeviceT_co]):
27
+ entity_description: EheimDigitalSensorDescription[_DeviceT_co]
28
+ _attr_unique_id: Incomplete
29
+ def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalSensorDescription[_DeviceT_co]) -> None: ...
30
+ _attr_native_value: Incomplete
31
+ @override
32
+ def _async_update_attrs(self) -> None: ...
@@ -0,0 +1,26 @@
1
+ from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
2
+ from .entity import EheimDigitalEntity as EheimDigitalEntity
3
+ from _typeshed import Incomplete
4
+ from eheimdigital.classic_vario import EheimDigitalClassicVario
5
+ from eheimdigital.device import EheimDigitalDevice as EheimDigitalDevice
6
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+ from typing import Any, override
10
+
11
+ PARALLEL_UPDATES: int
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+
15
+ class EheimDigitalClassicVarioSwitch(EheimDigitalEntity[EheimDigitalClassicVario], SwitchEntity):
16
+ _attr_translation_key: str
17
+ _attr_name: Incomplete
18
+ _attr_unique_id: Incomplete
19
+ def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: EheimDigitalClassicVario) -> None: ...
20
+ @override
21
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
22
+ @override
23
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
24
+ _attr_is_on: Incomplete
25
+ @override
26
+ def _async_update_attrs(self) -> None: ...
@@ -0,0 +1,37 @@
1
+ from .coordinator import EheimDigitalConfigEntry as EheimDigitalConfigEntry, EheimDigitalUpdateCoordinator as EheimDigitalUpdateCoordinator
2
+ from .entity import EheimDigitalEntity as EheimDigitalEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Awaitable, Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import time
7
+ from eheimdigital.classic_vario import EheimDigitalClassicVario
8
+ from eheimdigital.device import EheimDigitalDevice
9
+ from eheimdigital.heater import EheimDigitalHeater
10
+ from homeassistant.components.time import TimeEntity as TimeEntity, TimeEntityDescription as TimeEntityDescription
11
+ from homeassistant.const import EntityCategory as EntityCategory
12
+ from homeassistant.core import HomeAssistant as HomeAssistant
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
+ from typing import Generic, TypeVar, override
15
+
16
+ PARALLEL_UPDATES: int
17
+ _DeviceT_co = TypeVar('_DeviceT_co', bound=EheimDigitalDevice, covariant=True)
18
+
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class EheimDigitalTimeDescription(TimeEntityDescription, Generic[_DeviceT_co]):
21
+ value_fn: Callable[[_DeviceT_co], time | None]
22
+ set_value_fn: Callable[[_DeviceT_co, time], Awaitable[None]]
23
+
24
+ CLASSICVARIO_DESCRIPTIONS: tuple[EheimDigitalTimeDescription[EheimDigitalClassicVario], ...]
25
+ HEATER_DESCRIPTIONS: tuple[EheimDigitalTimeDescription[EheimDigitalHeater], ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: EheimDigitalConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
+
29
+ class EheimDigitalTime(EheimDigitalEntity[_DeviceT_co], TimeEntity, Generic[_DeviceT_co]):
30
+ entity_description: EheimDigitalTimeDescription[_DeviceT_co]
31
+ _attr_unique_id: Incomplete
32
+ def __init__(self, coordinator: EheimDigitalUpdateCoordinator, device: _DeviceT_co, description: EheimDigitalTimeDescription[_DeviceT_co]) -> None: ...
33
+ @override
34
+ async def async_set_value(self, value: time) -> None: ...
35
+ _attr_native_value: Incomplete
36
+ @override
37
+ def _async_update_attrs(self) -> None: ...
@@ -1,6 +1,7 @@
1
1
  from . import ElevenLabsConfigEntry as ElevenLabsConfigEntry
2
2
  from .const import ATTR_MODEL as ATTR_MODEL, CONF_OPTIMIZE_LATENCY as CONF_OPTIMIZE_LATENCY, CONF_SIMILARITY as CONF_SIMILARITY, CONF_STABILITY as CONF_STABILITY, CONF_STYLE as CONF_STYLE, CONF_USE_SPEAKER_BOOST as CONF_USE_SPEAKER_BOOST, CONF_VOICE as CONF_VOICE, DEFAULT_OPTIMIZE_LATENCY as DEFAULT_OPTIMIZE_LATENCY, DEFAULT_SIMILARITY as DEFAULT_SIMILARITY, DEFAULT_STABILITY as DEFAULT_STABILITY, DEFAULT_STYLE as DEFAULT_STYLE, DEFAULT_USE_SPEAKER_BOOST as DEFAULT_USE_SPEAKER_BOOST, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Mapping
4
5
  from elevenlabs import AsyncElevenLabs as AsyncElevenLabs
5
6
  from elevenlabs.types import Model as Model, Voice as ElevenLabsVoice, VoiceSettings
6
7
  from homeassistant.components.tts import ATTR_VOICE as ATTR_VOICE, TextToSpeechEntity as TextToSpeechEntity, TtsAudioType as TtsAudioType, Voice as Voice
@@ -9,13 +10,12 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
11
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from types import MappingProxyType
13
13
  from typing import Any
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  PARALLEL_UPDATES: int
17
17
 
18
- def to_voice_settings(options: MappingProxyType[str, Any]) -> VoiceSettings: ...
18
+ def to_voice_settings(options: Mapping[str, Any]) -> VoiceSettings: ...
19
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: ElevenLabsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
20
 
21
21
  class ElevenLabsTTSEntity(TextToSpeechEntity):
@@ -8,6 +8,7 @@ from homeassistant.components.sensor import ATTR_LAST_RESET as ATTR_LAST_RESET,
8
8
  from homeassistant.components.sensor.recorder import reset_detected as reset_detected
9
9
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, UnitOfEnergy as UnitOfEnergy, UnitOfVolume as UnitOfVolume
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
13
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
13
14
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -34,6 +35,8 @@ class SourceAdapter:
34
35
 
35
36
  SOURCE_ADAPTERS: Final[Incomplete]
36
37
 
38
+ class EntityNotFoundError(HomeAssistantError): ...
39
+
37
40
  class SensorManager:
38
41
  manager: Incomplete
39
42
  async_add_entities: Incomplete
@@ -64,6 +67,8 @@ class EnergyCostSensor(SensorEntity):
64
67
  def _reset(self, energy_state: State) -> None: ...
65
68
  @callback
66
69
  def _update_cost(self) -> None: ...
70
+ def _get_energy_price(self, valid_units: set[str], default_unit: str | None) -> tuple[float, str | None]: ...
71
+ def _convert_energy_price(self, energy_price: float, energy_price_unit: str | None, energy_unit: str) -> float: ...
67
72
  _attr_name: Incomplete
68
73
  async def async_added_to_hass(self) -> None: ...
69
74
  @callback
@@ -4,7 +4,7 @@ from .coordinator import EnphaseConfigEntry as EnphaseConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
6
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
7
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
10
10
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
@@ -16,7 +16,9 @@ _LOGGER: Incomplete
16
16
  ENVOY: str
17
17
  CONF_SERIAL: str
18
18
  INSTALLER_AUTH_USERNAME: str
19
+ AVOID_REFLECT_KEYS: Incomplete
19
20
 
21
+ def without_avoid_reflect_keys(dictionary: Mapping[str, Any]) -> dict[str, Any]: ...
20
22
  async def validate_input(hass: HomeAssistant, host: str, username: str, password: str, errors: dict[str, str], description_placeholders: dict[str, str]) -> Envoy: ...
21
23
 
22
24
  class EnphaseConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -1,13 +1,15 @@
1
1
  import datetime
2
2
  from .const import DOMAIN as DOMAIN, INVALID_AUTH_ERRORS as INVALID_AUTH_ERRORS
3
3
  from _typeshed import Incomplete
4
+ from datetime import timedelta
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
6
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
6
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
7
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
- from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
9
+ from homeassistant.helpers.event import async_call_later as async_call_later, async_track_time_interval as async_track_time_interval
9
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
11
  from pyenphase import Envoy as Envoy
12
+ from pyenphase.models.home import EnvoyInterfaceInformation as EnvoyInterfaceInformation
11
13
  from typing import Any
12
14
 
13
15
  SCAN_INTERVAL: Incomplete
@@ -15,6 +17,7 @@ TOKEN_REFRESH_CHECK_INTERVAL: Incomplete
15
17
  STALE_TOKEN_THRESHOLD: Incomplete
16
18
  NOTIFICATION_ID: str
17
19
  FIRMWARE_REFRESH_INTERVAL: Incomplete
20
+ MAC_VERIFICATION_DELAY: Incomplete
18
21
  _LOGGER: Incomplete
19
22
  type EnphaseConfigEntry = ConfigEntry[EnphaseUpdateCoordinator]
20
23
 
@@ -22,12 +25,14 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
22
25
  envoy_serial_number: str
23
26
  envoy_firmware: str
24
27
  config_entry: EnphaseConfigEntry
28
+ interface: EnvoyInterfaceInformation | None
25
29
  envoy: Incomplete
26
30
  username: Incomplete
27
31
  password: Incomplete
28
32
  _setup_complete: bool
29
33
  _cancel_token_refresh: CALLBACK_TYPE | None
30
34
  _cancel_firmware_refresh: CALLBACK_TYPE | None
35
+ _cancel_mac_verification: CALLBACK_TYPE | None
31
36
  def __init__(self, hass: HomeAssistant, envoy: Envoy, entry: EnphaseConfigEntry) -> None: ...
32
37
  @callback
33
38
  def _async_refresh_token_if_needed(self, now: datetime.datetime) -> None: ...
@@ -35,6 +40,10 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
35
40
  @callback
36
41
  def _async_refresh_firmware(self, now: datetime.datetime) -> None: ...
37
42
  async def _async_try_refresh_firmware(self) -> None: ...
43
+ def _schedule_mac_verification(self, delay: timedelta = ...) -> None: ...
44
+ @callback
45
+ def _async_verify_mac(self, now: datetime.datetime) -> None: ...
46
+ async def _async_fetch_and_compare_mac(self) -> None: ...
38
47
  @callback
39
48
  def _async_mark_setup_complete(self) -> None: ...
40
49
  async def _async_setup_and_authenticate(self) -> None: ...
@@ -44,3 +53,5 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
44
53
  def async_cancel_token_refresh(self) -> None: ...
45
54
  @callback
46
55
  def async_cancel_firmware_refresh(self) -> None: ...
56
+ @callback
57
+ def async_cancel_mac_verification(self) -> None: ...
@@ -1,13 +1,14 @@
1
- from .const import CONF_BLUETOOTH_MAC_ADDRESS as CONF_BLUETOOTH_MAC_ADDRESS, CONF_NOISE_PSK as CONF_NOISE_PSK, DATA_FFMPEG_PROXY as DATA_FFMPEG_PROXY, DOMAIN as DOMAIN
1
+ from . import dashboard as dashboard, ffmpeg_proxy as ffmpeg_proxy
2
+ from .const import CONF_BLUETOOTH_MAC_ADDRESS as CONF_BLUETOOTH_MAC_ADDRESS, CONF_NOISE_PSK as CONF_NOISE_PSK, DOMAIN as DOMAIN
2
3
  from .domain_data import DomainData as DomainData
3
4
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
4
- from .ffmpeg_proxy import FFmpegProxyData as FFmpegProxyData, FFmpegProxyView as FFmpegProxyView
5
- from .manager import ESPHomeManager as ESPHomeManager, cleanup_instance as cleanup_instance
5
+ from .manager import DEVICE_CONFLICT_ISSUE_FORMAT as DEVICE_CONFLICT_ISSUE_FORMAT, ESPHomeManager as ESPHomeManager, cleanup_instance as cleanup_instance
6
6
  from _typeshed import Incomplete
7
- from homeassistant.components import ffmpeg as ffmpeg, zeroconf as zeroconf
7
+ from homeassistant.components import zeroconf as zeroconf
8
8
  from homeassistant.components.bluetooth import async_remove_scanner as async_remove_scanner
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.issue_registry import async_delete_issue as async_delete_issue
11
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
13
 
13
14
  CONFIG_SCHEMA: Incomplete
@@ -5,6 +5,7 @@ from aioesphomeapi import APIIntEnum, AlarmControlPanelEntityState as ESPHomeAla
5
5
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState, CodeFormat as CodeFormat
6
6
  from homeassistant.core import callback as callback
7
7
 
8
+ PARALLEL_UPDATES: int
8
9
  _ESPHOME_ACP_STATE_TO_HASS_STATE: EsphomeEnumMapper[ESPHomeAlarmControlPanelState, AlarmControlPanelState]
9
10
 
10
11
  class EspHomeACPFeatures(APIIntEnum):
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from .const import DOMAIN as DOMAIN
3
- from .entity import EsphomeAssistEntity as EsphomeAssistEntity
4
- from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
3
+ from .entity import EsphomeAssistEntity as EsphomeAssistEntity, convert_api_error_ha_error as convert_api_error_ha_error
4
+ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry
5
5
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
6
6
  from .ffmpeg_proxy import async_create_proxy_url as async_create_proxy_url
7
7
  from _typeshed import Incomplete
@@ -11,12 +11,12 @@ from homeassistant.components import assist_satellite as assist_satellite, tts a
11
11
  from homeassistant.components.assist_pipeline import PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineStage as PipelineStage
12
12
  from homeassistant.components.intent import TimerEventType as TimerEventType, TimerInfo as TimerInfo, async_register_timer_handler as async_register_timer_handler
13
13
  from homeassistant.components.media_player import async_process_play_media_url as async_process_play_media_url
14
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
15
14
  from homeassistant.const import Platform as Platform
16
15
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
17
16
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
18
17
  from typing import Any
19
18
 
19
+ PARALLEL_UPDATES: int
20
20
  _LOGGER: Incomplete
21
21
  _VOICE_ASSISTANT_EVENT_TYPES: EsphomeEnumMapper[VoiceAssistantEventType, PipelineEventType]
22
22
  _TIMER_EVENT_TYPES: EsphomeEnumMapper[VoiceAssistantTimerEventType, TimerEventType]
@@ -28,7 +28,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, asyn
28
28
  class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelliteEntity):
29
29
  entity_description: Incomplete
30
30
  config_entry: Incomplete
31
- entry_data: Incomplete
32
31
  cli: Incomplete
33
32
  _is_running: bool
34
33
  _pipeline_task: asyncio.Task | None
@@ -36,7 +35,7 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
36
35
  _tts_streaming_task: asyncio.Task | None
37
36
  _udp_server: VoiceAssistantUDPServer | None
38
37
  _satellite_config: Incomplete
39
- def __init__(self, config_entry: ConfigEntry, entry_data: RuntimeEntryData) -> None: ...
38
+ def __init__(self, entry: ESPHomeConfigEntry) -> None: ...
40
39
  @property
41
40
  def pipeline_entity_id(self) -> str | None: ...
42
41
  @property
@@ -48,7 +47,9 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
48
47
  async def async_added_to_hass(self) -> None: ...
49
48
  async def async_will_remove_from_hass(self) -> None: ...
50
49
  def on_pipeline_event(self, event: PipelineEvent) -> None: ...
50
+ @convert_api_error_ha_error
51
51
  async def async_announce(self, announcement: assist_satellite.AssistSatelliteAnnouncement) -> None: ...
52
+ @convert_api_error_ha_error
52
53
  async def async_start_conversation(self, start_announcement: assist_satellite.AssistSatelliteAnnouncement) -> None: ...
53
54
  async def _do_announce(self, announcement: assist_satellite.AssistSatelliteAnnouncement, run_pipeline_after: bool) -> None: ...
54
55
  _attr_tts_options: Incomplete
@@ -61,7 +62,7 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
61
62
  @callback
62
63
  def async_set_wake_word(self, wake_word_id: str) -> None: ...
63
64
  def _update_tts_format(self) -> None: ...
64
- async def _stream_tts_audio(self, media_id: str, sample_rate: int = 16000, sample_width: int = 2, sample_channels: int = 1, samples_per_chunk: int = 512) -> None: ...
65
+ async def _stream_tts_audio(self, tts_result: tts.ResultStream, sample_rate: int = 16000, sample_width: int = 2, sample_channels: int = 1, samples_per_chunk: int = 512) -> None: ...
65
66
  async def _wrap_audio_stream(self) -> AsyncIterable[bytes]: ...
66
67
  def _stop_pipeline(self) -> None: ...
67
68
  def _abort_pipeline(self) -> None: ...
@@ -1,14 +1,11 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .entity import EsphomeAssistEntity as EsphomeAssistEntity, EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
3
- from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry
1
+ from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
4
2
  from _typeshed import Incomplete
5
3
  from aioesphomeapi import BinarySensorInfo, BinarySensorState, EntityInfo as EntityInfo
6
- from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
4
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
5
+ from homeassistant.core import callback as callback
9
6
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
10
7
 
11
- async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
8
+ PARALLEL_UPDATES: int
12
9
 
13
10
  class EsphomeBinarySensor(EsphomeEntity[BinarySensorInfo, BinarySensorState], BinarySensorEntity):
14
11
  @property
@@ -19,9 +16,4 @@ class EsphomeBinarySensor(EsphomeEntity[BinarySensorInfo, BinarySensorState], Bi
19
16
  @property
20
17
  def available(self) -> bool: ...
21
18
 
22
- class EsphomeAssistInProgressBinarySensor(EsphomeAssistEntity, BinarySensorEntity):
23
- entity_description: Incomplete
24
- async def async_added_to_hass(self) -> None: ...
25
- async def async_will_remove_from_hass(self) -> None: ...
26
- @property
27
- def is_on(self) -> bool | None: ...
19
+ async_setup_entry: Incomplete
@@ -5,6 +5,8 @@ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceCla
5
5
  from homeassistant.core import callback as callback
6
6
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
7
7
 
8
+ PARALLEL_UPDATES: int
9
+
8
10
  class EsphomeButton(EsphomeEntity[ButtonInfo, EntityState], ButtonEntity):
9
11
  _attr_device_class: Incomplete
10
12
  @callback
@@ -9,6 +9,8 @@ from homeassistant.components.camera import Camera as Camera
9
9
  from homeassistant.core import callback as callback
10
10
  from typing import Any
11
11
 
12
+ PARALLEL_UPDATES: int
13
+
12
14
  class EsphomeCamera(Camera, EsphomeEntity[CameraInfo, CameraState]):
13
15
  _loop: Incomplete
14
16
  _image_futures: list[asyncio.Future[bool | None]]
@@ -7,6 +7,7 @@ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_
7
7
  from homeassistant.core import callback as callback
8
8
  from typing import Any
9
9
 
10
+ PARALLEL_UPDATES: int
10
11
  FAN_QUIET: str
11
12
  _CLIMATE_MODES: EsphomeEnumMapper[ClimateMode, HVACMode]
12
13
  _CLIMATE_ACTIONS: EsphomeEnumMapper[ClimateAction, HVACAction]
@@ -1,12 +1,15 @@
1
- from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_NOISE_PSK as CONF_NOISE_PSK, CONF_SUBSCRIBE_LOGS as CONF_SUBSCRIBE_LOGS, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS as DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS, DOMAIN as DOMAIN
1
+ from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_NOISE_PSK as CONF_NOISE_PSK, CONF_SUBSCRIBE_LOGS as CONF_SUBSCRIBE_LOGS, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS as DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
2
2
  from .dashboard import async_get_or_create_dashboard_manager as async_get_or_create_dashboard_manager, async_set_dashboard_info as async_set_dashboard_info
3
+ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry
4
+ from .manager import async_replace_device as async_replace_device
3
5
  from _typeshed import Incomplete
4
6
  from aioesphomeapi import DeviceInfo as DeviceInfo
5
7
  from collections.abc import Mapping
6
8
  from homeassistant.components import zeroconf as zeroconf
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
8
10
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
9
11
  from homeassistant.core import callback as callback
12
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
10
13
  from homeassistant.helpers.device_registry import format_mac as format_mac
11
14
  from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
12
15
  from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
@@ -17,13 +20,14 @@ from typing import Any
17
20
 
18
21
  ERROR_REQUIRES_ENCRYPTION_KEY: str
19
22
  ERROR_INVALID_ENCRYPTION_KEY: str
20
- ESPHOME_URL: str
21
23
  _LOGGER: Incomplete
22
24
  ZERO_NOISE_PSK: str
25
+ DEFAULT_NAME: str
23
26
 
24
27
  class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
25
28
  VERSION: int
26
29
  _reauth_entry: ConfigEntry
30
+ _reconfig_entry: ConfigEntry
27
31
  _host: str | None
28
32
  __name: str | None
29
33
  _port: int | None
@@ -32,12 +36,15 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
32
36
  _noise_psk: str | None
33
37
  _device_info: DeviceInfo | None
34
38
  _device_name: str | None
39
+ _device_mac: str | None
40
+ _entry_with_name_conflict: ConfigEntry | None
35
41
  def __init__(self) -> None: ...
36
42
  async def _async_step_user_base(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> ConfigFlowResult: ...
37
43
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
44
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
39
45
  async def async_step_reauth_encryption_removed_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
46
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
41
48
  @property
42
49
  def _name(self) -> str: ...
43
50
  @_name.setter
@@ -46,19 +53,33 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
46
53
  async def _async_authenticate_or_add(self) -> ConfigFlowResult: ...
47
54
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
48
55
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
56
+ async def _async_validate_mac_abort_configured(self, formatted_mac: str, host: str, port: int | None) -> None: ...
57
+ @callback
58
+ def _abort_unique_id_configured_with_details(self, updates: dict[str, Any]) -> None: ...
49
59
  async def async_step_mqtt(self, discovery_info: MqttServiceInfo) -> ConfigFlowResult: ...
50
60
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
51
61
  async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
62
+ async def async_step_name_conflict(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
63
+ async def async_step_name_conflict_migrate(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
64
+ async def async_step_name_conflict_overwrite(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
65
+ @callback
66
+ def _async_create_entry(self) -> ConfigFlowResult: ...
52
67
  @callback
53
- def _async_get_entry(self) -> ConfigFlowResult: ...
68
+ def _async_make_config_data(self) -> dict[str, Any]: ...
69
+ async def _async_validated_connection(self) -> ConfigFlowResult: ...
70
+ async def _async_reauth_validated_connection(self) -> ConfigFlowResult: ...
71
+ async def _async_reconfig_validated_connection(self) -> ConfigFlowResult: ...
54
72
  async def async_step_encryption_key(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
73
+ @callback
74
+ def _async_get_human_readable_name(self) -> str: ...
55
75
  async def async_step_authenticate(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> ConfigFlowResult: ...
76
+ async def _fetch_device_info(self, host: str, port: int | None, noise_psk: str | None) -> str | None: ...
56
77
  async def fetch_device_info(self) -> str | None: ...
57
78
  async def try_login(self) -> str | None: ...
58
79
  async def _retrieve_encryption_key_from_dashboard(self) -> bool: ...
59
80
  @staticmethod
60
81
  @callback
61
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
82
+ def async_get_options_flow(config_entry: ESPHomeConfigEntry) -> OptionsFlowHandler: ...
62
83
 
63
84
  class OptionsFlowHandler(OptionsFlow):
64
85
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,5 @@
1
1
  from _typeshed import Incomplete
2
+ from typing import Final
2
3
 
3
4
  DOMAIN: str
4
5
  CONF_ALLOW_SERVICE_CALLS: str
@@ -8,9 +9,9 @@ CONF_NOISE_PSK: str
8
9
  CONF_BLUETOOTH_MAC_ADDRESS: str
9
10
  DEFAULT_ALLOW_SERVICE_CALLS: bool
10
11
  DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS: bool
12
+ DEFAULT_PORT: Final[int]
11
13
  STABLE_BLE_VERSION_STR: str
12
14
  STABLE_BLE_VERSION: Incomplete
13
15
  PROJECT_URLS: Incomplete
14
16
  STABLE_BLE_URL_VERSION: Incomplete
15
17
  DEFAULT_URL: Incomplete
16
- DATA_FFMPEG_PROXY: Incomplete
@@ -1,16 +1,17 @@
1
- import aiohttp
2
1
  from _typeshed import Incomplete
3
2
  from esphome_dashboard_api import ConfiguredDevice
4
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
5
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
6
6
 
7
7
  _LOGGER: Incomplete
8
8
  MIN_VERSION_SUPPORTS_UPDATE: Incomplete
9
+ REFRESH_INTERVAL: Incomplete
9
10
 
10
11
  class ESPHomeDashboardCoordinator(DataUpdateCoordinator[dict[str, ConfiguredDevice]]):
11
12
  addon_slug: Incomplete
12
13
  url: Incomplete
13
14
  api: Incomplete
14
15
  supports_update: bool | None
15
- def __init__(self, hass: HomeAssistant, addon_slug: str, url: str, session: aiohttp.ClientSession) -> None: ...
16
- async def _async_update_data(self) -> dict: ...
16
+ def __init__(self, hass: HomeAssistant, addon_slug: str, url: str) -> None: ...
17
+ async def _async_update_data(self) -> dict[str, ConfiguredDevice]: ...
@@ -6,6 +6,8 @@ from homeassistant.core import callback as callback
6
6
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
7
7
  from typing import Any
8
8
 
9
+ PARALLEL_UPDATES: int
10
+
9
11
  class EsphomeCover(EsphomeEntity[CoverInfo, CoverState], CoverEntity):
10
12
  _attr_supported_features: Incomplete
11
13
  _attr_device_class: Incomplete
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import SOURCE_REAUTH as SOURCE_REAUTH
5
5
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
7
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.hassio import is_hassio as is_hassio
8
8
  from homeassistant.helpers.singleton import singleton as singleton
9
9
  from homeassistant.helpers.storage import Store as Store
10
10
  from homeassistant.util.hass_dict import HassKey as HassKey
@@ -4,6 +4,8 @@ from aioesphomeapi import DateInfo, DateState
4
4
  from datetime import date
5
5
  from homeassistant.components.date import DateEntity as DateEntity
6
6
 
7
+ PARALLEL_UPDATES: int
8
+
7
9
  class EsphomeDate(EsphomeEntity[DateInfo, DateState], DateEntity):
8
10
  @property
9
11
  @esphome_state_property
@@ -4,6 +4,8 @@ from aioesphomeapi import DateTimeInfo, DateTimeState
4
4
  from datetime import datetime
5
5
  from homeassistant.components.datetime import DateTimeEntity as DateTimeEntity
6
6
 
7
+ PARALLEL_UPDATES: int
8
+
7
9
  class EsphomeDateTime(EsphomeEntity[DateTimeInfo, DateTimeState], DateTimeEntity):
8
10
  @property
9
11
  @esphome_state_property
@@ -1,4 +1,5 @@
1
1
  from . import CONF_NOISE_PSK as CONF_NOISE_PSK
2
+ from .const import CONF_DEVICE_NAME as CONF_DEVICE_NAME
2
3
  from .dashboard import async_get_dashboard as async_get_dashboard
3
4
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry
4
5
  from _typeshed import Incomplete
@@ -9,5 +10,6 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
10
  from typing import Any
10
11
 
11
12
  REDACT_KEYS: Incomplete
13
+ CONFIGURED_DEVICE_KEYS: Incomplete
12
14
 
13
15
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ESPHomeConfigEntry) -> dict[str, Any]: ...