homeassistant-stubs 2025.3.4__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 (332) 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 +0 -6
  74. homeassistant-stubs/components/home_connect/entity.pyi +1 -1
  75. homeassistant-stubs/components/home_connect/light.pyi +1 -1
  76. homeassistant-stubs/components/home_connect/number.pyi +1 -1
  77. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  78. homeassistant-stubs/components/home_connect/services.pyi +35 -0
  79. homeassistant-stubs/components/home_connect/switch.pyi +2 -1
  80. homeassistant-stubs/components/home_connect/time.pyi +6 -1
  81. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
  82. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  83. homeassistant-stubs/components/homeassistant_hardware/update.pyi +68 -0
  84. homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
  85. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -1
  86. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
  87. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
  88. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +29 -0
  89. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
  90. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  91. homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
  92. homeassistant-stubs/components/homeassistant_yellow/update.pyi +29 -0
  93. homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
  94. homeassistant-stubs/components/homee/button.pyi +1 -0
  95. homeassistant-stubs/components/homee/cover.pyi +1 -0
  96. homeassistant-stubs/components/homee/light.pyi +1 -0
  97. homeassistant-stubs/components/homee/lock.pyi +25 -0
  98. homeassistant-stubs/components/homee/number.pyi +1 -0
  99. homeassistant-stubs/components/homee/select.pyi +23 -0
  100. homeassistant-stubs/components/homee/sensor.pyi +2 -0
  101. homeassistant-stubs/components/homee/switch.pyi +2 -0
  102. homeassistant-stubs/components/homee/valve.pyi +1 -0
  103. homeassistant-stubs/components/homekit/__init__.pyi +3 -1
  104. homeassistant-stubs/components/homekit/accessories.pyi +1 -0
  105. homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
  106. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
  107. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
  108. homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
  109. homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
  110. homeassistant-stubs/components/iron_os/number.pyi +2 -0
  111. homeassistant-stubs/components/iron_os/select.pyi +3 -0
  112. homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
  113. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
  114. homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
  115. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
  116. homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
  117. homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
  118. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
  119. homeassistant-stubs/components/linkplay/entity.pyi +0 -1
  120. homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
  121. homeassistant-stubs/components/linkplay/utils.pyi +0 -32
  122. homeassistant-stubs/components/lovelace/__init__.pyi +3 -1
  123. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  124. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
  125. homeassistant-stubs/components/mastodon/const.pyi +0 -7
  126. homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
  127. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
  128. homeassistant-stubs/components/mastodon/entity.pyi +1 -1
  129. homeassistant-stubs/components/mastodon/notify.pyi +3 -2
  130. homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
  131. homeassistant-stubs/components/mastodon/services.pyi +1 -0
  132. homeassistant-stubs/components/mastodon/utils.pyi +3 -2
  133. homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
  134. homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
  135. homeassistant-stubs/components/mcp_server/const.pyi +1 -2
  136. homeassistant-stubs/components/mcp_server/server.pyi +1 -0
  137. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  138. homeassistant-stubs/components/modbus/climate.pyi +6 -2
  139. homeassistant-stubs/components/modbus/const.pyi +10 -0
  140. homeassistant-stubs/components/mqtt/config_flow.pyi +95 -7
  141. homeassistant-stubs/components/mqtt/const.pyi +65 -0
  142. homeassistant-stubs/components/mqtt/cover.pyi +2 -0
  143. homeassistant-stubs/components/mqtt/entity.pyi +4 -4
  144. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
  145. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
  146. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
  147. homeassistant-stubs/components/mqtt/light/schema_template.pyi +3 -14
  148. homeassistant-stubs/components/mqtt/models.pyi +25 -1
  149. homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
  150. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  151. homeassistant-stubs/components/mqtt/util.pyi +2 -0
  152. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  153. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  154. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  155. homeassistant-stubs/components/mysensors/const.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/cover.pyi +1 -2
  157. homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
  158. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  159. homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
  160. homeassistant-stubs/components/mysensors/light.pyi +4 -5
  161. homeassistant-stubs/components/mysensors/remote.pyi +0 -1
  162. homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
  163. homeassistant-stubs/components/mysensors/switch.pyi +1 -2
  164. homeassistant-stubs/components/mysensors/text.pyi +0 -1
  165. homeassistant-stubs/components/nam/button.pyi +2 -0
  166. homeassistant-stubs/components/nam/const.pyi +1 -0
  167. homeassistant-stubs/components/nam/sensor.pyi +2 -2
  168. homeassistant-stubs/components/nest/media_source.pyi +5 -0
  169. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  170. homeassistant-stubs/components/nextdns/button.pyi +2 -0
  171. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
  172. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  173. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  174. homeassistant-stubs/components/nut/button.pyi +14 -0
  175. homeassistant-stubs/components/nut/entity.pyi +19 -0
  176. homeassistant-stubs/components/nut/sensor.pyi +8 -13
  177. homeassistant-stubs/components/nut/switch.pyi +18 -0
  178. homeassistant-stubs/components/onboarding/views.pyi +2 -1
  179. homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
  180. homeassistant-stubs/components/onedrive/backup.pyi +1 -1
  181. homeassistant-stubs/components/onedrive/services.pyi +15 -0
  182. homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
  183. homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
  184. homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
  185. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
  186. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
  187. homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
  188. homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
  189. homeassistant-stubs/components/purpleair/const.pyi +6 -4
  190. homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
  191. homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
  192. homeassistant-stubs/components/purpleair/entity.pyi +2 -3
  193. homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
  194. homeassistant-stubs/components/pyload/__init__.pyi +12 -0
  195. homeassistant-stubs/components/pyload/button.pyi +32 -0
  196. homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
  197. homeassistant-stubs/components/pyload/const.pyi +6 -0
  198. homeassistant-stubs/components/pyload/coordinator.pyi +34 -0
  199. homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
  200. homeassistant-stubs/components/pyload/entity.pyi +13 -0
  201. homeassistant-stubs/components/pyload/sensor.pyi +33 -0
  202. homeassistant-stubs/components/pyload/switch.pyi +37 -0
  203. homeassistant-stubs/components/qbus/climate.pyi +41 -0
  204. homeassistant-stubs/components/qbus/light.pyi +3 -3
  205. homeassistant-stubs/components/recorder/const.pyi +1 -0
  206. homeassistant-stubs/components/recorder/core.pyi +1 -2
  207. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  208. homeassistant-stubs/components/recorder/migration.pyi +16 -2
  209. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  210. homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
  211. homeassistant-stubs/components/recorder/statistics.pyi +27 -9
  212. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  213. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  214. homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
  215. homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
  216. homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
  217. homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
  218. homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
  219. homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
  220. homeassistant-stubs/components/renault/config_flow.pyi +1 -0
  221. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  222. homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
  223. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  224. homeassistant-stubs/components/reolink/const.pyi +1 -0
  225. homeassistant-stubs/components/reolink/host.pyi +4 -4
  226. homeassistant-stubs/components/reolink/number.pyi +21 -1
  227. homeassistant-stubs/components/reolink/select.pyi +17 -1
  228. homeassistant-stubs/components/reolink/update.pyi +2 -1
  229. homeassistant-stubs/components/reolink/util.pyi +7 -0
  230. homeassistant-stubs/components/roborock/__init__.pyi +5 -3
  231. homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
  232. homeassistant-stubs/components/roborock/button.pyi +11 -1
  233. homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
  234. homeassistant-stubs/components/roborock/const.pyi +7 -1
  235. homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
  236. homeassistant-stubs/components/roborock/entity.pyi +3 -1
  237. homeassistant-stubs/components/roborock/image.pyi +2 -7
  238. homeassistant-stubs/components/roborock/models.pyi +7 -0
  239. homeassistant-stubs/components/roborock/number.pyi +1 -0
  240. homeassistant-stubs/components/roborock/select.pyi +7 -5
  241. homeassistant-stubs/components/roborock/sensor.pyi +14 -1
  242. homeassistant-stubs/components/roborock/switch.pyi +2 -0
  243. homeassistant-stubs/components/roborock/time.pyi +1 -0
  244. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  245. homeassistant-stubs/components/sensor/const.pyi +2 -0
  246. homeassistant-stubs/components/sensor/recorder.pyi +15 -3
  247. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  248. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
  249. homeassistant-stubs/components/shelly/button.pyi +22 -7
  250. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  251. homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
  252. homeassistant-stubs/components/shelly/const.pyi +0 -1
  253. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  254. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
  255. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  256. homeassistant-stubs/components/shelly/event.pyi +1 -1
  257. homeassistant-stubs/components/shelly/number.pyi +1 -1
  258. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  259. homeassistant-stubs/components/shelly/switch.pyi +14 -14
  260. homeassistant-stubs/components/shelly/update.pyi +1 -1
  261. homeassistant-stubs/components/shelly/utils.pyi +6 -2
  262. homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
  263. homeassistant-stubs/components/smlight/__init__.pyi +0 -2
  264. homeassistant-stubs/components/smlight/sensor.pyi +5 -2
  265. homeassistant-stubs/components/smlight/update.pyi +0 -1
  266. homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
  267. homeassistant-stubs/components/squeezebox/button.pyi +31 -0
  268. homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
  269. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
  270. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
  271. homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
  272. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
  273. homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
  274. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
  275. homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
  276. homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
  277. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
  278. homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
  279. homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
  280. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
  281. homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
  282. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
  283. homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
  284. homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
  285. homeassistant-stubs/components/todo/intent.pyi +8 -0
  286. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
  287. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
  288. homeassistant-stubs/components/tts/__init__.pyi +66 -51
  289. homeassistant-stubs/components/tts/entity.pyi +54 -0
  290. homeassistant-stubs/components/tts/media_source.pyi +1 -1
  291. homeassistant-stubs/components/update/__init__.pyi +2 -2
  292. homeassistant-stubs/components/usb/__init__.pyi +1 -5
  293. homeassistant-stubs/components/usb/utils.pyi +2 -0
  294. homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
  295. homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
  296. homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
  297. homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
  298. homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
  299. homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
  300. homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
  301. homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
  302. homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
  303. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
  304. homeassistant-stubs/components/zwave_js/api.pyi +15 -0
  305. homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
  306. homeassistant-stubs/config_entries.pyi +2 -5
  307. homeassistant-stubs/helpers/backup.pyi +4 -1
  308. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
  309. homeassistant-stubs/helpers/config_validation.pyi +5 -2
  310. homeassistant-stubs/helpers/frame.pyi +14 -5
  311. homeassistant-stubs/helpers/intent.pyi +13 -4
  312. homeassistant-stubs/helpers/llm.pyi +7 -1
  313. homeassistant-stubs/helpers/script.pyi +1 -1
  314. homeassistant-stubs/helpers/selector.pyi +1 -0
  315. homeassistant-stubs/helpers/template.pyi +14 -1
  316. homeassistant-stubs/loader.pyi +18 -8
  317. homeassistant-stubs/scripts/check_config.pyi +0 -1
  318. homeassistant-stubs/util/logging.pyi +18 -1
  319. homeassistant-stubs/util/unit_conversion.pyi +3 -0
  320. homeassistant-stubs/util/unit_system.pyi +12 -10
  321. homeassistant-stubs/util/yaml/__init__.pyi +3 -4
  322. homeassistant-stubs/util/yaml/dumper.pyi +2 -8
  323. homeassistant-stubs/util/yaml/input.pyi +2 -9
  324. homeassistant-stubs/util/yaml/loader.pyi +4 -72
  325. homeassistant-stubs/util/yaml/objects.pyi +2 -26
  326. {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
  327. {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +329 -268
  328. homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
  329. homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
  330. homeassistant-stubs/util/yaml/const.pyi +0 -1
  331. {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
  332. {homeassistant_stubs-2025.3.4.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -4,6 +4,16 @@ from typing import Self
4
4
 
5
5
  DOMAIN: str
6
6
  DOCS_WEB_FLASHER_URL: str
7
+ NABU_CASA_FIRMWARE_RELEASES_URL: str
8
+ FIRMWARE: str
9
+ FIRMWARE_VERSION: str
10
+ SERIAL_NUMBER: str
11
+ MANUFACTURER: str
12
+ PRODUCT: str
13
+ DESCRIPTION: str
14
+ PID: str
15
+ VID: str
16
+ DEVICE: str
7
17
 
8
18
  @dataclasses.dataclass(frozen=True)
9
19
  class VariantInfo:
@@ -0,0 +1,29 @@
1
+ import aiohttp
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
5
+ from homeassistant.components.homeassistant_hardware.update import BaseFirmwareUpdateEntity as BaseFirmwareUpdateEntity, FirmwareUpdateEntityDescription as FirmwareUpdateEntityDescription
6
+ from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
7
+ from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
+
15
+ _LOGGER: Incomplete
16
+ FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
17
+
18
+ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry, session: aiohttp.ClientSession, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
19
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
+
21
+ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
22
+ bootloader_reset_type: Incomplete
23
+ _attr_unique_id: Incomplete
24
+ _attr_device_info: Incomplete
25
+ _current_firmware_info: Incomplete
26
+ def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
27
+ def _update_attributes(self) -> None: ...
28
+ @callback
29
+ def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
1
+ from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.hassio import get_os_info as get_os_info
4
4
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
@@ -1,5 +1,5 @@
1
1
  import abc
2
- from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
3
3
  from .hardware import BOARD_NAME as BOARD_NAME
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC, abstractmethod
@@ -1,7 +1,11 @@
1
1
  from _typeshed import Incomplete
2
2
 
3
3
  DOMAIN: str
4
+ MODEL: str
5
+ MANUFACTURER: str
4
6
  RADIO_DEVICE: str
5
7
  ZHA_HW_DISCOVERY_DATA: Incomplete
6
8
  FIRMWARE: str
9
+ FIRMWARE_VERSION: str
7
10
  ZHA_DOMAIN: str
11
+ NABU_CASA_FIRMWARE_RELEASES_URL: str
@@ -0,0 +1,29 @@
1
+ import aiohttp
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, MANUFACTURER as MANUFACTURER, MODEL as MODEL, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL, RADIO_DEVICE as RADIO_DEVICE
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.homeassistant_hardware.coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
5
+ from homeassistant.components.homeassistant_hardware.update import BaseFirmwareUpdateEntity as BaseFirmwareUpdateEntity, FirmwareUpdateEntityDescription as FirmwareUpdateEntityDescription
6
+ from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo
7
+ from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import EntityCategory as EntityCategory
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
13
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
+
15
+ _LOGGER: Incomplete
16
+ FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
17
+
18
+ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry, session: aiohttp.ClientSession, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
19
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
+
21
+ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
22
+ bootloader_reset_type: str
23
+ _attr_unique_id: Incomplete
24
+ _attr_device_info: Incomplete
25
+ _current_firmware_info: Incomplete
26
+ def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
27
+ def _update_attributes(self) -> None: ...
28
+ @callback
29
+ def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
@@ -0,0 +1,21 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .entity import HomeeEntity as HomeeEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
5
+ from homeassistant.const import EntityCategory as EntityCategory
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from pyHomee.const import AttributeType
9
+ from pyHomee.model import HomeeAttribute as HomeeAttribute
10
+
11
+ PARALLEL_UPDATES: int
12
+ BINARY_SENSOR_DESCRIPTIONS: dict[AttributeType, BinarySensorEntityDescription]
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
15
+
16
+ class HomeeBinarySensor(HomeeEntity, BinarySensorEntity):
17
+ entity_description: Incomplete
18
+ _attr_translation_key: Incomplete
19
+ def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: BinarySensorEntityDescription) -> None: ...
20
+ @property
21
+ def is_on(self) -> bool: ...
@@ -8,6 +8,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
8
8
  from pyHomee.const import AttributeType
9
9
  from pyHomee.model import HomeeAttribute as HomeeAttribute
10
10
 
11
+ PARALLEL_UPDATES: int
11
12
  BUTTON_DESCRIPTIONS: dict[AttributeType, ButtonEntityDescription]
12
13
 
13
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -8,6 +8,7 @@ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNo
8
8
  from typing import Any
9
9
 
10
10
  _LOGGER: Incomplete
11
+ PARALLEL_UPDATES: int
11
12
  OPEN_CLOSE_ATTRIBUTES: Incomplete
12
13
  POSITION_ATTRIBUTES: Incomplete
13
14
 
@@ -11,6 +11,7 @@ from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNo
11
11
  from typing import Any
12
12
 
13
13
  LIGHT_ATTRIBUTES: Incomplete
14
+ PARALLEL_UPDATES: int
14
15
 
15
16
  def is_light_node(node: HomeeNode) -> bool: ...
16
17
  def get_color_mode(supported_modes: set[ColorMode]) -> ColorMode: ...
@@ -0,0 +1,25 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .entity import HomeeEntity as HomeeEntity
3
+ from .helpers import get_name_for_enum as get_name_for_enum
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.lock import LockEntity as LockEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from typing import Any
9
+
10
+ PARALLEL_UPDATES: int
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class HomeeLock(HomeeEntity, LockEntity):
15
+ _attr_name: Incomplete
16
+ @property
17
+ def is_locked(self) -> bool: ...
18
+ @property
19
+ def is_locking(self) -> bool: ...
20
+ @property
21
+ def is_unlocking(self) -> bool: ...
22
+ @property
23
+ def changed_by(self) -> str: ...
24
+ async def async_lock(self, **kwargs: Any) -> None: ...
25
+ async def async_unlock(self, **kwargs: Any) -> None: ...
@@ -8,6 +8,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
9
  from pyHomee.model import HomeeAttribute as HomeeAttribute
10
10
 
11
+ PARALLEL_UPDATES: int
11
12
  NUMBER_DESCRIPTIONS: Incomplete
12
13
 
13
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -0,0 +1,23 @@
1
+ from . import HomeeConfigEntry as HomeeConfigEntry
2
+ from .entity import HomeeEntity as HomeeEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
5
+ from homeassistant.const import EntityCategory as EntityCategory
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from pyHomee.const import AttributeType
9
+ from pyHomee.model import HomeeAttribute as HomeeAttribute
10
+
11
+ PARALLEL_UPDATES: int
12
+ SELECT_DESCRIPTIONS: dict[AttributeType, SelectEntityDescription]
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+
16
+ class HomeeSelect(HomeeEntity, SelectEntity):
17
+ entity_description: Incomplete
18
+ _attr_options: Incomplete
19
+ _attr_translation_key: Incomplete
20
+ def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: SelectEntityDescription) -> None: ...
21
+ @property
22
+ def current_option(self) -> str: ...
23
+ async def async_select_option(self, option: str) -> None: ...
@@ -12,6 +12,8 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
12
12
  from pyHomee.const import AttributeType
13
13
  from pyHomee.model import HomeeAttribute as HomeeAttribute, HomeeNode as HomeeNode
14
14
 
15
+ PARALLEL_UPDATES: int
16
+
15
17
  def get_open_close_value(attribute: HomeeAttribute) -> str | None: ...
16
18
  def get_window_value(attribute: HomeeAttribute) -> str | None: ...
17
19
  def get_brightness_device_class(attribute: HomeeAttribute, device_class: SensorDeviceClass | None) -> SensorDeviceClass | None: ...
@@ -12,6 +12,8 @@ from pyHomee.const import AttributeType
12
12
  from pyHomee.model import HomeeAttribute as HomeeAttribute
13
13
  from typing import Any
14
14
 
15
+ PARALLEL_UPDATES: int
16
+
15
17
  def get_device_class(attribute: HomeeAttribute, config_entry: HomeeConfigEntry) -> SwitchDeviceClass: ...
16
18
 
17
19
  @dataclass(frozen=True, kw_only=True)
@@ -6,6 +6,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
7
  from pyHomee.model import HomeeAttribute as HomeeAttribute
8
8
 
9
+ PARALLEL_UPDATES: int
9
10
  VALVE_DESCRIPTIONS: Incomplete
10
11
 
11
12
  async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -58,6 +58,8 @@ CONFIG_SCHEMA: Incomplete
58
58
  RESET_ACCESSORY_SERVICE_SCHEMA: Incomplete
59
59
  UNPAIR_SERVICE_SCHEMA: Incomplete
60
60
 
61
+ @callback
62
+ def _async_update_entries_from_yaml(hass: HomeAssistant, config: ConfigType, start_import_flow: bool) -> None: ...
61
63
  def _async_all_homekit_instances(hass: HomeAssistant) -> list[HomeKit]: ...
62
64
  def _async_get_imported_entries_indices(current_entries: list[ConfigEntry]) -> tuple[dict[str, ConfigEntry], dict[int, ConfigEntry]]: ...
63
65
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -92,7 +94,7 @@ class HomeKit:
92
94
  bridge: HomeBridge | None
93
95
  _reset_lock: Incomplete
94
96
  _cancel_reload_dispatcher: CALLBACK_TYPE | None
95
- def __init__(self, hass: HomeAssistant, name: str, port: int, ip_address: str | None, entity_filter: EntityFilter, exclude_accessory_mode: bool, entity_config: dict[str, Any], homekit_mode: str, advertise_ips: list[str], entry_id: str, entry_title: str, devices: list[str] | None = None) -> None: ...
97
+ def __init__(self, hass: HomeAssistant, name: str, port: int, ip_address: list[str] | str | None, entity_filter: EntityFilter, exclude_accessory_mode: bool, entity_config: dict[str, Any], homekit_mode: str, advertise_ips: list[str], entry_id: str, entry_title: str, devices: list[str] | None = None) -> None: ...
96
98
  def setup(self, async_zeroconf_instance: AsyncZeroconf, uuid: str) -> bool: ...
97
99
  async def async_reset_accessories(self, entity_ids: Iterable[str]) -> None: ...
98
100
  async def async_reload_accessories(self, entity_ids: Iterable[str]) -> None: ...
@@ -3,6 +3,7 @@ from .iidmanager import AccessoryIIDStorage as AccessoryIIDStorage
3
3
  from .util import accessory_friendly_name as accessory_friendly_name, async_dismiss_setup_message as async_dismiss_setup_message, async_show_setup_message as async_show_setup_message, cleanup_name_for_homekit as cleanup_name_for_homekit, convert_to_float as convert_to_float, format_version as format_version, validate_media_player_features as validate_media_player_features
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntityFeature as CoverEntityFeature
6
+ from homeassistant.components.lawn_mower import LawnMowerEntityFeature as LawnMowerEntityFeature
6
7
  from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass
7
8
  from homeassistant.components.remote import RemoteEntityFeature as RemoteEntityFeature
8
9
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
@@ -4,6 +4,7 @@ from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components import button as button, input_button as input_button
6
6
  from homeassistant.components.input_select import ATTR_OPTIONS as ATTR_OPTIONS, SERVICE_SELECT_OPTION as SERVICE_SELECT_OPTION
7
+ from homeassistant.components.lawn_mower import LawnMowerActivity as LawnMowerActivity, SERVICE_DOCK as SERVICE_DOCK, SERVICE_START_MOWING as SERVICE_START_MOWING
7
8
  from homeassistant.components.vacuum import SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE, SERVICE_START as SERVICE_START, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
8
9
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_TYPE as CONF_TYPE, SERVICE_CLOSE_VALVE as SERVICE_CLOSE_VALVE, SERVICE_OPEN_VALVE as SERVICE_OPEN_VALVE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_CLOSING as STATE_CLOSING, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
@@ -45,6 +46,11 @@ class Vacuum(Switch):
45
46
  @callback
46
47
  def async_update_state(self, new_state: State) -> None: ...
47
48
 
49
+ class LawnMower(Switch):
50
+ def set_state(self, value: bool) -> None: ...
51
+ @callback
52
+ def async_update_state(self, new_state: State) -> None: ...
53
+
48
54
  class ValveBase(HomeAccessory):
49
55
  domain: Incomplete
50
56
  category: Incomplete
@@ -35,7 +35,7 @@ class Router:
35
35
  inflight_gets: set[str] = field(default_factory=set, init=False)
36
36
  client: Client = field(init=False)
37
37
  suspended: bool = field(default=False, init=False)
38
- notify_last_attempt: float = field(default=None, init=False)
38
+ notify_last_attempt: float = field(default=-1, init=False)
39
39
  def __post_init__(self) -> None: ...
40
40
  @property
41
41
  def device_name(self) -> str: ...
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from aioautomower.model import MowerAttributes
3
+ from aioautomower.model import MowerDictionary
4
4
  from aioautomower.session import AutomowerSession as AutomowerSession
5
5
  from collections.abc import Callable as Callable
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -14,7 +14,7 @@ SCAN_INTERVAL: Incomplete
14
14
  DEFAULT_RECONNECT_TIME: int
15
15
  type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator]
16
16
 
17
- class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttributes]]):
17
+ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[MowerDictionary]):
18
18
  config_entry: AutomowerConfigEntry
19
19
  api: Incomplete
20
20
  ws_connected: bool
@@ -26,14 +26,14 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttrib
26
26
  _zones_last_update: dict[str, set[str]]
27
27
  _areas_last_update: dict[str, set[int]]
28
28
  def __init__(self, hass: HomeAssistant, config_entry: AutomowerConfigEntry, api: AutomowerSession) -> None: ...
29
- async def _async_update_data(self) -> dict[str, MowerAttributes]: ...
29
+ async def _async_update_data(self) -> MowerDictionary: ...
30
30
  @callback
31
- def callback(self, ws_data: dict[str, MowerAttributes]) -> None: ...
31
+ def callback(self, ws_data: MowerDictionary) -> None: ...
32
32
  async def client_listen(self, hass: HomeAssistant, entry: AutomowerConfigEntry, automower_client: AutomowerSession) -> None: ...
33
- def _async_add_remove_devices(self, data: dict[str, MowerAttributes]) -> None: ...
33
+ def _async_add_remove_devices(self, data: MowerDictionary) -> None: ...
34
34
  def _remove_device(self, removed_devices: set[str]) -> None: ...
35
35
  def _add_new_devices(self, new_devices: set[str]) -> None: ...
36
- def _async_add_remove_stay_out_zones(self, data: dict[str, MowerAttributes]) -> None: ...
36
+ def _async_add_remove_stay_out_zones(self, data: MowerDictionary) -> None: ...
37
37
  def _update_stay_out_zones(self, current_zones: dict[str, set[str]]) -> dict[str, set[str]]: ...
38
- def _async_add_remove_work_areas(self, data: dict[str, MowerAttributes]) -> None: ...
38
+ def _async_add_remove_work_areas(self, data: MowerDictionary) -> None: ...
39
39
  def _update_work_areas(self, current_areas: dict[str, set[int]]) -> dict[str, set[int]]: ...
@@ -11,6 +11,7 @@ from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, B
11
11
  from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
12
12
  from typing import Any
13
13
 
14
+ _LOGGER: Incomplete
14
15
  TITLE: str
15
16
  CONFIG_SCHEMA: Incomplete
16
17
  DHCP_CONFIG_SCHEMA: Incomplete
@@ -14,6 +14,7 @@ _LOGGER: Incomplete
14
14
  SCAN_INTERVAL: Incomplete
15
15
  SCAN_INTERVAL_GITHUB: Incomplete
16
16
  SCAN_INTERVAL_SETTINGS: Incomplete
17
+ V223: Incomplete
17
18
 
18
19
  @dataclass
19
20
  class IronOSCoordinators:
@@ -25,6 +26,7 @@ class IronOSBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
25
26
  device_info: DeviceInfoResponse
26
27
  config_entry: IronOSConfigEntry
27
28
  device: Incomplete
29
+ v223_features: bool
28
30
  def __init__(self, hass: HomeAssistant, config_entry: IronOSConfigEntry, device: Pynecil, update_interval: timedelta) -> None: ...
29
31
  async def _async_setup(self) -> None: ...
30
32
 
@@ -41,10 +41,12 @@ class PinecilNumber(StrEnum):
41
41
  VOLTAGE_DIV = 'voltage_div'
42
42
  TEMP_INCREMENT_SHORT = 'temp_increment_short'
43
43
  TEMP_INCREMENT_LONG = 'temp_increment_long'
44
+ HALL_EFFECT_SLEEP_TIME = 'hall_effect_sleep_time'
44
45
 
45
46
  def multiply(value: float | None, multiplier: float) -> float | None: ...
46
47
 
47
48
  PINECIL_NUMBER_DESCRIPTIONS: tuple[IronOSNumberEntityDescription, ...]
49
+ PINECIL_NUMBER_DESCRIPTIONS_V223: tuple[IronOSNumberEntityDescription, ...]
48
50
 
49
51
  async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
50
52
 
@@ -29,10 +29,13 @@ class PinecilSelect(StrEnum):
29
29
  LOCKING_MODE = 'locking_mode'
30
30
  LOGO_DURATION = 'logo_duration'
31
31
  USB_PD_MODE = 'usb_pd_mode'
32
+ TIP_TYPE = 'tip_type'
32
33
 
33
34
  def enum_to_str(enum: Enum | None) -> str | None: ...
34
35
 
35
36
  PINECIL_SELECT_DESCRIPTIONS: tuple[IronOSSelectEntityDescription, ...]
37
+ PINECIL_SELECT_DESCRIPTIONS_V222: tuple[IronOSSelectEntityDescription, ...]
38
+ PINECIL_SELECT_DESCRIPTIONS_V223: tuple[IronOSSelectEntityDescription, ...]
36
39
 
37
40
  async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
38
41
 
@@ -1,9 +1,16 @@
1
- from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DEFAULT_CANDLE_LIGHT as DEFAULT_CANDLE_LIGHT, DEFAULT_DIASPORA as DEFAULT_DIASPORA, DEFAULT_HAVDALAH_OFFSET_MINUTES as DEFAULT_HAVDALAH_OFFSET_MINUTES, DEFAULT_LANGUAGE as DEFAULT_LANGUAGE
1
+ from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DEFAULT_CANDLE_LIGHT as DEFAULT_CANDLE_LIGHT, DEFAULT_DIASPORA as DEFAULT_DIASPORA, DEFAULT_HAVDALAH_OFFSET_MINUTES as DEFAULT_HAVDALAH_OFFSET_MINUTES, DEFAULT_LANGUAGE as DEFAULT_LANGUAGE, DOMAIN as DOMAIN
2
2
  from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarData as JewishCalendarData
3
+ from .service import async_setup_services as async_setup_services
4
+ from _typeshed import Incomplete
3
5
  from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_TIME_ZONE as CONF_TIME_ZONE, Platform as Platform
4
- from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.typing import ConfigType as ConfigType
5
8
 
9
+ _LOGGER: Incomplete
6
10
  PLATFORMS: list[Platform]
11
+ CONFIG_SCHEMA: Incomplete
7
12
 
13
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
8
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry) -> bool: ...
9
15
  async def async_unload_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry) -> bool: ...
16
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry) -> bool: ...
@@ -1,9 +1,9 @@
1
+ import datetime as dt
1
2
  from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarEntity as JewishCalendarEntity
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Callable as Callable
4
5
  from dataclasses import dataclass
5
- from datetime import datetime
6
- from hdate.zmanim import Zmanim as Zmanim
6
+ from hdate.zmanim import Zmanim
7
7
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
@@ -12,7 +12,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
12
12
 
13
13
  @dataclass(frozen=True)
14
14
  class JewishCalendarBinarySensorMixIns(BinarySensorEntityDescription):
15
- is_on: Callable[[Zmanim], bool] = ...
15
+ is_on: Callable[[Zmanim, dt.datetime], bool] = ...
16
16
 
17
17
  @dataclass(frozen=True)
18
18
  class JewishCalendarBinarySensorEntityDescription(JewishCalendarBinarySensorMixIns, BinarySensorEntityDescription): ...
@@ -32,5 +32,5 @@ class JewishCalendarBinarySensor(JewishCalendarEntity, BinarySensorEntity):
32
32
  async def async_added_to_hass(self) -> None: ...
33
33
  async def async_will_remove_from_hass(self) -> None: ...
34
34
  @callback
35
- def _update(self, now: datetime | None = None) -> None: ...
35
+ def _update(self, now: dt.datetime | None = None) -> None: ...
36
36
  def _schedule_update(self) -> None: ...
@@ -1,4 +1,6 @@
1
1
  DOMAIN: str
2
+ ATTR_DATE: str
3
+ ATTR_NUSACH: str
2
4
  CONF_DIASPORA: str
3
5
  CONF_CANDLE_LIGHT_MINUTES: str
4
6
  CONF_HAVDALAH_OFFSET_MINUTES: str
@@ -7,3 +9,4 @@ DEFAULT_CANDLE_LIGHT: int
7
9
  DEFAULT_DIASPORA: bool
8
10
  DEFAULT_HAVDALAH_OFFSET_MINUTES: int
9
11
  DEFAULT_LANGUAGE: str
12
+ SERVICE_COUNT_OMER: str
@@ -2,6 +2,7 @@ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from dataclasses import dataclass
4
4
  from hdate import Location as Location
5
+ from hdate.translator import Language as Language
5
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
7
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
7
8
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
@@ -9,7 +10,7 @@ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as
9
10
  type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
10
11
  @dataclass
11
12
  class JewishCalendarData:
12
- language: str
13
+ language: Language
13
14
  diaspora: bool
14
15
  location: Location
15
16
  candle_lighting_offset: int
@@ -21,7 +22,6 @@ class JewishCalendarEntity(Entity):
21
22
  _attr_unique_id: Incomplete
22
23
  _attr_device_info: Incomplete
23
24
  _location: Incomplete
24
- _hebrew: Incomplete
25
25
  _language: Incomplete
26
26
  _candle_lighting_offset: Incomplete
27
27
  _havdalah_offset: Incomplete
@@ -1,8 +1,7 @@
1
+ import datetime as dt
1
2
  from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarEntity as JewishCalendarEntity
2
3
  from _typeshed import Incomplete
3
- from datetime import date as Date
4
- from hdate import HDate
5
- from hdate.zmanim import Zmanim
4
+ from hdate import HDateInfo, Zmanim
6
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
7
6
  from homeassistant.const import EntityCategory as EntityCategory, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -22,12 +21,12 @@ class JewishCalendarSensor(JewishCalendarEntity, SensorEntity):
22
21
  def __init__(self, config_entry: JewishCalendarConfigEntry, description: SensorEntityDescription) -> None: ...
23
22
  _attr_native_value: Incomplete
24
23
  async def async_update(self) -> None: ...
25
- def make_zmanim(self, date: Date) -> Zmanim: ...
24
+ def make_zmanim(self, date: dt.date) -> Zmanim: ...
26
25
  @property
27
26
  def extra_state_attributes(self) -> dict[str, str]: ...
28
27
  _attr_options: Incomplete
29
- def get_state(self, daytime_date: HDate, after_shkia_date: HDate, after_tzais_date: HDate) -> Any | None: ...
28
+ def get_state(self, daytime_date: HDateInfo, after_shkia_date: HDateInfo, after_tzais_date: HDateInfo) -> Any | None: ...
30
29
 
31
30
  class JewishCalendarTimeSensor(JewishCalendarSensor):
32
31
  _attr_device_class: Incomplete
33
- def get_state(self, daytime_date: HDate, after_shkia_date: HDate, after_tzais_date: HDate) -> Any | None: ...
32
+ def get_state(self, daytime_date: HDateInfo, after_shkia_date: HDateInfo, after_tzais_date: HDateInfo) -> Any | None: ...
@@ -0,0 +1,10 @@
1
+ from .const import ATTR_DATE as ATTR_DATE, ATTR_NUSACH as ATTR_NUSACH, DOMAIN as DOMAIN, SERVICE_COUNT_OMER as SERVICE_COUNT_OMER
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import CONF_LANGUAGE as CONF_LANGUAGE
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
5
+ from homeassistant.helpers.selector import LanguageSelector as LanguageSelector, LanguageSelectorConfig as LanguageSelectorConfig
6
+
7
+ SUPPORTED_LANGUAGES: Incomplete
8
+ OMER_SCHEMA: Incomplete
9
+
10
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -11,6 +11,7 @@ from typing import final
11
11
 
12
12
  _LOGGER: Incomplete
13
13
  DATA_COMPONENT: HassKey[EntityComponent[LawnMowerEntity]]
14
+ ENTITY_ID_FORMAT: Incomplete
14
15
  PLATFORM_SCHEMA: Incomplete
15
16
  PLATFORM_SCHEMA_BASE: Incomplete
16
17
  SCAN_INTERVAL: Incomplete
@@ -1,5 +1,4 @@
1
1
  from . import DOMAIN as DOMAIN, LinkPlayRequestException as LinkPlayRequestException
2
- from .utils import MANUFACTURER_GENERIC as MANUFACTURER_GENERIC, get_info_from_project as get_info_from_project
3
2
  from _typeshed import Incomplete
4
3
  from collections.abc import Callable as Callable, Coroutine
5
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -21,23 +21,24 @@ SOURCE_MAP: dict[PlayingMode, str]
21
21
  SOURCE_MAP_INV: dict[str, PlayingMode]
22
22
  REPEAT_MAP: dict[LoopMode, RepeatMode]
23
23
  REPEAT_MAP_INV: dict[RepeatMode, LoopMode]
24
- EQUALIZER_MAP: dict[EqualizerMode, str]
25
24
  EQUALIZER_MAP_INV: dict[str, EqualizerMode]
26
25
  DEFAULT_FEATURES: MediaPlayerEntityFeature
27
26
  SEEKABLE_FEATURES: MediaPlayerEntityFeature
28
27
  SERVICE_PLAY_PRESET: str
29
28
  ATTR_PRESET_NUMBER: str
30
29
  SERVICE_PLAY_PRESET_SCHEMA: Incomplete
30
+ RETRY_POLL_MAXIMUM: int
31
31
 
32
32
  async def async_setup_entry(hass: HomeAssistant, entry: LinkPlayConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
33
 
34
34
  class LinkPlayMediaPlayerEntity(LinkPlayBaseEntity, MediaPlayerEntity):
35
- _attr_sound_mode_list: Incomplete
36
35
  _attr_device_class: Incomplete
37
36
  _attr_media_content_type: Incomplete
38
37
  _attr_name: Incomplete
39
38
  _attr_unique_id: Incomplete
39
+ _retry_count: int
40
40
  _attr_source_list: Incomplete
41
+ _attr_sound_mode_list: Incomplete
41
42
  def __init__(self, bridge: LinkPlayBridge) -> None: ...
42
43
  _attr_available: bool
43
44
  @exception_wrap
@@ -2,37 +2,5 @@ from .const import DATA_SESSION as DATA_SESSION, DOMAIN as DOMAIN
2
2
  from aiohttp import ClientSession as ClientSession
3
3
  from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE
4
4
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
5
- from typing import Final
6
5
 
7
- MANUFACTURER_ARTSOUND: Final[str]
8
- MANUFACTURER_ARYLIC: Final[str]
9
- MANUFACTURER_IEAST: Final[str]
10
- MANUFACTURER_WIIM: Final[str]
11
- MANUFACTURER_GGMM: Final[str]
12
- MANUFACTURER_MEDION: Final[str]
13
- MANUFACTURER_GENERIC: Final[str]
14
- MODELS_ARTSOUND_SMART_ZONE4: Final[str]
15
- MODELS_ARTSOUND_SMART_HYDE: Final[str]
16
- MODELS_ARYLIC_S50: Final[str]
17
- MODELS_ARYLIC_S50_PRO: Final[str]
18
- MODELS_ARYLIC_A30: Final[str]
19
- MODELS_ARYLIC_A50: Final[str]
20
- MODELS_ARYLIC_A50S: Final[str]
21
- MODELS_ARYLIC_UP2STREAM_AMP: Final[str]
22
- MODELS_ARYLIC_UP2STREAM_AMP_2P1: Final[str]
23
- MODELS_ARYLIC_UP2STREAM_AMP_V3: Final[str]
24
- MODELS_ARYLIC_UP2STREAM_AMP_V4: Final[str]
25
- MODELS_ARYLIC_UP2STREAM_PRO: Final[str]
26
- MODELS_ARYLIC_UP2STREAM_PRO_V3: Final[str]
27
- MODELS_ARYLIC_S10P: Final[str]
28
- MODELS_ARYLIC_UP2STREAM_PLATE_AMP: Final[str]
29
- MODELS_IEAST_AUDIOCAST_M5: Final[str]
30
- MODELS_WIIM_AMP: Final[str]
31
- MODELS_WIIM_MINI: Final[str]
32
- MODELS_GGMM_GGMM_E2: Final[str]
33
- MODELS_MEDION_MD_43970: Final[str]
34
- MODELS_GENERIC: Final[str]
35
- PROJECTID_LOOKUP: Final[dict[str, tuple[str, str]]]
36
-
37
- def get_info_from_project(project: str) -> tuple[str, str]: ...
38
6
  async def async_get_client_session(hass: HomeAssistant) -> ClientSession: ...
@@ -3,7 +3,7 @@ from .const import CONF_ALLOW_SINGLE_WORD as CONF_ALLOW_SINGLE_WORD, CONF_ICON a
3
3
  from .system_health import system_health_info as system_health_info
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
- from homeassistant.components import frontend as frontend, websocket_api as websocket_api
6
+ from homeassistant.components import frontend as frontend, onboarding as onboarding, websocket_api as websocket_api
7
7
  from homeassistant.config import async_hass_config_yaml as async_hass_config_yaml, async_process_component_and_handle_errors as async_process_component_and_handle_errors
8
8
  from homeassistant.const import CONF_FILENAME as CONF_FILENAME, CONF_MODE as CONF_MODE, CONF_RESOURCES as CONF_RESOURCES
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
@@ -11,6 +11,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers import collection as collection
12
12
  from homeassistant.helpers.frame import report_usage as report_usage
13
13
  from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
14
+ from homeassistant.helpers.translation import async_get_translations as async_get_translations
14
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
16
  from homeassistant.loader import async_get_integration as async_get_integration
16
17
  from homeassistant.util import slugify as slugify
@@ -37,3 +38,4 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
37
38
  async def create_yaml_resource_col(hass: HomeAssistant, yaml_resources: list[ConfigType] | None) -> resources.ResourceYAMLCollection: ...
38
39
  @callback
39
40
  def _register_panel(hass: HomeAssistant, url_path: str | None, mode: str, config: dict, update: bool) -> None: ...
41
+ async def _create_map_dashboard(hass: HomeAssistant, dashboards_collection: dashboard.DashboardsCollection) -> None: ...