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
@@ -1,12 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
2
3
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
4
  from _typeshed import Incomplete
4
- from aioesphomeapi import EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
5
+ from aioesphomeapi import DeviceInfo as EsphomeDeviceInfo, EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
5
6
  from collections.abc import Awaitable, Callable as Callable, Coroutine
6
7
  from homeassistant.const import EntityCategory as EntityCategory
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
- from homeassistant.helpers import entity_platform as entity_platform
10
+ from homeassistant.helpers import device_registry as dr, entity_platform as entity_platform
10
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
12
  from homeassistant.helpers.entity import Entity as Entity
12
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -21,13 +22,18 @@ def async_static_info_updated(hass: HomeAssistant, entry_data: RuntimeEntryData,
21
22
  async def platform_async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddEntitiesCallback, *, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT]) -> None: ...
22
23
  def esphome_state_property[_R, _EntityT: EsphomeEntity[Any, Any]](func: Callable[[_EntityT], _R]) -> Callable[[_EntityT], _R | None]: ...
23
24
  def esphome_float_state_property[_EntityT: EsphomeEntity[Any, Any]](func: Callable[[_EntityT], float | None]) -> Callable[[_EntityT], float | None]: ...
24
- def convert_api_error_ha_error[**_P, _R, _EntityT: EsphomeEntity[Any, Any]](func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
25
+ def convert_api_error_ha_error[**_P, _R, _EntityT: EsphomeBaseEntity](func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
25
26
 
26
27
  ICON_SCHEMA: Incomplete
27
28
  ENTITY_CATEGORIES: EsphomeEnumMapper[EsphomeEntityCategory, EntityCategory | None]
28
29
 
29
- class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
30
+ class EsphomeBaseEntity(Entity):
31
+ _attr_has_entity_name: bool
30
32
  _attr_should_poll: bool
33
+ _device_info: EsphomeDeviceInfo
34
+ device_entry: dr.DeviceEntry
35
+
36
+ class EsphomeEntity(EsphomeBaseEntity, Generic[_InfoT, _StateT]):
31
37
  _static_info: _InfoT
32
38
  _state: _StateT
33
39
  _has_state: bool
@@ -37,7 +43,6 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
37
43
  _key: Incomplete
38
44
  _state_type: Incomplete
39
45
  _attr_device_info: Incomplete
40
- _attr_has_entity_name: bool
41
46
  entity_id: Incomplete
42
47
  def __init__(self, entry_data: RuntimeEntryData, domain: str, entity_info: EntityInfo, state_type: type[_StateT]) -> None: ...
43
48
  async def async_added_to_hass(self) -> None: ...
@@ -60,10 +65,8 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
60
65
  @callback
61
66
  def _on_device_update(self) -> None: ...
62
67
 
63
- class EsphomeAssistEntity(Entity):
64
- _attr_has_entity_name: bool
65
- _attr_should_poll: bool
66
- _entry_data: RuntimeEntryData
68
+ class EsphomeAssistEntity(EsphomeBaseEntity):
69
+ _entry_data: Incomplete
67
70
  _device_info: Incomplete
68
71
  _attr_unique_id: Incomplete
69
72
  _attr_device_info: Incomplete
@@ -5,6 +5,8 @@ from homeassistant.components.event import EventDeviceClass as EventDeviceClass,
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 EsphomeEvent(EsphomeEntity[EventInfo, Event], EventEntity):
9
11
  _attr_event_types: Incomplete
10
12
  _attr_device_class: Incomplete
@@ -7,6 +7,7 @@ from homeassistant.core import callback as callback
7
7
  from homeassistant.util.percentage import ordered_list_item_to_percentage as ordered_list_item_to_percentage, percentage_to_ordered_list_item as percentage_to_ordered_list_item, percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
8
8
  from typing import Any
9
9
 
10
+ PARALLEL_UPDATES: int
10
11
  ORDERED_NAMED_FAN_SPEEDS: Incomplete
11
12
  _FAN_DIRECTIONS: EsphomeEnumMapper[FanDirection, str]
12
13
 
@@ -26,19 +27,19 @@ class EsphomeFan(EsphomeEntity[FanInfo, FanState], FanEntity):
26
27
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
27
28
  @property
28
29
  @esphome_state_property
29
- def is_on(self) -> bool | None: ...
30
+ def is_on(self) -> bool: ...
30
31
  @property
31
32
  @esphome_state_property
32
33
  def percentage(self) -> int | None: ...
33
34
  @property
34
35
  @esphome_state_property
35
- def oscillating(self) -> bool | None: ...
36
+ def oscillating(self) -> bool: ...
36
37
  @property
37
38
  @esphome_state_property
38
39
  def current_direction(self) -> str | None: ...
39
40
  @property
40
41
  @esphome_state_property
41
- def preset_mode(self) -> str | None: ...
42
+ def preset_mode(self) -> str: ...
42
43
  _attr_supported_features: Incomplete
43
44
  _attr_preset_modes: Incomplete
44
45
  _attr_speed_count: Incomplete
@@ -1,17 +1,20 @@
1
1
  import asyncio
2
- from .const import DATA_FFMPEG_PROXY as DATA_FFMPEG_PROXY
2
+ from .const import DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp import web
5
5
  from aiohttp.abc import AbstractStreamWriter as AbstractStreamWriter, BaseRequest as BaseRequest
6
6
  from dataclasses import dataclass, field
7
+ from homeassistant.components import ffmpeg as ffmpeg
7
8
  from homeassistant.components.ffmpeg import FFmpegManager as FFmpegManager
8
9
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView
9
- from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.util.hass_dict import HassKey as HassKey
10
12
  from typing import Final
11
13
 
12
14
  _LOGGER: Incomplete
13
15
  _MAX_CONVERSIONS_PER_DEVICE: Final[int]
14
16
 
17
+ @callback
15
18
  def async_create_proxy_url(hass: HomeAssistant, device_id: str, media_url: str, media_format: str, rate: int | None = None, channels: int | None = None, width: int | None = None) -> str: ...
16
19
 
17
20
  @dataclass
@@ -50,3 +53,8 @@ class FFmpegProxyView(HomeAssistantView):
50
53
  proxy_data: Incomplete
51
54
  def __init__(self, manager: FFmpegManager, proxy_data: FFmpegProxyData) -> None: ...
52
55
  async def get(self, request: web.Request, device_id: str, filename: str) -> web.StreamResponse: ...
56
+
57
+ DATA_FFMPEG_PROXY: HassKey[FFmpegProxyData]
58
+
59
+ @callback
60
+ def async_setup(hass: HomeAssistant) -> None: ...
@@ -6,6 +6,7 @@ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, A
6
6
  from homeassistant.core import callback as callback
7
7
  from typing import Any
8
8
 
9
+ PARALLEL_UPDATES: int
9
10
  FLASH_LENGTHS: Incomplete
10
11
  _COLOR_MODE_MAPPING: Incomplete
11
12
 
@@ -22,32 +23,32 @@ class EsphomeLight(EsphomeEntity[LightInfo, LightState], LightEntity):
22
23
  _supports_color_mode: bool
23
24
  @property
24
25
  @esphome_state_property
25
- def is_on(self) -> bool | None: ...
26
+ def is_on(self) -> bool: ...
26
27
  @convert_api_error_ha_error
27
28
  async def async_turn_on(self, **kwargs: Any) -> None: ...
28
29
  @convert_api_error_ha_error
29
30
  async def async_turn_off(self, **kwargs: Any) -> None: ...
30
31
  @property
31
32
  @esphome_state_property
32
- def brightness(self) -> int | None: ...
33
+ def brightness(self) -> int: ...
33
34
  @property
34
35
  @esphome_state_property
35
- def color_mode(self) -> str | None: ...
36
+ def color_mode(self) -> str: ...
36
37
  @property
37
38
  @esphome_state_property
38
- def rgb_color(self) -> tuple[int, int, int] | None: ...
39
+ def rgb_color(self) -> tuple[int, int, int]: ...
39
40
  @property
40
41
  @esphome_state_property
41
- def rgbw_color(self) -> tuple[int, int, int, int] | None: ...
42
+ def rgbw_color(self) -> tuple[int, int, int, int]: ...
42
43
  @property
43
44
  @esphome_state_property
44
- def rgbww_color(self) -> tuple[int, int, int, int, int] | None: ...
45
+ def rgbww_color(self) -> tuple[int, int, int, int, int]: ...
45
46
  @property
46
47
  @esphome_state_property
47
48
  def color_temp_kelvin(self) -> int: ...
48
49
  @property
49
50
  @esphome_state_property
50
- def effect(self) -> str | None: ...
51
+ def effect(self) -> str: ...
51
52
  _attr_supported_features: Incomplete
52
53
  _attr_supported_color_modes: Incomplete
53
54
  _attr_effect_list: Incomplete
@@ -6,6 +6,8 @@ from homeassistant.const import ATTR_CODE as ATTR_CODE
6
6
  from homeassistant.core import callback as callback
7
7
  from typing import Any
8
8
 
9
+ PARALLEL_UPDATES: int
10
+
9
11
  class EsphomeLock(EsphomeEntity[LockInfo, LockEntityState], LockEntity):
10
12
  _attr_assumed_state: Incomplete
11
13
  _attr_supported_features: Incomplete
@@ -14,16 +16,16 @@ class EsphomeLock(EsphomeEntity[LockInfo, LockEntityState], LockEntity):
14
16
  def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
15
17
  @property
16
18
  @esphome_state_property
17
- def is_locked(self) -> bool | None: ...
19
+ def is_locked(self) -> bool: ...
18
20
  @property
19
21
  @esphome_state_property
20
- def is_locking(self) -> bool | None: ...
22
+ def is_locking(self) -> bool: ...
21
23
  @property
22
24
  @esphome_state_property
23
- def is_unlocking(self) -> bool | None: ...
25
+ def is_unlocking(self) -> bool: ...
24
26
  @property
25
27
  @esphome_state_property
26
- def is_jammed(self) -> bool | None: ...
28
+ def is_jammed(self) -> bool: ...
27
29
  @convert_api_error_ha_error
28
30
  async def async_lock(self, **kwargs: Any) -> None: ...
29
31
  @convert_api_error_ha_error
@@ -9,7 +9,7 @@ from aioesphomeapi.api_pb2 import SubscribeLogsResponse as SubscribeLogsResponse
9
9
  from homeassistant.components import bluetooth as bluetooth, tag as tag, zeroconf as zeroconf
10
10
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_MODE as CONF_MODE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, Platform as Platform
11
11
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
12
- from homeassistant.exceptions import TemplateError as TemplateError
12
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
13
13
  from homeassistant.helpers import template as template
14
14
  from homeassistant.helpers.device_registry import format_mac as format_mac
15
15
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
@@ -19,6 +19,7 @@ from homeassistant.helpers.template import Template as Template
19
19
  from homeassistant.util.async_ import create_eager_task as create_eager_task
20
20
  from typing import Any, NamedTuple
21
21
 
22
+ DEVICE_CONFLICT_ISSUE_FORMAT: str
22
23
  _LOGGER: Incomplete
23
24
  LOG_LEVEL_TO_LOGGER: Incomplete
24
25
  LOGGER_TO_LOG_LEVEL: Incomplete
@@ -63,11 +64,13 @@ class ESPHomeManager:
63
64
  def _async_get_equivalent_log_level(self) -> LogLevel: ...
64
65
  @callback
65
66
  def _async_subscribe_logs(self, log_level: LogLevel) -> None: ...
66
- async def _on_connnect(self) -> None: ...
67
+ async def _on_connect(self) -> None: ...
67
68
  async def on_disconnect(self, expected_disconnect: bool) -> None: ...
68
69
  async def on_connect_error(self, err: Exception) -> None: ...
69
70
  @callback
70
71
  def _async_handle_logging_changed(self, _event: Event) -> None: ...
72
+ @callback
73
+ def _async_cleanup(self) -> None: ...
71
74
  async def async_start(self) -> None: ...
72
75
 
73
76
  @callback
@@ -88,4 +91,5 @@ def build_service_name(device_info: EsphomeDeviceInfo, service: UserService) ->
88
91
  def _async_register_service(hass: HomeAssistant, entry_data: RuntimeEntryData, device_info: EsphomeDeviceInfo, service: UserService) -> None: ...
89
92
  @callback
90
93
  def _setup_services(hass: HomeAssistant, entry_data: RuntimeEntryData, services: list[UserService]) -> None: ...
91
- async def cleanup_instance(hass: HomeAssistant, entry: ESPHomeConfigEntry) -> RuntimeEntryData: ...
94
+ async def cleanup_instance(entry: ESPHomeConfigEntry) -> RuntimeEntryData: ...
95
+ async def async_replace_device(hass: HomeAssistant, entry_id: str, old_mac: str, new_mac: str) -> None: ...
@@ -8,6 +8,7 @@ from homeassistant.components.media_player import ATTR_MEDIA_ANNOUNCE as ATTR_ME
8
8
  from homeassistant.core import callback as callback
9
9
  from typing import Any
10
10
 
11
+ PARALLEL_UPDATES: int
11
12
  _LOGGER: Incomplete
12
13
  _STATES: EsphomeEnumMapper[EspMediaPlayerState, MediaPlayerState]
13
14
  ATTR_BYPASS_PROXY: str
@@ -25,7 +26,7 @@ class EsphomeMediaPlayer(EsphomeEntity[MediaPlayerInfo, MediaPlayerEntityState],
25
26
  def is_volume_muted(self) -> bool: ...
26
27
  @property
27
28
  @esphome_float_state_property
28
- def volume_level(self) -> float | None: ...
29
+ def volume_level(self) -> float: ...
29
30
  @convert_api_error_ha_error
30
31
  async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
31
32
  async def async_will_remove_from_hass(self) -> None: ...
@@ -6,6 +6,7 @@ from homeassistant.components.number import NumberDeviceClass as NumberDeviceCla
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
8
8
 
9
+ PARALLEL_UPDATES: int
9
10
  NUMBER_MODES: EsphomeEnumMapper[EsphomeNumberMode, NumberMode]
10
11
 
11
12
  class EsphomeNumber(EsphomeEntity[NumberInfo, NumberState], NumberEntity):
@@ -1,5 +1,24 @@
1
- from homeassistant.components.assist_pipeline.repair_flows import AssistInProgressDeprecatedRepairFlow as AssistInProgressDeprecatedRepairFlow
1
+ from .manager import async_replace_device as async_replace_device
2
+ from _typeshed import Incomplete
3
+ from homeassistant import data_entry_flow as data_entry_flow
2
4
  from homeassistant.components.repairs import RepairsFlow as RepairsFlow
3
- from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+
7
+ class ESPHomeRepair(RepairsFlow):
8
+ _data: Incomplete
9
+ def __init__(self, data: dict[str, str | int | float | None] | None) -> None: ...
10
+ @callback
11
+ def _async_get_placeholders(self) -> dict[str, str]: ...
12
+
13
+ class DeviceConflictRepair(ESPHomeRepair):
14
+ @property
15
+ def entry_id(self) -> str: ...
16
+ @property
17
+ def mac(self) -> str: ...
18
+ @property
19
+ def stored_mac(self) -> str: ...
20
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
21
+ async def async_step_migrate(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
22
+ async def async_step_manual(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
4
23
 
5
24
  async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -11,6 +11,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
11
11
  from homeassistant.helpers import restore_state as restore_state
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
13
 
14
+ PARALLEL_UPDATES: int
15
+
14
16
  async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
17
 
16
18
  class EsphomeSelect(EsphomeEntity[SelectInfo, SelectState], SelectEntity):
@@ -31,12 +33,11 @@ class EsphomeVadSensitivitySelect(EsphomeAssistEntity, VadSensitivitySelect):
31
33
 
32
34
  class EsphomeAssistSatelliteWakeWordSelect(EsphomeAssistEntity, SelectEntity, restore_state.RestoreEntity):
33
35
  entity_description: Incomplete
34
- _attr_should_poll: bool
35
36
  _attr_current_option: str | None
36
37
  _attr_options: list[str]
37
38
  _attr_unique_id: Incomplete
38
39
  _wake_words: dict[str, str]
39
- def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData) -> None: ...
40
+ def __init__(self, entry_data: RuntimeEntryData) -> None: ...
40
41
  @property
41
42
  def available(self) -> bool: ...
42
43
  async def async_added_to_hass(self) -> None: ...
@@ -1,15 +1,17 @@
1
1
  from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
2
+ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry
2
3
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
4
  from _typeshed import Incomplete
4
5
  from aioesphomeapi import EntityInfo as EntityInfo, SensorInfo, SensorState, SensorStateClass as EsphomeSensorStateClass, TextSensorInfo, TextSensorState
5
6
  from datetime import date, datetime
6
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
11
11
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+ PARALLEL_UPDATES: int
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
15
 
14
16
  _STATE_CLASSES: EsphomeEnumMapper[EsphomeSensorStateClass, SensorStateClass | None]
15
17
 
@@ -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 EsphomeSwitch(EsphomeEntity[SwitchInfo, SwitchState], SwitchEntity):
10
12
  _attr_assumed_state: Incomplete
11
13
  _attr_device_class: Incomplete
@@ -13,7 +15,7 @@ class EsphomeSwitch(EsphomeEntity[SwitchInfo, SwitchState], SwitchEntity):
13
15
  def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
14
16
  @property
15
17
  @esphome_state_property
16
- def is_on(self) -> bool | None: ...
18
+ def is_on(self) -> bool: ...
17
19
  @convert_api_error_ha_error
18
20
  async def async_turn_on(self, **kwargs: Any) -> None: ...
19
21
  @convert_api_error_ha_error
@@ -5,6 +5,7 @@ from aioesphomeapi import EntityInfo as EntityInfo, TextInfo, TextMode as Esphom
5
5
  from homeassistant.components.text import TextEntity as TextEntity, TextMode as TextMode
6
6
  from homeassistant.core import callback as callback
7
7
 
8
+ PARALLEL_UPDATES: int
8
9
  TEXT_MODES: EsphomeEnumMapper[EsphomeTextMode, TextMode]
9
10
 
10
11
  class EsphomeText(EsphomeEntity[TextInfo, TextState], TextEntity):
@@ -4,6 +4,8 @@ from aioesphomeapi import TimeInfo, TimeState
4
4
  from datetime import time
5
5
  from homeassistant.components.time import TimeEntity as TimeEntity
6
6
 
7
+ PARALLEL_UPDATES: int
8
+
7
9
  class EsphomeTime(EsphomeEntity[TimeInfo, TimeState], TimeEntity):
8
10
  @property
9
11
  @esphome_state_property
@@ -1,12 +1,11 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import ESPHomeDashboardCoordinator as ESPHomeDashboardCoordinator
2
3
  from .dashboard import async_get_dashboard as async_get_dashboard
3
- from .domain_data import DomainData as DomainData
4
4
  from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
5
- from .entry_data import RuntimeEntryData as RuntimeEntryData
5
+ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
6
6
  from _typeshed import Incomplete
7
7
  from aioesphomeapi import DeviceInfo as ESPHomeDeviceInfo, EntityInfo as EntityInfo, UpdateInfo, UpdateState
8
8
  from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -15,16 +14,16 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
15
14
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
16
15
  from typing import Any
17
16
 
17
+ PARALLEL_UPDATES: int
18
18
  KEY_UPDATE_LOCK: str
19
19
  NO_FEATURES: Incomplete
20
20
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
22
 
23
23
  class ESPHomeDashboardUpdateEntity(CoordinatorEntity[ESPHomeDashboardCoordinator], UpdateEntity):
24
24
  _attr_has_entity_name: bool
25
25
  _attr_device_class: Incomplete
26
26
  _attr_title: str
27
- _attr_name: str
28
27
  _attr_release_url: str
29
28
  _attr_entity_registry_enabled_default: bool
30
29
  _entry_data: Incomplete
@@ -54,7 +53,7 @@ class ESPHomeUpdateEntity(EsphomeEntity[UpdateInfo, UpdateState], UpdateEntity):
54
53
  def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
55
54
  @property
56
55
  @esphome_state_property
57
- def installed_version(self) -> str | None: ...
56
+ def installed_version(self) -> str: ...
58
57
  @property
59
58
  @esphome_state_property
60
59
  def in_progress(self) -> bool: ...
@@ -63,13 +62,13 @@ class ESPHomeUpdateEntity(EsphomeEntity[UpdateInfo, UpdateState], UpdateEntity):
63
62
  def latest_version(self) -> str | None: ...
64
63
  @property
65
64
  @esphome_state_property
66
- def release_summary(self) -> str | None: ...
65
+ def release_summary(self) -> str: ...
67
66
  @property
68
67
  @esphome_state_property
69
- def release_url(self) -> str | None: ...
68
+ def release_url(self) -> str: ...
70
69
  @property
71
70
  @esphome_state_property
72
- def title(self) -> str | None: ...
71
+ def title(self) -> str: ...
73
72
  @property
74
73
  @esphome_state_property
75
74
  def update_percentage(self) -> int | None: ...
@@ -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 EsphomeValve(EsphomeEntity[ValveInfo, ValveState], ValveEntity):
10
12
  _attr_supported_features: Incomplete
11
13
  _attr_device_class: Incomplete
@@ -24,7 +26,7 @@ class EsphomeValve(EsphomeEntity[ValveInfo, ValveState], ValveEntity):
24
26
  def is_closing(self) -> bool: ...
25
27
  @property
26
28
  @esphome_state_property
27
- def current_valve_position(self) -> int | None: ...
29
+ def current_valve_position(self) -> int: ...
28
30
  @convert_api_error_ha_error
29
31
  async def async_open_valve(self, **kwargs: Any) -> None: ...
30
32
  @convert_api_error_ha_error
@@ -9,6 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
 
11
11
  _LOGGER: Incomplete
12
+ PARALLEL_UPDATES: int
12
13
 
13
14
  @dataclass(frozen=True, kw_only=True)
14
15
  class FritzBinarySensorEntityDescription(BinarySensorEntityDescription, FritzEntityDescription):
@@ -13,6 +13,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
13
13
  from typing import Any, Final
14
14
 
15
15
  _LOGGER: Incomplete
16
+ PARALLEL_UPDATES: int
16
17
 
17
18
  @dataclass(frozen=True, kw_only=True)
18
19
  class FritzButtonDescription(ButtonEntityDescription):
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable, ValuesView
3
+ from collections.abc import Callable as Callable, Mapping, ValuesView
4
4
  from dataclasses import dataclass, field
5
5
  from datetime import datetime
6
6
  from fritzconnection import FritzConnection
@@ -16,7 +16,6 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_disp
16
16
  from homeassistant.helpers.typing import StateType as StateType
17
17
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
18
18
  from homeassistant.util.hass_dict import HassKey as HassKey
19
- from types import MappingProxyType
20
19
  from typing import Any, TypedDict
21
20
 
22
21
  _LOGGER: Incomplete
@@ -62,7 +61,7 @@ class UpdateCoordinatorDataType(TypedDict):
62
61
  class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
63
62
  config_entry: FritzConfigEntry
64
63
  _devices: dict[str, FritzDevice]
65
- _options: MappingProxyType[str, Any] | None
64
+ _options: Mapping[str, Any] | None
66
65
  _unique_id: str | None
67
66
  connection: FritzConnection
68
67
  fritz_guest_wifi: FritzGuestWLAN
@@ -86,7 +85,7 @@ class FritzBoxTools(DataUpdateCoordinator[UpdateCoordinatorDataType]):
86
85
  _release_url: str | None
87
86
  _entity_update_functions: dict[str, Callable[[FritzStatus, StateType], Any]]
88
87
  def __init__(self, hass: HomeAssistant, config_entry: FritzConfigEntry, password: str, port: int, username: str = ..., host: str = ..., use_tls: bool = ...) -> None: ...
89
- async def async_setup(self, options: MappingProxyType[str, Any] | None = None) -> None: ...
88
+ async def async_setup(self, options: Mapping[str, Any] | None = None) -> None: ...
90
89
  def setup(self) -> None: ...
91
90
  async def async_register_entity_updates(self, key: str, update_fn: Callable[[FritzStatus, StateType], Any]) -> Callable[[], None]: ...
92
91
  def _entity_states_update(self) -> dict: ...
@@ -8,6 +8,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
 
10
10
  _LOGGER: Incomplete
11
+ PARALLEL_UPDATES: int
11
12
 
12
13
  async def async_setup_entry(hass: HomeAssistant, entry: FritzConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
14
  @callback
@@ -8,6 +8,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
8
8
  from homeassistant.util import slugify as slugify
9
9
 
10
10
  _LOGGER: Incomplete
11
+ PARALLEL_UPDATES: int
11
12
 
12
13
  async def async_setup_entry(hass: HomeAssistant, entry: FritzConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
14
 
@@ -14,6 +14,7 @@ from homeassistant.helpers.typing import StateType as StateType
14
14
  from homeassistant.util.dt import utcnow as utcnow
15
15
 
16
16
  _LOGGER: Incomplete
17
+ PARALLEL_UPDATES: int
17
18
 
18
19
  def _uptime_calculation(seconds_uptime: float, last_value: datetime | None) -> datetime: ...
19
20
  def _retrieve_device_uptime_state(status: FritzStatus, last_value: datetime) -> datetime: ...
@@ -15,6 +15,7 @@ from homeassistant.util import slugify as slugify
15
15
  from typing import Any
16
16
 
17
17
  _LOGGER: Incomplete
18
+ PARALLEL_UPDATES: int
18
19
 
19
20
  async def _async_deflection_entities_list(avm_wrapper: AvmWrapper, device_friendly_name: str) -> list[FritzBoxDeflectionSwitch]: ...
20
21
  async def _async_port_entities_list(avm_wrapper: AvmWrapper, device_friendly_name: str, local_ip: str) -> list[FritzBoxPortSwitch]: ...
@@ -9,6 +9,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
9
9
  from typing import Any
10
10
 
11
11
  _LOGGER: Incomplete
12
+ PARALLEL_UPDATES: int
12
13
 
13
14
  @dataclass(frozen=True, kw_only=True)
14
15
  class FritzUpdateEntityDescription(UpdateEntityDescription, FritzEntityDescription): ...
@@ -10,13 +10,10 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
10
10
  from pyfritzhome.fritzhomedevice import FritzhomeDevice as FritzhomeDevice
11
11
  from typing import Final
12
12
 
13
- @dataclass(frozen=True)
14
- class FritzEntityDescriptionMixinBinarySensor(FritzEntityDescriptionMixinBase):
13
+ @dataclass(frozen=True, kw_only=True)
14
+ class FritzBinarySensorEntityDescription(BinarySensorEntityDescription, FritzEntityDescriptionMixinBase):
15
15
  is_on: Callable[[FritzhomeDevice], bool | None]
16
16
 
17
- @dataclass(frozen=True)
18
- class FritzBinarySensorEntityDescription(BinarySensorEntityDescription, FritzEntityDescriptionMixinBinarySensor): ...
19
-
20
17
  BINARY_SENSOR_TYPES: Final[tuple[FritzBinarySensorEntityDescription, ...]]
21
18
 
22
19
  async def async_setup_entry(hass: HomeAssistant, entry: FritzboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -20,8 +20,7 @@ MIN_TEMPERATURE: int
20
20
  MAX_TEMPERATURE: int
21
21
  ON_API_TEMPERATURE: float
22
22
  OFF_API_TEMPERATURE: float
23
- ON_REPORT_SET_TEMPERATURE: float
24
- OFF_REPORT_SET_TEMPERATURE: float
23
+ PRESET_API_HKR_STATE_MAPPING: Incomplete
25
24
 
26
25
  async def async_setup_entry(hass: HomeAssistant, entry: FritzboxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
27
26
 
@@ -40,7 +39,8 @@ class FritzboxThermostat(FritzBoxDeviceEntity, ClimateEntity):
40
39
  @property
41
40
  def current_temperature(self) -> float: ...
42
41
  @property
43
- def target_temperature(self) -> float: ...
42
+ def target_temperature(self) -> float | None: ...
43
+ async def async_set_hkr_state(self, hkr_state: str) -> None: ...
44
44
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
45
45
  @property
46
46
  def hvac_mode(self) -> HVACMode: ...
@@ -50,3 +50,4 @@ class FritzboxThermostat(FritzBoxDeviceEntity, ClimateEntity):
50
50
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
51
51
  @property
52
52
  def extra_state_attributes(self) -> ClimateExtraAttributes: ...
53
+ def check_active_or_lock_mode(self) -> None: ...
@@ -26,6 +26,6 @@ class FritzboxDataUpdateCoordinator(DataUpdateCoordinator[FritzboxCoordinatorDat
26
26
  data: Incomplete
27
27
  def __init__(self, hass: HomeAssistant, config_entry: FritzboxConfigEntry) -> None: ...
28
28
  async def async_setup(self) -> None: ...
29
- def cleanup_removed_devices(self, available_ains: list[str]) -> None: ...
29
+ def cleanup_removed_devices(self, data: FritzboxCoordinatorData) -> None: ...
30
30
  def _update_fritz_devices(self) -> FritzboxCoordinatorData: ...
31
31
  async def _async_update_data(self) -> FritzboxCoordinatorData: ...
@@ -14,13 +14,10 @@ from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp
14
14
  from pyfritzhome.fritzhomedevice import FritzhomeDevice as FritzhomeDevice
15
15
  from typing import Final
16
16
 
17
- @dataclass(frozen=True)
18
- class FritzEntityDescriptionMixinSensor(FritzEntityDescriptionMixinBase):
19
- native_value: Callable[[FritzhomeDevice], StateType | datetime]
20
-
21
- @dataclass(frozen=True)
22
- class FritzSensorEntityDescription(SensorEntityDescription, FritzEntityDescriptionMixinSensor):
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class FritzSensorEntityDescription(SensorEntityDescription, FritzEntityDescriptionMixinBase):
23
19
  entity_category_fn: Callable[[FritzhomeDevice], EntityCategory | None] | None = ...
20
+ native_value: Callable[[FritzhomeDevice], StateType | datetime]
24
21
 
25
22
  def suitable_eco_temperature(device: FritzhomeDevice) -> bool: ...
26
23
  def suitable_comfort_temperature(device: FritzhomeDevice) -> bool: ...