homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.0b0__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 (324) 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/entity.pyi +5 -3
  9. homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
  10. homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
  11. homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
  12. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  13. homeassistant-stubs/components/backup/agent.pyi +1 -1
  14. homeassistant-stubs/components/backup/backup.pyi +1 -1
  15. homeassistant-stubs/components/backup/config_flow.pyi +7 -0
  16. homeassistant-stubs/components/backup/coordinator.pyi +28 -0
  17. homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
  18. homeassistant-stubs/components/backup/entity.pyi +13 -0
  19. homeassistant-stubs/components/backup/http.pyi +1 -0
  20. homeassistant-stubs/components/backup/manager.pyi +8 -3
  21. homeassistant-stubs/components/backup/sensor.pyi +23 -0
  22. homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
  23. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
  24. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
  25. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
  26. homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
  27. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  28. homeassistant-stubs/components/brother/coordinator.pyi +1 -0
  29. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  30. homeassistant-stubs/components/cloud/http_api.pyi +6 -3
  31. homeassistant-stubs/components/cloud/tts.pyi +2 -2
  32. homeassistant-stubs/components/comelit/__init__.pyi +11 -0
  33. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +42 -0
  34. homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
  35. homeassistant-stubs/components/comelit/climate.pyi +60 -0
  36. homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
  37. homeassistant-stubs/components/comelit/const.pyi +7 -0
  38. homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
  39. homeassistant-stubs/components/comelit/cover.pyi +40 -0
  40. homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
  41. homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
  42. homeassistant-stubs/components/comelit/light.pyi +28 -0
  43. homeassistant-stubs/components/comelit/sensor.pyi +45 -0
  44. homeassistant-stubs/components/comelit/switch.pyi +27 -0
  45. homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
  46. homeassistant-stubs/components/demo/valve.pyi +30 -0
  47. homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
  48. homeassistant-stubs/components/energy/data.pyi +1 -0
  49. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
  50. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  51. homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
  52. homeassistant-stubs/components/esphome/const.pyi +1 -0
  53. homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
  54. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  55. homeassistant-stubs/components/frontend/__init__.pyi +9 -10
  56. homeassistant-stubs/components/frontend/storage.pyi +2 -1
  57. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  58. homeassistant-stubs/components/gios/config_flow.pyi +1 -0
  59. homeassistant-stubs/components/gios/coordinator.pyi +2 -2
  60. homeassistant-stubs/components/google/calendar.pyi +3 -2
  61. homeassistant-stubs/components/google_drive/backup.pyi +2 -2
  62. homeassistant-stubs/components/habitica/const.pyi +25 -0
  63. homeassistant-stubs/components/habitica/services.pyi +6 -2
  64. homeassistant-stubs/components/heos/const.pyi +1 -0
  65. homeassistant-stubs/components/heos/coordinator.pyi +5 -5
  66. homeassistant-stubs/components/heos/media_player.pyi +18 -8
  67. homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
  68. homeassistant-stubs/components/home_connect/button.pyi +0 -2
  69. homeassistant-stubs/components/home_connect/const.pyi +1 -6
  70. homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
  71. homeassistant-stubs/components/home_connect/entity.pyi +7 -2
  72. homeassistant-stubs/components/home_connect/light.pyi +1 -1
  73. homeassistant-stubs/components/home_connect/number.pyi +4 -3
  74. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  75. homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
  76. homeassistant-stubs/components/home_connect/services.pyi +35 -0
  77. homeassistant-stubs/components/home_connect/switch.pyi +1 -1
  78. homeassistant-stubs/components/home_connect/time.pyi +6 -1
  79. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
  80. homeassistant-stubs/components/homeassistant_hardware/update.pyi +69 -0
  81. homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
  82. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -0
  83. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
  84. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
  85. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +26 -0
  86. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
  87. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  88. homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
  89. homeassistant-stubs/components/homeassistant_yellow/update.pyi +26 -0
  90. homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
  91. homeassistant-stubs/components/homee/button.pyi +1 -0
  92. homeassistant-stubs/components/homee/cover.pyi +1 -0
  93. homeassistant-stubs/components/homee/light.pyi +1 -0
  94. homeassistant-stubs/components/homee/lock.pyi +25 -0
  95. homeassistant-stubs/components/homee/number.pyi +1 -0
  96. homeassistant-stubs/components/homee/select.pyi +23 -0
  97. homeassistant-stubs/components/homee/sensor.pyi +2 -0
  98. homeassistant-stubs/components/homee/switch.pyi +2 -0
  99. homeassistant-stubs/components/homee/valve.pyi +1 -0
  100. homeassistant-stubs/components/homekit/__init__.pyi +3 -1
  101. homeassistant-stubs/components/homekit/accessories.pyi +1 -0
  102. homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
  103. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
  104. homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
  105. homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
  106. homeassistant-stubs/components/iron_os/number.pyi +2 -0
  107. homeassistant-stubs/components/iron_os/select.pyi +3 -0
  108. homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
  109. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
  110. homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
  111. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
  112. homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
  113. homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
  114. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
  115. homeassistant-stubs/components/linkplay/entity.pyi +0 -1
  116. homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
  117. homeassistant-stubs/components/linkplay/utils.pyi +0 -32
  118. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  119. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
  120. homeassistant-stubs/components/mastodon/const.pyi +0 -7
  121. homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
  122. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
  123. homeassistant-stubs/components/mastodon/entity.pyi +1 -1
  124. homeassistant-stubs/components/mastodon/notify.pyi +3 -2
  125. homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
  126. homeassistant-stubs/components/mastodon/services.pyi +1 -0
  127. homeassistant-stubs/components/mastodon/utils.pyi +3 -2
  128. homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
  129. homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/mcp_server/const.pyi +1 -2
  131. homeassistant-stubs/components/mcp_server/server.pyi +1 -0
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/climate.pyi +6 -2
  134. homeassistant-stubs/components/modbus/const.pyi +10 -0
  135. homeassistant-stubs/components/mqtt/config_flow.pyi +96 -7
  136. homeassistant-stubs/components/mqtt/const.pyi +65 -0
  137. homeassistant-stubs/components/mqtt/cover.pyi +2 -0
  138. homeassistant-stubs/components/mqtt/entity.pyi +4 -4
  139. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
  140. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
  141. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
  142. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -12
  143. homeassistant-stubs/components/mqtt/models.pyi +25 -1
  144. homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
  145. homeassistant-stubs/components/mqtt/util.pyi +2 -0
  146. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  147. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  148. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  149. homeassistant-stubs/components/mysensors/const.pyi +0 -1
  150. homeassistant-stubs/components/mysensors/cover.pyi +1 -2
  151. homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
  152. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  153. homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
  154. homeassistant-stubs/components/mysensors/light.pyi +4 -5
  155. homeassistant-stubs/components/mysensors/remote.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
  157. homeassistant-stubs/components/mysensors/switch.pyi +1 -2
  158. homeassistant-stubs/components/mysensors/text.pyi +0 -1
  159. homeassistant-stubs/components/nam/button.pyi +2 -0
  160. homeassistant-stubs/components/nam/const.pyi +1 -0
  161. homeassistant-stubs/components/nam/sensor.pyi +2 -2
  162. homeassistant-stubs/components/nest/media_source.pyi +5 -0
  163. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  164. homeassistant-stubs/components/nextdns/button.pyi +2 -0
  165. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
  166. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  167. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  168. homeassistant-stubs/components/nut/button.pyi +14 -0
  169. homeassistant-stubs/components/nut/entity.pyi +19 -0
  170. homeassistant-stubs/components/nut/sensor.pyi +8 -13
  171. homeassistant-stubs/components/nut/switch.pyi +18 -0
  172. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  173. homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
  174. homeassistant-stubs/components/onedrive/backup.pyi +1 -1
  175. homeassistant-stubs/components/onedrive/services.pyi +15 -0
  176. homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
  177. homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
  178. homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
  179. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
  180. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
  181. homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
  182. homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
  183. homeassistant-stubs/components/purpleair/const.pyi +6 -4
  184. homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
  185. homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/purpleair/entity.pyi +2 -3
  187. homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
  188. homeassistant-stubs/components/pyload/__init__.pyi +12 -0
  189. homeassistant-stubs/components/pyload/button.pyi +32 -0
  190. homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
  191. homeassistant-stubs/components/pyload/const.pyi +6 -0
  192. homeassistant-stubs/components/pyload/coordinator.pyi +33 -0
  193. homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
  194. homeassistant-stubs/components/pyload/entity.pyi +13 -0
  195. homeassistant-stubs/components/pyload/sensor.pyi +33 -0
  196. homeassistant-stubs/components/pyload/switch.pyi +37 -0
  197. homeassistant-stubs/components/qbus/climate.pyi +41 -0
  198. homeassistant-stubs/components/qbus/light.pyi +3 -3
  199. homeassistant-stubs/components/recorder/const.pyi +1 -0
  200. homeassistant-stubs/components/recorder/core.pyi +1 -2
  201. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  202. homeassistant-stubs/components/recorder/migration.pyi +16 -2
  203. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  204. homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
  205. homeassistant-stubs/components/recorder/statistics.pyi +27 -9
  206. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  207. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  208. homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
  209. homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
  210. homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
  211. homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
  212. homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
  213. homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
  214. homeassistant-stubs/components/renault/config_flow.pyi +1 -0
  215. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  216. homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
  217. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  218. homeassistant-stubs/components/reolink/const.pyi +1 -0
  219. homeassistant-stubs/components/reolink/host.pyi +4 -4
  220. homeassistant-stubs/components/reolink/number.pyi +21 -1
  221. homeassistant-stubs/components/reolink/select.pyi +17 -1
  222. homeassistant-stubs/components/reolink/update.pyi +2 -1
  223. homeassistant-stubs/components/reolink/util.pyi +7 -0
  224. homeassistant-stubs/components/roborock/__init__.pyi +5 -3
  225. homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
  226. homeassistant-stubs/components/roborock/button.pyi +11 -1
  227. homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
  228. homeassistant-stubs/components/roborock/const.pyi +7 -1
  229. homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
  230. homeassistant-stubs/components/roborock/entity.pyi +3 -1
  231. homeassistant-stubs/components/roborock/image.pyi +2 -7
  232. homeassistant-stubs/components/roborock/models.pyi +7 -0
  233. homeassistant-stubs/components/roborock/number.pyi +1 -0
  234. homeassistant-stubs/components/roborock/select.pyi +7 -5
  235. homeassistant-stubs/components/roborock/sensor.pyi +14 -1
  236. homeassistant-stubs/components/roborock/switch.pyi +2 -0
  237. homeassistant-stubs/components/roborock/time.pyi +1 -0
  238. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  239. homeassistant-stubs/components/sensor/const.pyi +2 -0
  240. homeassistant-stubs/components/sensor/recorder.pyi +15 -3
  241. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  242. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
  243. homeassistant-stubs/components/shelly/button.pyi +22 -7
  244. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  245. homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
  246. homeassistant-stubs/components/shelly/const.pyi +0 -1
  247. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  248. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
  249. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  250. homeassistant-stubs/components/shelly/event.pyi +1 -1
  251. homeassistant-stubs/components/shelly/number.pyi +1 -1
  252. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  253. homeassistant-stubs/components/shelly/switch.pyi +14 -14
  254. homeassistant-stubs/components/shelly/update.pyi +1 -1
  255. homeassistant-stubs/components/shelly/utils.pyi +6 -2
  256. homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
  257. homeassistant-stubs/components/smlight/__init__.pyi +0 -2
  258. homeassistant-stubs/components/smlight/sensor.pyi +5 -2
  259. homeassistant-stubs/components/smlight/update.pyi +0 -1
  260. homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
  261. homeassistant-stubs/components/squeezebox/button.pyi +31 -0
  262. homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
  263. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
  264. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
  265. homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
  266. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
  267. homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
  268. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
  269. homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
  270. homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
  271. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
  272. homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
  273. homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
  274. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
  275. homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
  276. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
  277. homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
  278. homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
  279. homeassistant-stubs/components/todo/intent.pyi +8 -0
  280. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
  281. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
  282. homeassistant-stubs/components/tts/__init__.pyi +66 -51
  283. homeassistant-stubs/components/tts/entity.pyi +54 -0
  284. homeassistant-stubs/components/tts/media_source.pyi +1 -1
  285. homeassistant-stubs/components/update/__init__.pyi +2 -2
  286. homeassistant-stubs/components/usb/__init__.pyi +0 -3
  287. homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
  288. homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
  289. homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
  290. homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
  291. homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
  292. homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
  293. homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
  294. homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
  295. homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
  296. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
  297. homeassistant-stubs/components/zwave_js/api.pyi +15 -0
  298. homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
  299. homeassistant-stubs/config_entries.pyi +2 -5
  300. homeassistant-stubs/helpers/backup.pyi +4 -1
  301. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
  302. homeassistant-stubs/helpers/config_validation.pyi +5 -2
  303. homeassistant-stubs/helpers/frame.pyi +14 -5
  304. homeassistant-stubs/helpers/intent.pyi +13 -4
  305. homeassistant-stubs/helpers/llm.pyi +7 -1
  306. homeassistant-stubs/helpers/selector.pyi +1 -0
  307. homeassistant-stubs/helpers/template.pyi +14 -1
  308. homeassistant-stubs/loader.pyi +18 -8
  309. homeassistant-stubs/scripts/check_config.pyi +0 -1
  310. homeassistant-stubs/util/logging.pyi +16 -1
  311. homeassistant-stubs/util/unit_conversion.pyi +3 -0
  312. homeassistant-stubs/util/unit_system.pyi +12 -10
  313. homeassistant-stubs/util/yaml/__init__.pyi +3 -4
  314. homeassistant-stubs/util/yaml/dumper.pyi +2 -8
  315. homeassistant-stubs/util/yaml/input.pyi +2 -9
  316. homeassistant-stubs/util/yaml/loader.pyi +4 -72
  317. homeassistant-stubs/util/yaml/objects.pyi +2 -26
  318. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/METADATA +2 -2
  319. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/RECORD +321 -260
  320. homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
  321. homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
  322. homeassistant-stubs/util/yaml/const.pyi +0 -1
  323. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/WHEEL +0 -0
  324. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,69 @@
1
+ from .coordinator import FirmwareUpdateCoordinator as FirmwareUpdateCoordinator
2
+ from .helpers import async_register_firmware_info_callback as async_register_firmware_info_callback
3
+ from .util import ApplicationType as ApplicationType, FirmwareInfo as FirmwareInfo, guess_firmware_info as guess_firmware_info, probe_silabs_firmware_info as probe_silabs_firmware_info
4
+ from _typeshed import Incomplete
5
+ from collections.abc import AsyncIterator, Callable
6
+ from contextlib import asynccontextmanager
7
+ from dataclasses import dataclass
8
+ from ha_silabs_firmware_client import FirmwareManifest, FirmwareMetadata as FirmwareMetadata
9
+ from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
10
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, callback as callback
12
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
+ from homeassistant.helpers.restore_state import ExtraStoredData as ExtraStoredData
14
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
15
+ from typing import Any
16
+
17
+ _LOGGER: Incomplete
18
+ type FirmwareChangeCallbackType = Callable[[ApplicationType | None, ApplicationType | None], None]
19
+
20
+ @dataclass(kw_only=True, frozen=True)
21
+ class FirmwareUpdateEntityDescription(UpdateEntityDescription):
22
+ version_parser: Callable[[str], str]
23
+ fw_type: str | None
24
+ version_key: str | None
25
+ expected_firmware_type: ApplicationType | None
26
+ firmware_name: str | None
27
+
28
+ @dataclass
29
+ class FirmwareUpdateExtraStoredData(ExtraStoredData):
30
+ firmware_manifest: FirmwareManifest | None = ...
31
+ def as_dict(self) -> dict[str, Any]: ...
32
+ @classmethod
33
+ def from_dict(cls, data: dict[str, Any]) -> FirmwareUpdateExtraStoredData: ...
34
+
35
+ class BaseFirmwareUpdateEntity(CoordinatorEntity[FirmwareUpdateCoordinator], UpdateEntity):
36
+ entity_description: FirmwareUpdateEntityDescription
37
+ bootloader_reset_type: str | None
38
+ _attr_supported_features: Incomplete
39
+ _attr_has_entity_name: bool
40
+ _current_device: Incomplete
41
+ _config_entry: Incomplete
42
+ _current_firmware_info: FirmwareInfo | None
43
+ _firmware_type_change_callbacks: set[FirmwareChangeCallbackType]
44
+ _latest_manifest: FirmwareManifest | None
45
+ _latest_firmware: FirmwareMetadata | None
46
+ def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
47
+ def add_firmware_type_changed_callback(self, change_callback: FirmwareChangeCallbackType) -> CALLBACK_TYPE: ...
48
+ async def async_added_to_hass(self) -> None: ...
49
+ @property
50
+ def extra_restore_state_data(self) -> FirmwareUpdateExtraStoredData: ...
51
+ @callback
52
+ def _on_config_entry_change(self) -> None: ...
53
+ @callback
54
+ def _firmware_info_callback(self, firmware_info: FirmwareInfo) -> None: ...
55
+ _attr_name: Incomplete
56
+ _attr_title: Incomplete
57
+ _attr_installed_version: Incomplete
58
+ _attr_latest_version: Incomplete
59
+ _attr_release_summary: Incomplete
60
+ _attr_release_url: Incomplete
61
+ def _update_attributes(self) -> None: ...
62
+ @callback
63
+ def _handle_coordinator_update(self) -> None: ...
64
+ _attr_update_percentage: Incomplete
65
+ def _update_progress(self, offset: int, total_size: int) -> None: ...
66
+ @asynccontextmanager
67
+ async def _temporarily_stop_hardware_owners(self, device: str) -> AsyncIterator[None]: ...
68
+ _attr_in_progress: bool
69
+ async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -2,7 +2,8 @@ from . import DATA_COMPONENT as DATA_COMPONENT
2
2
  from .const import OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
3
3
  from .silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Iterable
5
+ from collections.abc import AsyncIterator, Iterable
6
+ from contextlib import asynccontextmanager
6
7
  from dataclasses import dataclass
7
8
  from enum import StrEnum
8
9
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
@@ -34,11 +35,15 @@ class OwningAddon:
34
35
  slug: str
35
36
  def _get_addon_manager(self, hass: HomeAssistant) -> WaitingAddonManager: ...
36
37
  async def is_running(self, hass: HomeAssistant) -> bool: ...
38
+ @asynccontextmanager
39
+ async def temporarily_stop(self, hass: HomeAssistant) -> AsyncIterator[None]: ...
37
40
 
38
41
  @dataclass(kw_only=True)
39
42
  class OwningIntegration:
40
43
  config_entry_id: str
41
44
  async def is_running(self, hass: HomeAssistant) -> bool: ...
45
+ @asynccontextmanager
46
+ async def temporarily_stop(self, hass: HomeAssistant) -> AsyncIterator[None]: ...
42
47
 
43
48
  @dataclass(kw_only=True)
44
49
  class FirmwareInfo:
@@ -1,3 +1,4 @@
1
+ from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, PRODUCT as PRODUCT
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.components.homeassistant_hardware.util import guess_firmware_info as guess_firmware_info
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,4 +1,4 @@
1
- from .const import DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, HardwareVariant as HardwareVariant
1
+ from .const import DESCRIPTION as DESCRIPTION, DEVICE as DEVICE, DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, HardwareVariant as HardwareVariant, MANUFACTURER as MANUFACTURER, PID as PID, PRODUCT as PRODUCT, SERIAL_NUMBER as SERIAL_NUMBER, VID as VID
2
2
  from .util import get_hardware_variant as get_hardware_variant, get_usb_service_info as get_usb_service_info
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components import usb as usb
@@ -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,26 @@
1
+ import aiohttp
2
+ from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, NABU_CASA_FIRMWARE_RELEASES_URL as NABU_CASA_FIRMWARE_RELEASES_URL
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.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+
14
+ _LOGGER: Incomplete
15
+ FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
16
+
17
+ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry, session: aiohttp.ClientSession, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
21
+ bootloader_reset_type: Incomplete
22
+ _attr_unique_id: Incomplete
23
+ _current_firmware_info: Incomplete
24
+ def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
25
+ @callback
26
+ 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
+ RADIO_MODEL: str
5
+ RADIO_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,26 @@
1
+ import aiohttp
2
+ from .const import FIRMWARE as FIRMWARE, FIRMWARE_VERSION as FIRMWARE_VERSION, 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.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+
14
+ _LOGGER: Incomplete
15
+ FIRMWARE_ENTITY_DESCRIPTIONS: dict[ApplicationType | None, FirmwareUpdateEntityDescription]
16
+
17
+ def _async_create_update_entity(hass: HomeAssistant, config_entry: ConfigEntry, session: aiohttp.ClientSession, async_add_entities: AddConfigEntryEntitiesCallback) -> FirmwareUpdateEntity: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
21
+ bootloader_reset_type: str
22
+ _attr_unique_id: Incomplete
23
+ _current_firmware_info: Incomplete
24
+ def __init__(self, device: str, config_entry: ConfigEntry, update_coordinator: FirmwareUpdateCoordinator, entity_description: FirmwareUpdateEntityDescription) -> None: ...
25
+ @callback
26
+ 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
@@ -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