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,6 +1,6 @@
1
1
  from .assist_pipeline import async_migrate_cloud_pipeline_engine as async_migrate_cloud_pipeline_engine
2
2
  from .client import CloudClient as CloudClient
3
- from .const import DATA_CLOUD as DATA_CLOUD, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, TTS_ENTITY_UNIQUE_ID as TTS_ENTITY_UNIQUE_ID
3
+ from .const import DATA_CLOUD as DATA_CLOUD, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, TTS_ENTITY_UNIQUE_ID as TTS_ENTITY_UNIQUE_ID, VOICE_STYLE_SEPERATOR as VOICE_STYLE_SEPERATOR
4
4
  from .prefs import CloudPreferences as CloudPreferences
5
5
  from _typeshed import Incomplete
6
6
  from hass_nabucasa import Cloud as Cloud
@@ -21,6 +21,8 @@ SUPPORT_LANGUAGES: Incomplete
21
21
  DEFAULT_VOICES: Incomplete
22
22
  _LOGGER: Incomplete
23
23
 
24
+ @callback
25
+ def _prepare_voice_args(*, hass: HomeAssistant, language: str, voice: str, gender: str | None) -> dict: ...
24
26
  def _deprecated_platform(value: str) -> str: ...
25
27
  def validate_lang(value: dict[str, Any]) -> dict[str, Any]: ...
26
28
 
@@ -49,6 +51,7 @@ class CloudTTSEntity(TextToSpeechEntity):
49
51
  async def async_get_tts_audio(self, message: str, language: str, options: dict[str, Any]) -> TtsAudioType: ...
50
52
 
51
53
  class CloudProvider(Provider):
54
+ has_entity: bool
52
55
  cloud: Incomplete
53
56
  name: str
54
57
  def __init__(self, cloud: Cloud[CloudClient]) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .const import DEFAULT_PORT as DEFAULT_PORT
2
2
  from .coordinator import ComelitBaseCoordinator as ComelitBaseCoordinator, ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge, ComelitVedoSystem as ComelitVedoSystem
3
+ from .utils import async_client_session as async_client_session
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, Platform as Platform
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -26,7 +26,6 @@ class ComelitAlarmEntity(CoordinatorEntity[ComelitVedoSystem], AlarmControlPanel
26
26
  _attr_code_format: Incomplete
27
27
  _attr_code_arm_required: bool
28
28
  _attr_supported_features: Incomplete
29
- _api: Incomplete
30
29
  _area_index: Incomplete
31
30
  _attr_unique_id: Incomplete
32
31
  _attr_device_info: Incomplete
@@ -13,7 +13,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntr
13
13
  class ComelitVedoBinarySensorEntity(CoordinatorEntity[ComelitVedoSystem], BinarySensorEntity):
14
14
  _attr_has_entity_name: bool
15
15
  _attr_device_class: Incomplete
16
- _api: Incomplete
17
16
  _zone_index: Incomplete
18
17
  _attr_unique_id: Incomplete
19
18
  _attr_device_info: Incomplete
@@ -1,5 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
3
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
3
4
  from _typeshed import Incomplete
4
5
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
5
6
  from enum import StrEnum
@@ -8,7 +9,6 @@ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
12
  from typing import Any, TypedDict
13
13
 
14
14
  PARALLEL_UPDATES: int
@@ -35,19 +35,14 @@ MODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand]
35
35
 
36
36
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
37
37
 
38
- class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity):
38
+ class ComelitClimateEntity(ComelitBridgeBaseEntity, ClimateEntity):
39
39
  _attr_hvac_modes: Incomplete
40
40
  _attr_max_temp: int
41
41
  _attr_min_temp: int
42
42
  _attr_supported_features: Incomplete
43
43
  _attr_target_temperature_step = PRECISION_TENTHS
44
44
  _attr_temperature_unit: Incomplete
45
- _attr_has_entity_name: bool
46
45
  _attr_name: Incomplete
47
- _api: Incomplete
48
- _device: Incomplete
49
- _attr_unique_id: Incomplete
50
- _attr_device_info: Incomplete
51
46
  def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
52
47
  _attr_current_temperature: Incomplete
53
48
  _attr_hvac_action: Incomplete
@@ -1,5 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import DEFAULT_PORT as DEFAULT_PORT, DEVICE_TYPE_LIST as DEVICE_TYPE_LIST, DOMAIN as DOMAIN, _LOGGER as _LOGGER
3
+ from .utils import async_client_session as async_client_session
3
4
  from _typeshed import Incomplete
4
5
  from aiocomelit.api import ComelitCommonApi as ComelitCommonApi
5
6
  from collections.abc import Mapping
@@ -3,6 +3,7 @@ from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL, _LOGGER as
3
3
  from _typeshed import Incomplete
4
4
  from abc import abstractmethod
5
5
  from aiocomelit.api import AlarmDataObject, ComelitCommonApi as ComelitCommonApi, ComelitSerialBridgeObject, ComelitVedoApi, ComelitVedoAreaObject as ComelitVedoAreaObject, ComelitVedoZoneObject as ComelitVedoZoneObject, ComeliteSerialBridgeApi
6
+ from aiohttp import ClientSession as ClientSession
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
@@ -28,11 +29,11 @@ class ComelitBaseCoordinator(DataUpdateCoordinator[T], metaclass=abc.ABCMeta):
28
29
  class ComelitSerialBridge(ComelitBaseCoordinator[dict[str, dict[int, ComelitSerialBridgeObject]]]):
29
30
  _hw_version: str
30
31
  api: ComeliteSerialBridgeApi
31
- def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int) -> None: ...
32
+ def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int, session: ClientSession) -> None: ...
32
33
  async def _async_update_system_data(self) -> dict[str, dict[int, ComelitSerialBridgeObject]]: ...
33
34
 
34
35
  class ComelitVedoSystem(ComelitBaseCoordinator[AlarmDataObject]):
35
36
  _hw_version: str
36
37
  api: ComelitVedoApi
37
- def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int) -> None: ...
38
+ def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int, session: ClientSession) -> None: ...
38
39
  async def _async_update_system_data(self) -> AlarmDataObject: ...
@@ -1,25 +1,20 @@
1
1
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
2
3
  from _typeshed import Incomplete
3
4
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
5
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverState as CoverState
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
8
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
8
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
9
  from typing import Any
10
10
 
11
11
  PARALLEL_UPDATES: int
12
12
 
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
14
 
15
- class ComelitCoverEntity(CoordinatorEntity[ComelitSerialBridge], RestoreEntity, CoverEntity):
15
+ class ComelitCoverEntity(ComelitBridgeBaseEntity, RestoreEntity, CoverEntity):
16
16
  _attr_device_class: Incomplete
17
- _attr_has_entity_name: bool
18
17
  _attr_name: Incomplete
19
- _api: Incomplete
20
- _device: Incomplete
21
- _attr_unique_id: Incomplete
22
- _attr_device_info: Incomplete
23
18
  _last_action: int | None
24
19
  _last_state: str | None
25
20
  def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
@@ -0,0 +1,11 @@
1
+ from .coordinator import ComelitSerialBridge as ComelitSerialBridge
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
5
+
6
+ class ComelitBridgeBaseEntity(CoordinatorEntity[ComelitSerialBridge]):
7
+ _attr_has_entity_name: bool
8
+ _device: Incomplete
9
+ _attr_unique_id: Incomplete
10
+ _attr_device_info: Incomplete
11
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
3
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
3
4
  from _typeshed import Incomplete
4
5
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
5
6
  from enum import StrEnum
@@ -7,7 +8,6 @@ from homeassistant.components.humidifier import HumidifierAction as HumidifierAc
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
11
  from typing import Any
12
12
 
13
13
  PARALLEL_UPDATES: int
@@ -31,16 +31,12 @@ MODE_TO_ACTION: dict[str, HumidifierComelitCommand]
31
31
 
32
32
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
33
 
34
- class ComelitHumidifierEntity(CoordinatorEntity[ComelitSerialBridge], HumidifierEntity):
34
+ class ComelitHumidifierEntity(ComelitBridgeBaseEntity, HumidifierEntity):
35
35
  _attr_supported_features: Incomplete
36
36
  _attr_available_modes: Incomplete
37
37
  _attr_min_humidity: int
38
38
  _attr_max_humidity: int
39
- _attr_has_entity_name: bool
40
- _api: Incomplete
41
- _device: Incomplete
42
39
  _attr_unique_id: Incomplete
43
- _attr_device_info: Incomplete
44
40
  _attr_device_class: Incomplete
45
41
  _attr_translation_key: Incomplete
46
42
  _active_mode: Incomplete
@@ -1,26 +1,19 @@
1
1
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
2
3
  from _typeshed import Incomplete
3
- from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
4
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
7
  from typing import Any
9
8
 
10
9
  PARALLEL_UPDATES: int
11
10
 
12
11
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
12
 
14
- class ComelitLightEntity(CoordinatorEntity[ComelitSerialBridge], LightEntity):
13
+ class ComelitLightEntity(ComelitBridgeBaseEntity, LightEntity):
15
14
  _attr_color_mode: Incomplete
16
- _attr_has_entity_name: bool
17
15
  _attr_name: Incomplete
18
16
  _attr_supported_color_modes: Incomplete
19
- _api: Incomplete
20
- _device: Incomplete
21
- _attr_unique_id: Incomplete
22
- _attr_device_info: Incomplete
23
- def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
24
17
  async def _light_set_state(self, state: int) -> None: ...
25
18
  async def async_turn_on(self, **kwargs: Any) -> None: ...
26
19
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -1,4 +1,5 @@
1
1
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge, ComelitVedoSystem as ComelitVedoSystem
2
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
2
3
  from _typeshed import Incomplete
3
4
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
4
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
@@ -17,13 +18,8 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntr
17
18
  async def async_setup_bridge_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
19
  async def async_setup_vedo_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
20
 
20
- class ComelitBridgeSensorEntity(CoordinatorEntity[ComelitSerialBridge], SensorEntity):
21
- _attr_has_entity_name: bool
21
+ class ComelitBridgeSensorEntity(ComelitBridgeBaseEntity, SensorEntity):
22
22
  _attr_name: Incomplete
23
- _api: Incomplete
24
- _device: Incomplete
25
- _attr_unique_id: Incomplete
26
- _attr_device_info: Incomplete
27
23
  entity_description: Incomplete
28
24
  def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str, description: SensorEntityDescription) -> None: ...
29
25
  @property
@@ -31,7 +27,6 @@ class ComelitBridgeSensorEntity(CoordinatorEntity[ComelitSerialBridge], SensorEn
31
27
 
32
28
  class ComelitVedoSensorEntity(CoordinatorEntity[ComelitVedoSystem], SensorEntity):
33
29
  _attr_has_entity_name: bool
34
- _api: Incomplete
35
30
  _zone_index: Incomplete
36
31
  _attr_unique_id: Incomplete
37
32
  _attr_device_info: Incomplete
@@ -1,23 +1,19 @@
1
1
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
2
3
  from _typeshed import Incomplete
3
4
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
5
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
8
  from typing import Any
9
9
 
10
10
  PARALLEL_UPDATES: int
11
11
 
12
12
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
13
 
14
- class ComelitSwitchEntity(CoordinatorEntity[ComelitSerialBridge], SwitchEntity):
15
- _attr_has_entity_name: bool
14
+ class ComelitSwitchEntity(ComelitBridgeBaseEntity, SwitchEntity):
16
15
  _attr_name: Incomplete
17
- _api: Incomplete
18
- _device: Incomplete
19
16
  _attr_unique_id: Incomplete
20
- _attr_device_info: Incomplete
21
17
  _attr_device_class: Incomplete
22
18
  def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
23
19
  async def _switch_set_state(self, state: int) -> None: ...
@@ -0,0 +1,5 @@
1
+ from aiohttp import ClientSession as ClientSession
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
4
+
5
+ async def async_client_session(hass: HomeAssistant) -> ClientSession: ...
@@ -7,7 +7,7 @@ from homeassistant.helpers import discovery as discovery
7
7
  from homeassistant.helpers.entity_platform import async_get_platforms as async_get_platforms
8
8
  from homeassistant.helpers.reload import async_integration_yaml_config as async_integration_yaml_config
9
9
  from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
10
- from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY
10
+ from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, ValueTemplate as ValueTemplate
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from typing import Any
13
13
 
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
11
11
  from homeassistant.helpers.template import Template as Template
12
- from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity, ValueTemplate as ValueTemplate
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
14
14
 
15
15
  DEFAULT_NAME: str
@@ -28,7 +28,7 @@ class CommandBinarySensor(ManualTriggerEntity, BinarySensorEntity):
28
28
  _value_template: Incomplete
29
29
  _scan_interval: Incomplete
30
30
  _process_updates: asyncio.Lock | None
31
- def __init__(self, data: CommandSensorData, config: ConfigType, payload_on: str, payload_off: str, value_template: Template | None, scan_interval: timedelta) -> None: ...
31
+ def __init__(self, data: CommandSensorData, config: ConfigType, payload_on: str, payload_off: str, value_template: ValueTemplate | None, scan_interval: timedelta) -> None: ...
32
32
  async def async_added_to_hass(self) -> None: ...
33
33
  async def _update_entity_state(self, now: datetime | None = None) -> None: ...
34
34
  async def _async_update(self) -> None: ...
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
11
11
  from homeassistant.helpers.template import Template as Template
12
- from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity, ValueTemplate as ValueTemplate
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
14
14
  from homeassistant.util import slugify as slugify
15
15
  from typing import Any
@@ -29,7 +29,7 @@ class CommandCover(ManualTriggerEntity, CoverEntity):
29
29
  _timeout: Incomplete
30
30
  _scan_interval: Incomplete
31
31
  _process_updates: asyncio.Lock | None
32
- def __init__(self, config: ConfigType, command_open: str, command_close: str, command_stop: str, command_state: str | None, value_template: Template | None, timeout: int, scan_interval: timedelta) -> None: ...
32
+ def __init__(self, config: ConfigType, command_open: str, command_close: str, command_stop: str, command_state: str | None, value_template: ValueTemplate | None, timeout: int, scan_interval: timedelta) -> None: ...
33
33
  async def async_added_to_hass(self) -> None: ...
34
34
  async def _async_move_cover(self, command: str) -> bool: ...
35
35
  @property
@@ -11,7 +11,7 @@ from homeassistant.exceptions import TemplateError as TemplateError
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
12
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
13
13
  from homeassistant.helpers.template import Template as Template
14
- from homeassistant.helpers.trigger_template_entity import ManualTriggerSensorEntity as ManualTriggerSensorEntity
14
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerSensorEntity as ManualTriggerSensorEntity, ValueTemplate as ValueTemplate
15
15
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
16
16
  from typing import Any
17
17
 
@@ -30,7 +30,7 @@ class CommandSensor(ManualTriggerSensorEntity):
30
30
  _value_template: Incomplete
31
31
  _scan_interval: Incomplete
32
32
  _process_updates: asyncio.Lock | None
33
- def __init__(self, data: CommandSensorData, config: ConfigType, value_template: Template | None, json_attributes: list[str] | None, json_attributes_path: str | None, scan_interval: timedelta) -> None: ...
33
+ def __init__(self, data: CommandSensorData, config: ConfigType, value_template: ValueTemplate | None, json_attributes: list[str] | None, json_attributes_path: str | None, scan_interval: timedelta) -> None: ...
34
34
  @property
35
35
  def extra_state_attributes(self) -> dict[str, Any]: ...
36
36
  async def async_added_to_hass(self) -> None: ...
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
11
11
  from homeassistant.helpers.template import Template as Template
12
- from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity, ValueTemplate as ValueTemplate
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
14
14
  from homeassistant.util import slugify as slugify
15
15
  from typing import Any
@@ -29,7 +29,7 @@ class CommandSwitch(ManualTriggerEntity, SwitchEntity):
29
29
  _timeout: Incomplete
30
30
  _scan_interval: Incomplete
31
31
  _process_updates: asyncio.Lock | None
32
- def __init__(self, config: ConfigType, object_id: str, command_on: str, command_off: str, command_state: str | None, value_template: Template | None, timeout: int, scan_interval: timedelta) -> None: ...
32
+ def __init__(self, config: ConfigType, object_id: str, command_on: str, command_off: str, command_state: str | None, value_template: ValueTemplate | None, timeout: int, scan_interval: timedelta) -> None: ...
33
33
  async def async_added_to_hass(self) -> None: ...
34
34
  async def _switch(self, command: str) -> bool: ...
35
35
  async def _async_query_state_value(self, command: str) -> str | None: ...
@@ -78,7 +78,9 @@ class SubentryManagerFlowResourceView(FlowManagerResourceView[config_entries.Con
78
78
  async def post(self, request: web.Request, flow_id: str) -> web.Response: ...
79
79
 
80
80
  @websocket_api.require_admin
81
- def config_entries_progress(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
81
+ def config_entries_flow_progress(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
82
+ @websocket_api.require_admin
83
+ def config_entries_flow_subscribe(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
82
84
  def send_entry_not_found(connection: websocket_api.ActiveConnection, msg_id: int) -> None: ...
83
85
  def get_entry(hass: HomeAssistant, connection: websocket_api.ActiveConnection, entry_id: str, msg_id: int) -> config_entries.ConfigEntry | None: ...
84
86
  @websocket_api.require_admin
@@ -1,6 +1,6 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_WHITE as ATTR_WHITE, ColorMode as ColorMode, DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
3
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_WHITE as ATTR_WHITE, ColorMode as ColorMode, DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, EFFECT_OFF as EFFECT_OFF, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -21,6 +21,7 @@ class DemoLight(LightEntity):
21
21
  _attr_should_poll: bool
22
22
  _attr_max_color_temp_kelvin = DEFAULT_MAX_KELVIN
23
23
  _attr_min_color_temp_kelvin = DEFAULT_MIN_KELVIN
24
+ _attr_translation_key: Incomplete
24
25
  _available: bool
25
26
  _brightness: Incomplete
26
27
  _ct: Incomplete
@@ -34,7 +35,7 @@ class DemoLight(LightEntity):
34
35
  _color_mode: Incomplete
35
36
  _color_modes: Incomplete
36
37
  _attr_device_info: Incomplete
37
- def __init__(self, unique_id: str, device_name: str, state: bool, available: bool = False, brightness: int = 180, ct: int | None = None, effect_list: list[str] | None = None, effect: str | None = None, hs_color: tuple[int, int] | None = None, rgbw_color: tuple[int, int, int, int] | None = None, rgbww_color: tuple[int, int, int, int, int] | None = None, supported_color_modes: set[ColorMode] | None = None) -> None: ...
38
+ def __init__(self, unique_id: str, device_name: str, state: bool, available: bool = False, brightness: int = 180, ct: int | None = None, effect_list: list[str] | None = None, effect: str | None = None, hs_color: tuple[int, int] | None = None, rgbw_color: tuple[int, int, int, int] | None = None, rgbww_color: tuple[int, int, int, int, int] | None = None, supported_color_modes: set[ColorMode] | None = None, translation_key: str | None = None) -> None: ...
38
39
  @property
39
40
  def unique_id(self) -> str: ...
40
41
  @property
@@ -14,6 +14,7 @@ YOUTUBE_PLAYER_SUPPORT: Incomplete
14
14
  MUSIC_PLAYER_SUPPORT: Incomplete
15
15
  NETFLIX_PLAYER_SUPPORT: Incomplete
16
16
  BROWSE_PLAYER_SUPPORT: Incomplete
17
+ SEARCH_PLAYER_SUPPORT: Incomplete
17
18
 
18
19
  class AbstractDemoPlayer(MediaPlayerEntity):
19
20
  _attr_should_poll: bool
@@ -110,3 +111,6 @@ class DemoBrowsePlayer(AbstractDemoPlayer):
110
111
 
111
112
  class DemoGroupPlayer(AbstractDemoPlayer):
112
113
  _attr_supported_features: Incomplete
114
+
115
+ class DemoSearchPlayer(AbstractDemoPlayer):
116
+ _attr_supported_features = SEARCH_PLAYER_SUPPORT
@@ -44,7 +44,7 @@ CACHED_TRACKER_PROPERTIES_WITH_ATTR_: Incomplete
44
44
  class TrackerEntity(BaseTrackerEntity, cached_properties=CACHED_TRACKER_PROPERTIES_WITH_ATTR_):
45
45
  entity_description: TrackerEntityDescription
46
46
  _attr_latitude: float | None
47
- _attr_location_accuracy: int
47
+ _attr_location_accuracy: float
48
48
  _attr_location_name: str | None
49
49
  _attr_longitude: float | None
50
50
  _attr_source_type: SourceType
@@ -53,7 +53,7 @@ class TrackerEntity(BaseTrackerEntity, cached_properties=CACHED_TRACKER_PROPERTI
53
53
  @property
54
54
  def force_update(self) -> bool: ...
55
55
  @cached_property
56
- def location_accuracy(self) -> int: ...
56
+ def location_accuracy(self) -> float: ...
57
57
  @cached_property
58
58
  def location_name(self) -> str | None: ...
59
59
  @cached_property
@@ -1,4 +1,5 @@
1
1
  from .const import GATEWAY_SERIAL_PATTERN as GATEWAY_SERIAL_PATTERN, PLATFORMS as PLATFORMS
2
+ from collections.abc import Mapping
2
3
  from devolo_home_control_api.homecontrol import HomeControl
3
4
  from devolo_home_control_api.mydevolo import Mydevolo
4
5
  from homeassistant.components import zeroconf as zeroconf
@@ -7,11 +8,10 @@ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as
7
8
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
8
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
9
10
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
10
- from types import MappingProxyType
11
11
  from typing import Any
12
12
 
13
13
  type DevoloHomeControlConfigEntry = ConfigEntry[list[HomeControl]]
14
14
  async def async_setup_entry(hass: HomeAssistant, entry: DevoloHomeControlConfigEntry) -> bool: ...
15
15
  async def async_unload_entry(hass: HomeAssistant, entry: DevoloHomeControlConfigEntry) -> bool: ...
16
16
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: DeviceEntry) -> bool: ...
17
- def configure_mydevolo(conf: dict[str, Any] | MappingProxyType[str, Any]) -> Mydevolo: ...
17
+ def configure_mydevolo(conf: Mapping[str, Any]) -> Mydevolo: ...
@@ -15,14 +15,13 @@ PARALLEL_UPDATES: int
15
15
  async def async_setup_entry(hass: HomeAssistant, entry: DevoloHomeNetworkConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
16
 
17
17
  class DevoloScannerEntity(CoordinatorEntity[DevoloDataUpdateCoordinator[list[ConnectedStationInfo]]], ScannerEntity):
18
+ _attr_translation_key: str
18
19
  _device: Incomplete
19
20
  _attr_mac_address: Incomplete
20
21
  def __init__(self, coordinator: DevoloDataUpdateCoordinator[list[ConnectedStationInfo]], device: Device, mac: str) -> None: ...
21
22
  @property
22
23
  def extra_state_attributes(self) -> dict[str, str]: ...
23
24
  @property
24
- def icon(self) -> str: ...
25
- @property
26
25
  def is_connected(self) -> bool: ...
27
26
  @property
28
27
  def unique_id(self) -> str: ...
@@ -1,11 +1,12 @@
1
1
  import aiodhcpwatcher
2
2
  import asyncio
3
3
  import re
4
- from .const import DOMAIN as DOMAIN
4
+ from . import websocket_api as websocket_api
5
+ from .const import DOMAIN as DOMAIN, HOSTNAME as HOSTNAME, IP_ADDRESS as IP_ADDRESS, MAC_ADDRESS as MAC_ADDRESS
6
+ from .models import DATA_DHCP as DATA_DHCP, DHCPAddressData as DHCPAddressData, DHCPData as DHCPData, DhcpMatchers as DhcpMatchers
5
7
  from _typeshed import Incomplete
6
8
  from aiodiscover import DiscoverHosts
7
9
  from collections.abc import Callable as Callable
8
- from dataclasses import dataclass
9
10
  from homeassistant import config_entries as config_entries
10
11
  from homeassistant.components.device_tracker import ATTR_HOST_NAME as ATTR_HOST_NAME, ATTR_IP as ATTR_IP, ATTR_MAC as ATTR_MAC, ATTR_SOURCE_TYPE as ATTR_SOURCE_TYPE, CONNECTED_DEVICE_REGISTERED as CONNECTED_DEVICE_REGISTERED, SourceType as SourceType
11
12
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, STATE_HOME as STATE_HOME
@@ -21,29 +22,21 @@ from homeassistant.loader import DHCPMatcher as DHCPMatcher, async_get_dhcp as a
21
22
  from typing import Any, Final
22
23
 
23
24
  CONFIG_SCHEMA: Incomplete
24
- HOSTNAME: Final[str]
25
- MAC_ADDRESS: Final[str]
26
- IP_ADDRESS: Final[str]
27
25
  REGISTERED_DEVICES: Final[str]
28
26
  SCAN_INTERVAL: Incomplete
29
27
  _LOGGER: Incomplete
30
28
  _DEPRECATED_DhcpServiceInfo: Incomplete
31
29
 
32
- @dataclass(slots=True)
33
- class DhcpMatchers:
34
- registered_devices_domains: set[str]
35
- no_oui_matchers: dict[str, list[DHCPMatcher]]
36
- oui_matchers: dict[str, list[DHCPMatcher]]
37
-
38
30
  def async_index_integration_matchers(integration_matchers: list[DHCPMatcher]) -> DhcpMatchers: ...
39
31
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
40
32
 
41
33
  class WatcherBase:
42
34
  hass: Incomplete
35
+ _callbacks: Incomplete
43
36
  _integration_matchers: Incomplete
44
37
  _address_data: Incomplete
45
38
  _unsub: Callable[[], None] | None
46
- def __init__(self, hass: HomeAssistant, address_data: dict[str, dict[str, str]], integration_matchers: DhcpMatchers) -> None: ...
39
+ def __init__(self, hass: HomeAssistant, dhcp_data: DHCPData) -> None: ...
47
40
  @callback
48
41
  def async_stop(self) -> None: ...
49
42
  @callback
@@ -52,7 +45,7 @@ class WatcherBase:
52
45
  class NetworkWatcher(WatcherBase):
53
46
  _discover_hosts: DiscoverHosts | None
54
47
  _discover_task: asyncio.Task | None
55
- def __init__(self, hass: HomeAssistant, address_data: dict[str, dict[str, str]], integration_matchers: DhcpMatchers) -> None: ...
48
+ def __init__(self, hass: HomeAssistant, dhcp_data: DHCPData) -> None: ...
56
49
  @callback
57
50
  def async_stop(self) -> None: ...
58
51
  _unsub: Incomplete
@@ -1 +1,6 @@
1
+ from typing import Final
2
+
1
3
  DOMAIN: str
4
+ HOSTNAME: Final[str]
5
+ MAC_ADDRESS: Final[str]
6
+ IP_ADDRESS: Final[str]
@@ -0,0 +1,8 @@
1
+ from .models import DATA_DHCP as DATA_DHCP, DHCPAddressData as DHCPAddressData
2
+ from collections.abc import Callable as Callable
3
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
4
+
5
+ @callback
6
+ def async_register_dhcp_callback_internal(hass: HomeAssistant, callback_: Callable[[dict[str, DHCPAddressData]], None]) -> CALLBACK_TYPE: ...
7
+ @callback
8
+ def async_get_address_data_internal(hass: HomeAssistant) -> dict[str, DHCPAddressData]: ...
@@ -0,0 +1,25 @@
1
+ import dataclasses
2
+ from .const import DOMAIN as DOMAIN
3
+ from collections.abc import Callable as Callable
4
+ from dataclasses import dataclass
5
+ from homeassistant.loader import DHCPMatcher as DHCPMatcher
6
+ from homeassistant.util.hass_dict import HassKey as HassKey
7
+ from typing import TypedDict
8
+
9
+ @dataclass(slots=True)
10
+ class DhcpMatchers:
11
+ registered_devices_domains: set[str]
12
+ no_oui_matchers: dict[str, list[DHCPMatcher]]
13
+ oui_matchers: dict[str, list[DHCPMatcher]]
14
+
15
+ class DHCPAddressData(TypedDict):
16
+ hostname: str
17
+ ip: str
18
+
19
+ @dataclasses.dataclass(slots=True)
20
+ class DHCPData:
21
+ integration_matchers: DhcpMatchers
22
+ callbacks: set[Callable[[dict[str, DHCPAddressData]], None]] = dataclasses.field(default_factory=set)
23
+ address_data: dict[str, DHCPAddressData] = dataclasses.field(default_factory=dict)
24
+
25
+ DATA_DHCP: HassKey[DHCPData]
@@ -0,0 +1,13 @@
1
+ from .const import HOSTNAME as HOSTNAME, IP_ADDRESS as IP_ADDRESS
2
+ from .helpers import async_get_address_data_internal as async_get_address_data_internal, async_register_dhcp_callback_internal as async_register_dhcp_callback_internal
3
+ from .models import DHCPAddressData as DHCPAddressData
4
+ from homeassistant.components import websocket_api as websocket_api
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.json import json_bytes as json_bytes
7
+ from typing import Any
8
+
9
+ @callback
10
+ def async_setup(hass: HomeAssistant) -> None: ...
11
+ @websocket_api.require_admin
12
+ @websocket_api.async_response
13
+ async def ws_subscribe_discovery(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -14,6 +14,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntr
14
14
  class EcovacsMap(EcovacsEntity[CapabilityMap], ImageEntity):
15
15
  _attr_content_type: str
16
16
  _attr_extra_state_attributes: Incomplete
17
+ _map: Incomplete
17
18
  def __init__(self, device: Device, capability: CapabilityMap, hass: HomeAssistant) -> None: ...
18
19
  entity_description: Incomplete
19
20
  def image(self) -> bytes | None: ...