homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.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 (334) hide show
  1. homeassistant-stubs/bootstrap.pyi +3 -2
  2. homeassistant-stubs/components/accuweather/const.pyi +3 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/anova/config_flow.pyi +4 -1
  5. homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
  6. homeassistant-stubs/components/arwn/sensor.pyi +3 -2
  7. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
  8. homeassistant-stubs/components/assist_satellite/const.pyi +3 -0
  9. homeassistant-stubs/components/assist_satellite/entity.pyi +6 -4
  10. homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
  11. homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
  12. homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
  13. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  14. homeassistant-stubs/components/backup/agent.pyi +1 -1
  15. homeassistant-stubs/components/backup/backup.pyi +1 -1
  16. homeassistant-stubs/components/backup/config_flow.pyi +7 -0
  17. homeassistant-stubs/components/backup/coordinator.pyi +28 -0
  18. homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
  19. homeassistant-stubs/components/backup/entity.pyi +13 -0
  20. homeassistant-stubs/components/backup/http.pyi +1 -0
  21. homeassistant-stubs/components/backup/manager.pyi +8 -3
  22. homeassistant-stubs/components/backup/sensor.pyi +23 -0
  23. homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
  24. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
  25. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
  26. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
  27. homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
  28. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  29. homeassistant-stubs/components/brother/coordinator.pyi +1 -0
  30. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  31. homeassistant-stubs/components/cloud/http_api.pyi +6 -3
  32. homeassistant-stubs/components/cloud/tts.pyi +2 -2
  33. homeassistant-stubs/components/comelit/__init__.pyi +11 -0
  34. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +44 -0
  35. homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
  36. homeassistant-stubs/components/comelit/climate.pyi +60 -0
  37. homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
  38. homeassistant-stubs/components/comelit/const.pyi +7 -0
  39. homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
  40. homeassistant-stubs/components/comelit/cover.pyi +39 -0
  41. homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
  42. homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
  43. homeassistant-stubs/components/comelit/light.pyi +28 -0
  44. homeassistant-stubs/components/comelit/sensor.pyi +45 -0
  45. homeassistant-stubs/components/comelit/switch.pyi +27 -0
  46. homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
  47. homeassistant-stubs/components/demo/valve.pyi +30 -0
  48. homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
  49. homeassistant-stubs/components/energy/data.pyi +1 -0
  50. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
  51. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  52. homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
  53. homeassistant-stubs/components/esphome/config_flow.pyi +1 -0
  54. homeassistant-stubs/components/esphome/const.pyi +1 -0
  55. homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
  56. homeassistant-stubs/components/esphome/event.pyi +2 -0
  57. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  58. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  59. homeassistant-stubs/components/frontend/__init__.pyi +9 -10
  60. homeassistant-stubs/components/frontend/storage.pyi +2 -1
  61. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  62. homeassistant-stubs/components/gios/config_flow.pyi +1 -0
  63. homeassistant-stubs/components/gios/coordinator.pyi +2 -2
  64. homeassistant-stubs/components/google/calendar.pyi +3 -2
  65. homeassistant-stubs/components/google_drive/backup.pyi +2 -2
  66. homeassistant-stubs/components/habitica/const.pyi +25 -0
  67. homeassistant-stubs/components/habitica/services.pyi +6 -2
  68. homeassistant-stubs/components/heos/const.pyi +1 -0
  69. homeassistant-stubs/components/heos/coordinator.pyi +5 -5
  70. homeassistant-stubs/components/heos/media_player.pyi +18 -8
  71. homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
  72. homeassistant-stubs/components/home_connect/button.pyi +0 -2
  73. homeassistant-stubs/components/home_connect/const.pyi +1 -6
  74. homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
  75. homeassistant-stubs/components/home_connect/entity.pyi +7 -2
  76. homeassistant-stubs/components/home_connect/light.pyi +1 -1
  77. homeassistant-stubs/components/home_connect/number.pyi +4 -3
  78. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  79. homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
  80. homeassistant-stubs/components/home_connect/services.pyi +35 -0
  81. homeassistant-stubs/components/home_connect/switch.pyi +2 -1
  82. homeassistant-stubs/components/home_connect/time.pyi +6 -1
  83. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
  84. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  85. homeassistant-stubs/components/homeassistant_hardware/update.pyi +68 -0
  86. homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
  87. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -1
  88. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
  89. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
  90. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +29 -0
  91. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
  92. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  93. homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
  94. homeassistant-stubs/components/homeassistant_yellow/update.pyi +29 -0
  95. homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
  96. homeassistant-stubs/components/homee/button.pyi +1 -0
  97. homeassistant-stubs/components/homee/cover.pyi +1 -0
  98. homeassistant-stubs/components/homee/light.pyi +1 -0
  99. homeassistant-stubs/components/homee/lock.pyi +25 -0
  100. homeassistant-stubs/components/homee/number.pyi +1 -0
  101. homeassistant-stubs/components/homee/select.pyi +23 -0
  102. homeassistant-stubs/components/homee/sensor.pyi +2 -0
  103. homeassistant-stubs/components/homee/switch.pyi +2 -0
  104. homeassistant-stubs/components/homee/valve.pyi +1 -0
  105. homeassistant-stubs/components/homekit/__init__.pyi +3 -1
  106. homeassistant-stubs/components/homekit/accessories.pyi +1 -0
  107. homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
  108. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
  109. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
  110. homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
  111. homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
  112. homeassistant-stubs/components/iron_os/number.pyi +2 -0
  113. homeassistant-stubs/components/iron_os/select.pyi +3 -0
  114. homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
  115. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
  116. homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
  117. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
  118. homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
  119. homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
  120. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
  121. homeassistant-stubs/components/linkplay/entity.pyi +0 -1
  122. homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
  123. homeassistant-stubs/components/linkplay/utils.pyi +0 -32
  124. homeassistant-stubs/components/lovelace/__init__.pyi +3 -1
  125. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  126. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
  127. homeassistant-stubs/components/mastodon/const.pyi +0 -7
  128. homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
  129. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
  130. homeassistant-stubs/components/mastodon/entity.pyi +1 -1
  131. homeassistant-stubs/components/mastodon/notify.pyi +3 -2
  132. homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
  133. homeassistant-stubs/components/mastodon/services.pyi +1 -0
  134. homeassistant-stubs/components/mastodon/utils.pyi +3 -2
  135. homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
  136. homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
  137. homeassistant-stubs/components/mcp_server/const.pyi +1 -2
  138. homeassistant-stubs/components/mcp_server/server.pyi +1 -0
  139. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  140. homeassistant-stubs/components/modbus/climate.pyi +6 -2
  141. homeassistant-stubs/components/modbus/const.pyi +10 -0
  142. homeassistant-stubs/components/mqtt/config_flow.pyi +95 -7
  143. homeassistant-stubs/components/mqtt/const.pyi +65 -0
  144. homeassistant-stubs/components/mqtt/cover.pyi +2 -0
  145. homeassistant-stubs/components/mqtt/entity.pyi +4 -4
  146. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
  147. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
  148. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
  149. homeassistant-stubs/components/mqtt/light/schema_template.pyi +3 -14
  150. homeassistant-stubs/components/mqtt/models.pyi +25 -1
  151. homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
  152. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  153. homeassistant-stubs/components/mqtt/util.pyi +2 -0
  154. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  155. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  157. homeassistant-stubs/components/mysensors/const.pyi +0 -1
  158. homeassistant-stubs/components/mysensors/cover.pyi +1 -2
  159. homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
  160. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  161. homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
  162. homeassistant-stubs/components/mysensors/light.pyi +4 -5
  163. homeassistant-stubs/components/mysensors/remote.pyi +0 -1
  164. homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
  165. homeassistant-stubs/components/mysensors/switch.pyi +1 -2
  166. homeassistant-stubs/components/mysensors/text.pyi +0 -1
  167. homeassistant-stubs/components/nam/button.pyi +2 -0
  168. homeassistant-stubs/components/nam/const.pyi +1 -0
  169. homeassistant-stubs/components/nam/sensor.pyi +2 -2
  170. homeassistant-stubs/components/nest/media_source.pyi +5 -0
  171. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  172. homeassistant-stubs/components/nextdns/button.pyi +2 -0
  173. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
  174. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  175. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  176. homeassistant-stubs/components/nut/button.pyi +14 -0
  177. homeassistant-stubs/components/nut/entity.pyi +19 -0
  178. homeassistant-stubs/components/nut/sensor.pyi +8 -13
  179. homeassistant-stubs/components/nut/switch.pyi +18 -0
  180. homeassistant-stubs/components/onboarding/views.pyi +2 -1
  181. homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
  182. homeassistant-stubs/components/onedrive/backup.pyi +1 -1
  183. homeassistant-stubs/components/onedrive/services.pyi +15 -0
  184. homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
  185. homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
  186. homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
  187. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
  188. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
  189. homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
  190. homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
  191. homeassistant-stubs/components/purpleair/const.pyi +6 -4
  192. homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
  193. homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
  194. homeassistant-stubs/components/purpleair/entity.pyi +2 -3
  195. homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
  196. homeassistant-stubs/components/pyload/__init__.pyi +12 -0
  197. homeassistant-stubs/components/pyload/button.pyi +32 -0
  198. homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
  199. homeassistant-stubs/components/pyload/const.pyi +6 -0
  200. homeassistant-stubs/components/pyload/coordinator.pyi +34 -0
  201. homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
  202. homeassistant-stubs/components/pyload/entity.pyi +13 -0
  203. homeassistant-stubs/components/pyload/sensor.pyi +33 -0
  204. homeassistant-stubs/components/pyload/switch.pyi +37 -0
  205. homeassistant-stubs/components/qbus/climate.pyi +41 -0
  206. homeassistant-stubs/components/qbus/light.pyi +3 -3
  207. homeassistant-stubs/components/recorder/const.pyi +1 -0
  208. homeassistant-stubs/components/recorder/core.pyi +1 -2
  209. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  210. homeassistant-stubs/components/recorder/migration.pyi +16 -2
  211. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  212. homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
  213. homeassistant-stubs/components/recorder/statistics.pyi +27 -9
  214. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  215. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  216. homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
  217. homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
  218. homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
  219. homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
  220. homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
  221. homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
  222. homeassistant-stubs/components/renault/config_flow.pyi +1 -0
  223. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  224. homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
  225. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  226. homeassistant-stubs/components/reolink/const.pyi +1 -0
  227. homeassistant-stubs/components/reolink/host.pyi +4 -4
  228. homeassistant-stubs/components/reolink/number.pyi +21 -1
  229. homeassistant-stubs/components/reolink/select.pyi +17 -1
  230. homeassistant-stubs/components/reolink/update.pyi +2 -1
  231. homeassistant-stubs/components/reolink/util.pyi +7 -0
  232. homeassistant-stubs/components/roborock/__init__.pyi +5 -3
  233. homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
  234. homeassistant-stubs/components/roborock/button.pyi +11 -1
  235. homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
  236. homeassistant-stubs/components/roborock/const.pyi +7 -1
  237. homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
  238. homeassistant-stubs/components/roborock/entity.pyi +3 -1
  239. homeassistant-stubs/components/roborock/image.pyi +2 -7
  240. homeassistant-stubs/components/roborock/models.pyi +7 -0
  241. homeassistant-stubs/components/roborock/number.pyi +1 -0
  242. homeassistant-stubs/components/roborock/select.pyi +7 -5
  243. homeassistant-stubs/components/roborock/sensor.pyi +14 -1
  244. homeassistant-stubs/components/roborock/switch.pyi +2 -0
  245. homeassistant-stubs/components/roborock/time.pyi +1 -0
  246. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  247. homeassistant-stubs/components/sensor/const.pyi +2 -0
  248. homeassistant-stubs/components/sensor/recorder.pyi +15 -3
  249. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  250. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
  251. homeassistant-stubs/components/shelly/button.pyi +22 -7
  252. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  253. homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
  254. homeassistant-stubs/components/shelly/const.pyi +0 -1
  255. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  256. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
  257. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  258. homeassistant-stubs/components/shelly/event.pyi +1 -1
  259. homeassistant-stubs/components/shelly/number.pyi +1 -1
  260. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  261. homeassistant-stubs/components/shelly/switch.pyi +14 -14
  262. homeassistant-stubs/components/shelly/update.pyi +1 -1
  263. homeassistant-stubs/components/shelly/utils.pyi +6 -2
  264. homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
  265. homeassistant-stubs/components/smlight/__init__.pyi +0 -2
  266. homeassistant-stubs/components/smlight/sensor.pyi +5 -2
  267. homeassistant-stubs/components/smlight/update.pyi +0 -1
  268. homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
  269. homeassistant-stubs/components/squeezebox/button.pyi +31 -0
  270. homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
  271. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
  272. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
  273. homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
  274. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
  275. homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
  276. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
  277. homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
  278. homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
  279. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
  280. homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
  281. homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
  282. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
  283. homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
  284. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
  285. homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
  286. homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
  287. homeassistant-stubs/components/todo/intent.pyi +8 -0
  288. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
  289. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
  290. homeassistant-stubs/components/tts/__init__.pyi +66 -51
  291. homeassistant-stubs/components/tts/entity.pyi +54 -0
  292. homeassistant-stubs/components/tts/media_source.pyi +1 -1
  293. homeassistant-stubs/components/update/__init__.pyi +2 -2
  294. homeassistant-stubs/components/usb/__init__.pyi +1 -5
  295. homeassistant-stubs/components/usb/utils.pyi +2 -0
  296. homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
  297. homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
  298. homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
  299. homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
  300. homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
  301. homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
  302. homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
  303. homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
  304. homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
  305. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
  306. homeassistant-stubs/components/zwave_js/api.pyi +15 -0
  307. homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
  308. homeassistant-stubs/config_entries.pyi +2 -5
  309. homeassistant-stubs/helpers/backup.pyi +4 -1
  310. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
  311. homeassistant-stubs/helpers/config_validation.pyi +5 -2
  312. homeassistant-stubs/helpers/frame.pyi +14 -5
  313. homeassistant-stubs/helpers/intent.pyi +13 -4
  314. homeassistant-stubs/helpers/llm.pyi +7 -1
  315. homeassistant-stubs/helpers/script.pyi +1 -1
  316. homeassistant-stubs/helpers/selector.pyi +1 -0
  317. homeassistant-stubs/helpers/template.pyi +14 -1
  318. homeassistant-stubs/loader.pyi +18 -8
  319. homeassistant-stubs/scripts/check_config.pyi +0 -1
  320. homeassistant-stubs/util/logging.pyi +18 -1
  321. homeassistant-stubs/util/unit_conversion.pyi +3 -0
  322. homeassistant-stubs/util/unit_system.pyi +12 -10
  323. homeassistant-stubs/util/yaml/__init__.pyi +3 -4
  324. homeassistant-stubs/util/yaml/dumper.pyi +2 -8
  325. homeassistant-stubs/util/yaml/input.pyi +2 -9
  326. homeassistant-stubs/util/yaml/loader.pyi +4 -72
  327. homeassistant-stubs/util/yaml/objects.pyi +2 -26
  328. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
  329. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +331 -270
  330. homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
  331. homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
  332. homeassistant-stubs/util/yaml/const.pyi +0 -1
  333. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
  334. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,44 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitVedoSystem as ComelitVedoSystem
2
+ from _typeshed import Incomplete
3
+ from aiocomelit.api import ComelitVedoAreaObject as ComelitVedoAreaObject
4
+ from aiocomelit.const import AlarmAreaState
5
+ from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState, CodeFormat as CodeFormat
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
+
10
+ PARALLEL_UPDATES: int
11
+ _LOGGER: Incomplete
12
+ AWAY: str
13
+ DISABLE: str
14
+ HOME: str
15
+ HOME_P1: str
16
+ HOME_P2: str
17
+ NIGHT: str
18
+ ALARM_ACTIONS: dict[str, str]
19
+ ALARM_AREA_ARMED_STATUS: dict[str, int]
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
22
+
23
+ class ComelitAlarmEntity(CoordinatorEntity[ComelitVedoSystem], AlarmControlPanelEntity):
24
+ _attr_has_entity_name: bool
25
+ _attr_name: Incomplete
26
+ _attr_code_format: Incomplete
27
+ _attr_code_arm_required: bool
28
+ _attr_supported_features: Incomplete
29
+ _api: Incomplete
30
+ _area_index: Incomplete
31
+ _attr_unique_id: Incomplete
32
+ _attr_device_info: Incomplete
33
+ def __init__(self, coordinator: ComelitVedoSystem, area: ComelitVedoAreaObject, config_entry_entry_id: str) -> None: ...
34
+ @property
35
+ def _area(self) -> ComelitVedoAreaObject: ...
36
+ @property
37
+ def available(self) -> bool: ...
38
+ @property
39
+ def alarm_state(self) -> AlarmControlPanelState | None: ...
40
+ async def _async_update_state(self, area_state: AlarmAreaState, armed: int) -> None: ...
41
+ async def async_alarm_disarm(self, code: str | None = None) -> None: ...
42
+ async def async_alarm_arm_away(self, code: str | None = None) -> None: ...
43
+ async def async_alarm_arm_home(self, code: str | None = None) -> None: ...
44
+ async def async_alarm_arm_night(self, code: str | None = None) -> None: ...
@@ -0,0 +1,22 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitVedoSystem as ComelitVedoSystem
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitVedoZoneObject as ComelitVedoZoneObject
4
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+
9
+ PARALLEL_UPDATES: int
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+
13
+ class ComelitVedoBinarySensorEntity(CoordinatorEntity[ComelitVedoSystem], BinarySensorEntity):
14
+ _attr_has_entity_name: bool
15
+ _attr_device_class: Incomplete
16
+ _api: Incomplete
17
+ _zone_index: Incomplete
18
+ _attr_unique_id: Incomplete
19
+ _attr_device_info: Incomplete
20
+ def __init__(self, coordinator: ComelitVedoSystem, zone: ComelitVedoZoneObject, config_entry_entry_id: str) -> None: ...
21
+ @property
22
+ def is_on(self) -> bool: ...
@@ -0,0 +1,60 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
3
+ from _typeshed import Incomplete
4
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
5
+ from enum import StrEnum
6
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, UnitOfTemperature as UnitOfTemperature
7
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+ from typing import Any, TypedDict
13
+
14
+ PARALLEL_UPDATES: int
15
+
16
+ class ClimaComelitMode(StrEnum):
17
+ AUTO = 'A'
18
+ OFF = 'O'
19
+ LOWER = 'L'
20
+ UPPER = 'U'
21
+
22
+ class ClimaComelitCommand(StrEnum):
23
+ OFF = 'off'
24
+ ON = 'on'
25
+ MANUAL = 'man'
26
+ SET = 'set'
27
+ AUTO = 'auto'
28
+
29
+ class ClimaComelitApiStatus(TypedDict):
30
+ hvac_mode: HVACMode
31
+ hvac_action: HVACAction
32
+
33
+ API_STATUS: dict[str, ClimaComelitApiStatus]
34
+ MODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand]
35
+
36
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
37
+
38
+ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity):
39
+ _attr_hvac_modes: Incomplete
40
+ _attr_max_temp: int
41
+ _attr_min_temp: int
42
+ _attr_supported_features: Incomplete
43
+ _attr_target_temperature_step = PRECISION_TENTHS
44
+ _attr_temperature_unit: Incomplete
45
+ _attr_has_entity_name: bool
46
+ _attr_name: Incomplete
47
+ _api: Incomplete
48
+ _device: Incomplete
49
+ _attr_unique_id: Incomplete
50
+ _attr_device_info: Incomplete
51
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
52
+ _attr_current_temperature: Incomplete
53
+ _attr_hvac_action: Incomplete
54
+ _attr_hvac_mode: Incomplete
55
+ _attr_target_temperature: Incomplete
56
+ def _update_attributes(self) -> None: ...
57
+ @callback
58
+ def _handle_coordinator_update(self) -> None: ...
59
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
60
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
@@ -0,0 +1,28 @@
1
+ import voluptuous as vol
2
+ from .const import DEFAULT_PORT as DEFAULT_PORT, DEVICE_TYPE_LIST as DEVICE_TYPE_LIST, DOMAIN as DOMAIN, _LOGGER as _LOGGER
3
+ from _typeshed import Incomplete
4
+ from aiocomelit.api import ComelitCommonApi as ComelitCommonApi
5
+ from collections.abc import Mapping
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from typing import Any
11
+
12
+ DEFAULT_HOST: str
13
+ DEFAULT_PIN: int
14
+
15
+ def user_form_schema(user_input: dict[str, Any] | None) -> vol.Schema: ...
16
+
17
+ STEP_REAUTH_DATA_SCHEMA: Incomplete
18
+
19
+ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, str]: ...
20
+
21
+ class ComelitConfigFlow(ConfigFlow, domain=DOMAIN):
22
+ VERSION: int
23
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+
27
+ class CannotConnect(HomeAssistantError): ...
28
+ class InvalidAuth(HomeAssistantError): ...
@@ -0,0 +1,7 @@
1
+ from _typeshed import Incomplete
2
+
3
+ _LOGGER: Incomplete
4
+ DOMAIN: str
5
+ DEFAULT_PORT: int
6
+ DEVICE_TYPE_LIST: Incomplete
7
+ SCAN_INTERVAL: int
@@ -0,0 +1,38 @@
1
+ import abc
2
+ from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL, _LOGGER as _LOGGER
3
+ from _typeshed import Incomplete
4
+ from abc import abstractmethod
5
+ from aiocomelit.api import AlarmDataObject, ComelitCommonApi as ComelitCommonApi, ComelitSerialBridgeObject, ComelitVedoApi, ComelitVedoAreaObject as ComelitVedoAreaObject, ComelitVedoZoneObject as ComelitVedoZoneObject, ComeliteSerialBridgeApi
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
9
+ from homeassistant.helpers import device_registry as dr
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+ from typing import TypeVar
12
+
13
+ type ComelitConfigEntry = ConfigEntry[ComelitBaseCoordinator]
14
+ T = TypeVar('T', bound=dict[str, dict[int, ComelitSerialBridgeObject]] | AlarmDataObject)
15
+
16
+ class ComelitBaseCoordinator(DataUpdateCoordinator[T], metaclass=abc.ABCMeta):
17
+ _hw_version: str
18
+ config_entry: ComelitConfigEntry
19
+ api: ComelitCommonApi
20
+ _device: Incomplete
21
+ _host: Incomplete
22
+ def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, device: str, host: str) -> None: ...
23
+ def platform_device_info(self, object_class: ComelitVedoZoneObject | ComelitVedoAreaObject | ComelitSerialBridgeObject, object_type: str) -> dr.DeviceInfo: ...
24
+ async def _async_update_data(self) -> T: ...
25
+ @abstractmethod
26
+ async def _async_update_system_data(self) -> T: ...
27
+
28
+ class ComelitSerialBridge(ComelitBaseCoordinator[dict[str, dict[int, ComelitSerialBridgeObject]]]):
29
+ _hw_version: str
30
+ api: ComeliteSerialBridgeApi
31
+ def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int) -> None: ...
32
+ async def _async_update_system_data(self) -> dict[str, dict[int, ComelitSerialBridgeObject]]: ...
33
+
34
+ class ComelitVedoSystem(ComelitBaseCoordinator[AlarmDataObject]):
35
+ _hw_version: str
36
+ api: ComelitVedoApi
37
+ def __init__(self, hass: HomeAssistant, entry: ComelitConfigEntry, host: str, port: int, pin: int) -> None: ...
38
+ async def _async_update_system_data(self) -> AlarmDataObject: ...
@@ -0,0 +1,39 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
+ from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverState as CoverState
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
8
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
+ from typing import Any
10
+
11
+ PARALLEL_UPDATES: int
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+
15
+ class ComelitCoverEntity(CoordinatorEntity[ComelitSerialBridge], RestoreEntity, CoverEntity):
16
+ _attr_device_class: Incomplete
17
+ _attr_has_entity_name: bool
18
+ _attr_name: Incomplete
19
+ _api: Incomplete
20
+ _device: Incomplete
21
+ _attr_unique_id: Incomplete
22
+ _attr_device_info: Incomplete
23
+ _last_action: int | None
24
+ _last_state: str | None
25
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
26
+ def _current_action(self, action: str) -> bool: ...
27
+ @property
28
+ def device_status(self) -> int: ...
29
+ @property
30
+ def is_closed(self) -> bool | None: ...
31
+ @property
32
+ def is_closing(self) -> bool: ...
33
+ @property
34
+ def is_opening(self) -> bool: ...
35
+ async def _cover_set_state(self, action: int, state: int) -> None: ...
36
+ async def async_close_cover(self, **kwargs: Any) -> None: ...
37
+ async def async_open_cover(self, **kwargs: Any) -> None: ...
38
+ async def async_stop_cover(self, **_kwargs: Any) -> None: ...
39
+ async def async_added_to_hass(self) -> None: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_PIN as CONF_PIN, CONF_TYPE as CONF_TYPE
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ComelitConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,61 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
3
+ from _typeshed import Incomplete
4
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
5
+ from enum import StrEnum
6
+ from homeassistant.components.humidifier import HumidifierAction as HumidifierAction, HumidifierDeviceClass as HumidifierDeviceClass, HumidifierEntity as HumidifierEntity, HumidifierEntityFeature as HumidifierEntityFeature, MODE_AUTO as MODE_AUTO, MODE_NORMAL as MODE_NORMAL
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
+ from typing import Any
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ class HumidifierComelitMode(StrEnum):
16
+ AUTO = 'A'
17
+ OFF = 'O'
18
+ LOWER = 'L'
19
+ UPPER = 'U'
20
+
21
+ class HumidifierComelitCommand(StrEnum):
22
+ OFF = 'off'
23
+ ON = 'on'
24
+ MANUAL = 'man'
25
+ SET = 'set'
26
+ AUTO = 'auto'
27
+ LOWER = 'lower'
28
+ UPPER = 'upper'
29
+
30
+ MODE_TO_ACTION: dict[str, HumidifierComelitCommand]
31
+
32
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
+
34
+ class ComelitHumidifierEntity(CoordinatorEntity[ComelitSerialBridge], HumidifierEntity):
35
+ _attr_supported_features: Incomplete
36
+ _attr_available_modes: Incomplete
37
+ _attr_min_humidity: int
38
+ _attr_max_humidity: int
39
+ _attr_has_entity_name: bool
40
+ _api: Incomplete
41
+ _device: Incomplete
42
+ _attr_unique_id: Incomplete
43
+ _attr_device_info: Incomplete
44
+ _attr_device_class: Incomplete
45
+ _attr_translation_key: Incomplete
46
+ _active_mode: Incomplete
47
+ _active_action: Incomplete
48
+ _set_command: Incomplete
49
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str, active_mode: HumidifierComelitMode, active_action: HumidifierAction, set_command: HumidifierComelitCommand, device_class: HumidifierDeviceClass) -> None: ...
50
+ _attr_action: Incomplete
51
+ _attr_current_humidity: Incomplete
52
+ _attr_is_on: Incomplete
53
+ _attr_mode: Incomplete
54
+ _attr_target_humidity: Incomplete
55
+ def _update_attributes(self) -> None: ...
56
+ @callback
57
+ def _handle_coordinator_update(self) -> None: ...
58
+ async def async_set_humidity(self, humidity: int) -> None: ...
59
+ async def async_set_mode(self, mode: str) -> None: ...
60
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
61
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,28 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
+ from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+ from typing import Any
9
+
10
+ PARALLEL_UPDATES: int
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class ComelitLightEntity(CoordinatorEntity[ComelitSerialBridge], LightEntity):
15
+ _attr_color_mode: Incomplete
16
+ _attr_has_entity_name: bool
17
+ _attr_name: Incomplete
18
+ _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
+ async def _light_set_state(self, state: int) -> None: ...
25
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
26
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
27
+ @property
28
+ def is_on(self) -> bool: ...
@@ -0,0 +1,45 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge, ComelitVedoSystem as ComelitVedoSystem
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
4
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
5
+ from homeassistant.const import CONF_TYPE as CONF_TYPE, UnitOfPower as UnitOfPower
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from homeassistant.helpers.typing import StateType as StateType
9
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
+ from typing import Final
11
+
12
+ PARALLEL_UPDATES: int
13
+ SENSOR_BRIDGE_TYPES: Final[Incomplete]
14
+ SENSOR_VEDO_TYPES: Final[Incomplete]
15
+
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
+ async def async_setup_bridge_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+ async def async_setup_vedo_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class ComelitBridgeSensorEntity(CoordinatorEntity[ComelitSerialBridge], SensorEntity):
21
+ _attr_has_entity_name: bool
22
+ _attr_name: Incomplete
23
+ _api: Incomplete
24
+ _device: Incomplete
25
+ _attr_unique_id: Incomplete
26
+ _attr_device_info: Incomplete
27
+ entity_description: Incomplete
28
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str, description: SensorEntityDescription) -> None: ...
29
+ @property
30
+ def native_value(self) -> StateType: ...
31
+
32
+ class ComelitVedoSensorEntity(CoordinatorEntity[ComelitVedoSystem], SensorEntity):
33
+ _attr_has_entity_name: bool
34
+ _api: Incomplete
35
+ _zone_index: Incomplete
36
+ _attr_unique_id: Incomplete
37
+ _attr_device_info: Incomplete
38
+ entity_description: Incomplete
39
+ def __init__(self, coordinator: ComelitVedoSystem, zone: ComelitVedoZoneObject, config_entry_entry_id: str, description: SensorEntityDescription) -> None: ...
40
+ @property
41
+ def _zone_object(self) -> ComelitVedoZoneObject: ...
42
+ @property
43
+ def available(self) -> bool: ...
44
+ @property
45
+ def native_value(self) -> StateType: ...
@@ -0,0 +1,27 @@
1
+ from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
2
+ from _typeshed import Incomplete
3
+ from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
4
+ from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+ from typing import Any
9
+
10
+ PARALLEL_UPDATES: int
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class ComelitSwitchEntity(CoordinatorEntity[ComelitSerialBridge], SwitchEntity):
15
+ _attr_has_entity_name: bool
16
+ _attr_name: Incomplete
17
+ _api: Incomplete
18
+ _device: Incomplete
19
+ _attr_unique_id: Incomplete
20
+ _attr_device_info: Incomplete
21
+ _attr_device_class: Incomplete
22
+ def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
23
+ async def _switch_set_state(self, state: int) -> None: ...
24
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
25
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
26
+ @property
27
+ def is_on(self) -> bool: ...
@@ -1,12 +1,23 @@
1
- from . import ATTR_CURRENT_POSITION as ATTR_CURRENT_POSITION, ATTR_CURRENT_TILT_POSITION as ATTR_CURRENT_TILT_POSITION, ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverState as CoverState, DOMAIN as DOMAIN
1
+ from . import ATTR_CURRENT_POSITION as ATTR_CURRENT_POSITION, ATTR_CURRENT_TILT_POSITION as ATTR_CURRENT_TILT_POSITION, ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverEntityFeature as CoverEntityFeature, CoverState as CoverState, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Iterable
4
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT as SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT as SERVICE_OPEN_COVER_TILT, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION as SERVICE_SET_COVER_TILT_POSITION
5
- from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
6
- from typing import Any
3
+ from collections.abc import Coroutine, Iterable
4
+ from functools import partial
5
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT as SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT as SERVICE_OPEN_COVER_TILT, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION as SERVICE_SET_COVER_TILT_POSITION
6
+ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State
7
+ from homeassistant.util.enum import try_parse_enum as try_parse_enum
8
+ from typing import Any, Final
7
9
 
8
10
  _LOGGER: Incomplete
9
- VALID_STATES: Incomplete
11
+ OPENING_STATES: Incomplete
12
+ CLOSING_STATES: Incomplete
13
+ VALID_STATES: set[CoverState]
14
+ FULL_OPEN: Final[int]
15
+ FULL_CLOSE: Final[int]
10
16
 
17
+ def _determine_features(current_attrs: dict[str, Any]) -> CoverEntityFeature: ...
18
+ async def _async_set_position(service_call: partial[Coroutine[Any, Any, ServiceResponse]], service_data: dict[str, Any], features: CoverEntityFeature, target_position: int) -> bool: ...
19
+ async def _async_set_tilt_position(service_call: partial[Coroutine[Any, Any, ServiceResponse]], service_data: dict[str, Any], features: CoverEntityFeature, target_tilt_position: int) -> bool: ...
20
+ async def _async_close_cover(service_call: partial[Coroutine[Any, Any, ServiceResponse]], service_data: dict[str, Any], features: CoverEntityFeature, set_position: bool, set_tilt: bool) -> None: ...
21
+ async def _async_open_cover(service_call: partial[Coroutine[Any, Any, ServiceResponse]], service_data: dict[str, Any], features: CoverEntityFeature, set_position: bool, set_tilt: bool) -> None: ...
11
22
  async def _async_reproduce_state(hass: HomeAssistant, state: State, *, context: Context | None = None, reproduce_options: dict[str, Any] | None = None) -> None: ...
12
23
  async def async_reproduce_states(hass: HomeAssistant, states: Iterable[State], *, context: Context | None = None, reproduce_options: dict[str, Any] | None = None) -> None: ...
@@ -0,0 +1,30 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.components.valve import ValveEntity as ValveEntity, ValveEntityFeature as ValveEntityFeature, ValveState as ValveState
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
6
+ from typing import Any
7
+
8
+ OPEN_CLOSE_DELAY: int
9
+
10
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
11
+
12
+ class DemoValve(ValveEntity):
13
+ _attr_should_poll: bool
14
+ _attr_name: Incomplete
15
+ _attr_supported_features: Incomplete
16
+ _state: Incomplete
17
+ _moveable: Incomplete
18
+ def __init__(self, name: str, state: str, moveable: bool = True) -> None: ...
19
+ @property
20
+ def is_open(self) -> bool: ...
21
+ @property
22
+ def is_opening(self) -> bool: ...
23
+ @property
24
+ def is_closing(self) -> bool: ...
25
+ @property
26
+ def is_closed(self) -> bool: ...
27
+ @property
28
+ def reports_position(self) -> bool: ...
29
+ async def async_open_valve(self, **kwargs: Any) -> None: ...
30
+ async def async_close_valve(self, **kwargs: Any) -> None: ...
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
6
- from homeassistant.helpers.httpx_client import get_async_client as get_async_client
6
+ from homeassistant.helpers.httpx_client import create_async_httpx_client as create_async_httpx_client
7
7
 
8
8
  PLATFORMS: Incomplete
9
9
 
@@ -56,6 +56,7 @@ type SourceType = GridSourceType | SolarSourceType | BatterySourceType | GasSour
56
56
  class DeviceConsumption(TypedDict):
57
57
  stat_consumption: str
58
58
  name: str | None
59
+ included_in_stat: str | None
59
60
 
60
61
  class EnergyPreferences(TypedDict):
61
62
  energy_sources: list[SourceType]
@@ -10,6 +10,7 @@ from homeassistant.helpers.schema_config_entry_flow import SchemaCommonFlowHandl
10
10
  from typing import Any
11
11
 
12
12
  CONFIG_SCHEMA: Incomplete
13
+ _LOGGER: Incomplete
13
14
 
14
15
  async def get_options_schema(handler: SchemaCommonFlowHandler) -> vol.Schema: ...
15
16
 
@@ -1,4 +1,4 @@
1
- from .const import CONF_NOISE_PSK as CONF_NOISE_PSK, DATA_FFMPEG_PROXY as DATA_FFMPEG_PROXY, DOMAIN as DOMAIN
1
+ from .const import CONF_BLUETOOTH_MAC_ADDRESS as CONF_BLUETOOTH_MAC_ADDRESS, CONF_NOISE_PSK as CONF_NOISE_PSK, DATA_FFMPEG_PROXY as DATA_FFMPEG_PROXY, DOMAIN as DOMAIN
2
2
  from .domain_data import DomainData as DomainData
3
3
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
4
4
  from .ffmpeg_proxy import FFmpegProxyData as FFmpegProxyData, FFmpegProxyView as FFmpegProxyView
@@ -49,6 +49,8 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
49
49
  async def async_will_remove_from_hass(self) -> None: ...
50
50
  def on_pipeline_event(self, event: PipelineEvent) -> None: ...
51
51
  async def async_announce(self, announcement: assist_satellite.AssistSatelliteAnnouncement) -> None: ...
52
+ async def async_start_conversation(self, start_announcement: assist_satellite.AssistSatelliteAnnouncement) -> None: ...
53
+ async def _do_announce(self, announcement: assist_satellite.AssistSatelliteAnnouncement, run_pipeline_after: bool) -> None: ...
52
54
  _attr_tts_options: Incomplete
53
55
  async def handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings, wake_word_phrase: str | None) -> int | None: ...
54
56
  async def handle_audio(self, data: bytes) -> None: ...
@@ -36,6 +36,7 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
36
36
  async def _async_step_user_base(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> ConfigFlowResult: ...
37
37
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
38
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
39
+ async def async_step_reauth_encryption_removed_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
40
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
41
  @property
41
42
  def _name(self) -> str: ...
@@ -5,6 +5,7 @@ CONF_ALLOW_SERVICE_CALLS: str
5
5
  CONF_SUBSCRIBE_LOGS: str
6
6
  CONF_DEVICE_NAME: str
7
7
  CONF_NOISE_PSK: str
8
+ CONF_BLUETOOTH_MAC_ADDRESS: str
8
9
  DEFAULT_ALLOW_SERVICE_CALLS: bool
9
10
  DEFAULT_NEW_CONFIG_ALLOW_ALLOW_SERVICE_CALLS: bool
10
11
  STABLE_BLE_VERSION_STR: str
@@ -8,7 +8,6 @@ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from typing import Any
10
10
 
11
- CONF_MAC_ADDRESS: str
12
11
  REDACT_KEYS: Incomplete
13
12
 
14
13
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ESPHomeConfigEntry) -> dict[str, Any]: ...
@@ -12,5 +12,7 @@ class EsphomeEvent(EsphomeEntity[EventInfo, Event], EventEntity):
12
12
  def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
13
13
  @callback
14
14
  def _on_state_update(self) -> None: ...
15
+ @callback
16
+ def _on_device_update(self) -> None: ...
15
17
 
16
18
  async_setup_entry: Incomplete
@@ -1,5 +1,5 @@
1
1
  from .bluetooth import async_connect_scanner as async_connect_scanner
2
- from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_SUBSCRIBE_LOGS as CONF_SUBSCRIBE_LOGS, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, PROJECT_URLS as PROJECT_URLS, STABLE_BLE_VERSION as STABLE_BLE_VERSION, STABLE_BLE_VERSION_STR as STABLE_BLE_VERSION_STR
2
+ from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_BLUETOOTH_MAC_ADDRESS as CONF_BLUETOOTH_MAC_ADDRESS, CONF_DEVICE_NAME as CONF_DEVICE_NAME, CONF_SUBSCRIBE_LOGS as CONF_SUBSCRIBE_LOGS, DEFAULT_ALLOW_SERVICE_CALLS as DEFAULT_ALLOW_SERVICE_CALLS, DEFAULT_URL as DEFAULT_URL, DOMAIN as DOMAIN, PROJECT_URLS as PROJECT_URLS, STABLE_BLE_VERSION as STABLE_BLE_VERSION, STABLE_BLE_VERSION_STR as STABLE_BLE_VERSION_STR
3
3
  from .dashboard import async_get_dashboard as async_get_dashboard
4
4
  from .domain_data import DomainData as DomainData
5
5
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
@@ -4,7 +4,7 @@ from .entity import FritzBoxDeviceEntity as FritzBoxDeviceEntity
4
4
  from .model import ClimateExtraAttributes as ClimateExtraAttributes
5
5
  from .sensor import value_scheduled_preset as value_scheduled_preset
6
6
  from _typeshed import Incomplete
7
- from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO
7
+ from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO
8
8
  from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -34,16 +34,15 @@ CONF_EXTRA_JS_URL_ES5: str
34
34
  CONF_FRONTEND_REPO: str
35
35
  CONF_JS_VERSION: str
36
36
  DEFAULT_THEME_COLOR: str
37
- DATA_PANELS: str
38
- DATA_JS_VERSION: str
39
- DATA_EXTRA_MODULE_URL: str
40
- DATA_EXTRA_JS_URL_ES5: str
37
+ DATA_PANELS: HassKey[dict[str, Panel]]
38
+ DATA_EXTRA_MODULE_URL: HassKey[UrlManager]
39
+ DATA_EXTRA_JS_URL_ES5: HassKey[UrlManager]
41
40
  DATA_WS_SUBSCRIBERS: HassKey[set[tuple[websocket_api.ActiveConnection, int]]]
42
41
  THEMES_STORAGE_KEY: Incomplete
43
42
  THEMES_STORAGE_VERSION: int
44
43
  THEMES_SAVE_DELAY: int
45
- DATA_THEMES_STORE: str
46
- DATA_THEMES: str
44
+ DATA_THEMES_STORE: HassKey[Store]
45
+ DATA_THEMES: HassKey[dict[str, Any]]
47
46
  DATA_DEFAULT_THEME: str
48
47
  DATA_DEFAULT_DARK_THEME: str
49
48
  DEFAULT_THEME: str
@@ -79,13 +78,13 @@ class Panel:
79
78
  component_name: str
80
79
  sidebar_icon: str | None
81
80
  sidebar_title: str | None
82
- frontend_url_path: str | None
81
+ frontend_url_path: str
83
82
  config: dict[str, Any] | None
84
83
  require_admin: bool
85
84
  config_panel_domain: str | None
86
85
  def __init__(self, component_name: str, sidebar_title: str | None, sidebar_icon: str | None, frontend_url_path: str | None, config: dict[str, Any] | None, require_admin: bool, config_panel_domain: str | None) -> None: ...
87
86
  @callback
88
- def to_response(self) -> PanelRespons: ...
87
+ def to_response(self) -> PanelResponse: ...
89
88
 
90
89
  @bind_hass
91
90
  @callback
@@ -141,11 +140,11 @@ async def websocket_get_version(hass: HomeAssistant, connection: ActiveConnectio
141
140
  @callback
142
141
  def websocket_subscribe_extra_js(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
143
142
 
144
- class PanelRespons(TypedDict):
143
+ class PanelResponse(TypedDict):
145
144
  component_name: str
146
145
  icon: str | None
147
146
  title: str | None
148
147
  config: dict[str, Any] | None
149
- url_path: str | None
148
+ url_path: str
150
149
  require_admin: bool
151
150
  config_panel_domain: str | None