homeassistant-stubs 2025.10.3__py3-none-any.whl → 2025.11.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.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (458) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
  3. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airos/__init__.pyi +4 -2
  6. homeassistant-stubs/components/airos/config_flow.pyi +10 -1
  7. homeassistant-stubs/components/airos/coordinator.pyi +1 -1
  8. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  9. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
  10. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  11. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  12. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  13. homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
  14. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  15. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  16. homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
  17. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
  19. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  20. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  21. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/backup/http.pyi +1 -0
  24. homeassistant-stubs/components/backup/manager.pyi +2 -1
  25. homeassistant-stubs/components/backup/util.pyi +2 -32
  26. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
  27. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  28. homeassistant-stubs/components/bluetooth/api.pyi +2 -0
  29. homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
  30. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  31. homeassistant-stubs/components/calendar/trigger.pyi +1 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +1 -9
  33. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  35. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  36. homeassistant-stubs/components/cloud/__init__.pyi +2 -1
  37. homeassistant-stubs/components/cloud/client.pyi +1 -1
  38. homeassistant-stubs/components/cloud/const.pyi +1 -1
  39. homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -2
  41. homeassistant-stubs/components/comelit/light.pyi +1 -1
  42. homeassistant-stubs/components/comelit/sensor.pyi +1 -0
  43. homeassistant-stubs/components/comelit/switch.pyi +1 -1
  44. homeassistant-stubs/components/comelit/utils.pyi +5 -1
  45. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  46. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  47. homeassistant-stubs/components/demo/valve.pyi +14 -5
  48. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  49. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  50. homeassistant-stubs/components/derivative/sensor.pyi +2 -1
  51. homeassistant-stubs/components/device_automation/condition.pyi +7 -6
  52. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  53. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  54. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  55. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  56. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  57. homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
  58. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  59. homeassistant-stubs/components/ecovacs/select.pyi +14 -2
  60. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  61. homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
  62. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  63. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  64. homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
  65. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  66. homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
  67. homeassistant-stubs/components/esphome/const.pyi +2 -0
  68. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  69. homeassistant-stubs/components/esphome/manager.pyi +8 -3
  70. homeassistant-stubs/components/esphome/select.pyi +1 -1
  71. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  72. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  73. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  74. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  75. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  76. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  77. homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
  78. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  79. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  80. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  81. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  82. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  83. homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
  84. homeassistant-stubs/components/fritz/models.pyi +2 -2
  85. homeassistant-stubs/components/fritz/services.pyi +3 -0
  86. homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
  87. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  88. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  89. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  90. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  91. homeassistant-stubs/components/github/__init__.pyi +12 -0
  92. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  93. homeassistant-stubs/components/github/const.pyi +10 -0
  94. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  95. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  96. homeassistant-stubs/components/github/sensor.pyi +37 -0
  97. homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
  98. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  99. homeassistant-stubs/components/google_drive/api.pyi +1 -0
  100. homeassistant-stubs/components/google_sheets/services.pyi +9 -2
  101. homeassistant-stubs/components/group/__init__.pyi +0 -1
  102. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  103. homeassistant-stubs/components/group/entity.pyi +3 -0
  104. homeassistant-stubs/components/group/light.pyi +1 -1
  105. homeassistant-stubs/components/group/util.pyi +1 -0
  106. homeassistant-stubs/components/group/valve.pyi +47 -0
  107. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  108. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  109. homeassistant-stubs/components/habitica/const.pyi +1 -0
  110. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  111. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  112. homeassistant-stubs/components/habitica/image.pyi +6 -2
  113. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  114. homeassistant-stubs/components/habitica/sensor.pyi +9 -4
  115. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  116. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  117. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  118. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
  119. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  120. homeassistant-stubs/components/home_connect/const.pyi +1 -0
  121. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  122. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  123. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  124. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  125. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
  126. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  127. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  128. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
  129. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  130. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  131. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
  132. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  133. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  134. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  135. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  136. homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
  137. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  138. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  139. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  140. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  141. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  142. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  143. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  144. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  145. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  146. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  147. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  148. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  149. homeassistant-stubs/components/inels/const.pyi +7 -0
  150. homeassistant-stubs/components/inels/entity.pyi +20 -0
  151. homeassistant-stubs/components/inels/switch.pyi +34 -0
  152. homeassistant-stubs/components/knx/climate.pyi +23 -11
  153. homeassistant-stubs/components/knx/const.pyi +14 -0
  154. homeassistant-stubs/components/knx/schema.pyi +1 -13
  155. homeassistant-stubs/components/knx/sensor.pyi +8 -9
  156. homeassistant-stubs/components/knx/storage/const.pyi +20 -0
  157. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
  158. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  159. homeassistant-stubs/components/lcn/sensor.pyi +1 -1
  160. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
  161. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +2 -3
  162. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  163. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  164. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  165. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  166. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  167. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  168. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  169. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  170. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  171. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  172. homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
  173. homeassistant-stubs/components/lunatone/light.pyi +43 -0
  174. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  175. homeassistant-stubs/components/matrix/const.pyi +5 -0
  176. homeassistant-stubs/components/matrix/services.pyi +3 -1
  177. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  178. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  179. homeassistant-stubs/components/matter/button.pyi +1 -1
  180. homeassistant-stubs/components/matter/climate.pyi +7 -1
  181. homeassistant-stubs/components/matter/cover.pyi +6 -2
  182. homeassistant-stubs/components/matter/entity.pyi +4 -2
  183. homeassistant-stubs/components/matter/event.pyi +5 -1
  184. homeassistant-stubs/components/matter/fan.pyi +5 -1
  185. homeassistant-stubs/components/matter/light.pyi +6 -2
  186. homeassistant-stubs/components/matter/lock.pyi +5 -1
  187. homeassistant-stubs/components/matter/models.pyi +3 -3
  188. homeassistant-stubs/components/matter/number.pyi +1 -1
  189. homeassistant-stubs/components/matter/select.pyi +1 -1
  190. homeassistant-stubs/components/matter/sensor.pyi +4 -1
  191. homeassistant-stubs/components/matter/services.pyi +11 -0
  192. homeassistant-stubs/components/matter/switch.pyi +5 -2
  193. homeassistant-stubs/components/matter/update.pyi +4 -1
  194. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  195. homeassistant-stubs/components/matter/valve.pyi +6 -2
  196. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  197. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  198. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  199. homeassistant-stubs/components/mcp/const.pyi +1 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  201. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  202. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  203. homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
  204. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  205. homeassistant-stubs/components/media_player/const.pyi +10 -69
  206. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  207. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  208. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  209. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  210. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  211. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  212. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  213. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  214. homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
  215. homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
  216. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  217. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  218. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  219. homeassistant-stubs/components/music_assistant/const.pyi +4 -0
  220. homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
  221. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  222. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  223. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  224. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  225. homeassistant-stubs/components/number/const.pyi +2 -1
  226. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  227. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  228. homeassistant-stubs/components/onewire/const.pyi +0 -2
  229. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  230. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  231. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  232. homeassistant-stubs/components/onewire/select.pyi +3 -10
  233. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  234. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  235. homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
  236. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  237. homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
  238. homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
  239. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  240. homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
  241. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  242. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  243. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  245. homeassistant-stubs/components/ping/entity.pyi +1 -0
  246. homeassistant-stubs/components/portainer/button.pyi +29 -0
  247. homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
  248. homeassistant-stubs/components/portainer/const.pyi +1 -0
  249. homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
  250. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  251. homeassistant-stubs/components/portainer/entity.pyi +2 -0
  252. homeassistant-stubs/components/portainer/sensor.pyi +41 -0
  253. homeassistant-stubs/components/portainer/switch.pyi +35 -0
  254. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  255. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  256. homeassistant-stubs/components/recorder/const.pyi +1 -1
  257. homeassistant-stubs/components/recorder/core.pyi +3 -3
  258. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  259. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  260. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  261. homeassistant-stubs/components/recorder/migration.pyi +4 -1
  262. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  263. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  264. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  265. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
  266. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  267. homeassistant-stubs/components/recorder/util.pyi +1 -1
  268. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  269. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  270. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  271. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  272. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  273. homeassistant-stubs/components/reolink/switch.pyi +25 -7
  274. homeassistant-stubs/components/roborock/__init__.pyi +1 -1
  275. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  276. homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
  277. homeassistant-stubs/components/roborock/entity.pyi +1 -1
  278. homeassistant-stubs/components/roborock/models.pyi +1 -1
  279. homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
  280. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  281. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  282. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  283. homeassistant-stubs/components/sensor/const.pyi +2 -1
  284. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  285. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  286. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  287. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  288. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
  289. homeassistant-stubs/components/sfr_box/button.pyi +4 -9
  290. homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
  291. homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
  292. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  293. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  294. homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
  295. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  296. homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
  297. homeassistant-stubs/components/shelly/button.pyi +26 -16
  298. homeassistant-stubs/components/shelly/climate.pyi +61 -7
  299. homeassistant-stubs/components/shelly/const.pyi +15 -3
  300. homeassistant-stubs/components/shelly/cover.pyi +31 -10
  301. homeassistant-stubs/components/shelly/entity.pyi +5 -4
  302. homeassistant-stubs/components/shelly/event.pyi +4 -0
  303. homeassistant-stubs/components/shelly/light.pyi +23 -7
  304. homeassistant-stubs/components/shelly/number.pyi +11 -2
  305. homeassistant-stubs/components/shelly/repairs.pyi +2 -2
  306. homeassistant-stubs/components/shelly/select.pyi +4 -1
  307. homeassistant-stubs/components/shelly/sensor.pyi +8 -7
  308. homeassistant-stubs/components/shelly/switch.pyi +7 -4
  309. homeassistant-stubs/components/shelly/text.pyi +4 -1
  310. homeassistant-stubs/components/shelly/update.pyi +4 -0
  311. homeassistant-stubs/components/shelly/utils.pyi +10 -5
  312. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  313. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  314. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  315. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  316. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  317. homeassistant-stubs/components/sma/const.pyi +11 -0
  318. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  319. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  320. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  321. homeassistant-stubs/components/sql/__init__.pyi +2 -4
  322. homeassistant-stubs/components/sql/sensor.pyi +6 -13
  323. homeassistant-stubs/components/sql/services.pyi +17 -0
  324. homeassistant-stubs/components/sql/util.pyi +16 -3
  325. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  326. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  327. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  328. homeassistant-stubs/components/squeezebox/const.pyi +0 -1
  329. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  330. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  331. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  332. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  333. homeassistant-stubs/components/sun/condition.pyi +10 -5
  334. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  335. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  336. homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
  337. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  338. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
  339. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  340. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  341. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  342. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  343. homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
  344. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  345. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  346. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  347. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  348. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  349. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  350. homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
  351. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
  352. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  353. homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
  354. homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
  355. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  356. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  357. homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
  358. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  359. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  360. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  361. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  362. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  363. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  364. homeassistant-stubs/components/tolo/button.pyi +3 -5
  365. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  366. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  367. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  368. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  369. homeassistant-stubs/components/tolo/light.pyi +3 -5
  370. homeassistant-stubs/components/tolo/number.pyi +3 -5
  371. homeassistant-stubs/components/tolo/select.pyi +4 -5
  372. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  373. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  374. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  375. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  376. homeassistant-stubs/components/tts/__init__.pyi +2 -3
  377. homeassistant-stubs/components/unifi/light.pyi +44 -0
  378. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  379. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  380. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  381. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  382. homeassistant-stubs/components/usb/__init__.pyi +2 -0
  383. homeassistant-stubs/components/usb/utils.pyi +7 -0
  384. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  385. homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
  386. homeassistant-stubs/components/vivotek/camera.pyi +35 -0
  387. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  388. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  389. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  390. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  391. homeassistant-stubs/components/volvo/__init__.pyi +2 -0
  392. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  393. homeassistant-stubs/components/volvo/button.pyi +27 -0
  394. homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
  395. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  396. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  397. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  398. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  399. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  400. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  401. homeassistant-stubs/components/waqi/const.pyi +1 -1
  402. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  403. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  404. homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
  405. homeassistant-stubs/components/wled/select.pyi +6 -3
  406. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  407. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  408. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  409. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  410. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  411. homeassistant-stubs/components/zone/condition.pyi +10 -4
  412. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
  413. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  414. homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
  415. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
  416. homeassistant-stubs/config_entries.pyi +9 -0
  417. homeassistant-stubs/const.pyi +4 -21
  418. homeassistant-stubs/core.pyi +1 -7
  419. homeassistant-stubs/data_entry_flow.pyi +2 -0
  420. homeassistant-stubs/helpers/automation.pyi +6 -0
  421. homeassistant-stubs/helpers/condition.pyi +15 -5
  422. homeassistant-stubs/helpers/debounce.pyi +6 -1
  423. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  424. homeassistant-stubs/helpers/event.pyi +1 -1
  425. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  426. homeassistant-stubs/helpers/llm.pyi +6 -1
  427. homeassistant-stubs/helpers/selector.pyi +5 -4
  428. homeassistant-stubs/helpers/service.pyi +4 -4
  429. homeassistant-stubs/helpers/template/__init__.pyi +0 -5
  430. homeassistant-stubs/helpers/trigger.pyi +18 -5
  431. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  432. homeassistant-stubs/runner.pyi +1 -1
  433. homeassistant-stubs/util/async_iterator.pyi +33 -0
  434. homeassistant-stubs/util/unit_conversion.pyi +15 -0
  435. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/METADATA +2 -2
  436. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/RECORD +438 -402
  437. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  438. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  439. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  440. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  441. homeassistant-stubs/components/neato/__init__.pyi +0 -15
  442. homeassistant-stubs/components/neato/api.pyi +0 -17
  443. homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
  444. homeassistant-stubs/components/neato/button.pyi +0 -18
  445. homeassistant-stubs/components/neato/camera.pyi +0 -34
  446. homeassistant-stubs/components/neato/config_flow.pyi +0 -15
  447. homeassistant-stubs/components/neato/const.pyi +0 -13
  448. homeassistant-stubs/components/neato/entity.pyi +0 -11
  449. homeassistant-stubs/components/neato/hub.pyi +0 -17
  450. homeassistant-stubs/components/neato/sensor.pyi +0 -30
  451. homeassistant-stubs/components/neato/switch.pyi +0 -34
  452. homeassistant-stubs/components/neato/vacuum.pyi +0 -70
  453. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  454. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  455. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  456. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  457. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/WHEEL +0 -0
  458. {homeassistant_stubs-2025.10.3.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  from .core import EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData
2
2
  from .generated.entity_platforms import EntityPlatforms as EntityPlatforms
3
- from .helpers.deprecation import DeprecatedConstant as DeprecatedConstant, DeprecatedConstantEnum as DeprecatedConstantEnum, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
3
+ from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
4
4
  from .helpers.typing import NoEventData as NoEventData
5
5
  from .util.event_type import EventType as EventType
6
6
  from .util.hass_dict import HassKey as HassKey
@@ -271,21 +271,6 @@ STATE_STANDBY: Final[str]
271
271
  STATE_UNAVAILABLE: Final[str]
272
272
  STATE_OK: Final[str]
273
273
  STATE_PROBLEM: Final[str]
274
- _DEPRECATED_STATE_LOCKED: Final[Incomplete]
275
- _DEPRECATED_STATE_UNLOCKED: Final[Incomplete]
276
- _DEPRECATED_STATE_LOCKING: Final[Incomplete]
277
- _DEPRECATED_STATE_UNLOCKING: Final[Incomplete]
278
- _DEPRECATED_STATE_JAMMED: Final[Incomplete]
279
- _DEPRECATED_STATE_ALARM_DISARMED: Final[Incomplete]
280
- _DEPRECATED_STATE_ALARM_ARMED_HOME: Final[Incomplete]
281
- _DEPRECATED_STATE_ALARM_ARMED_AWAY: Final[Incomplete]
282
- _DEPRECATED_STATE_ALARM_ARMED_NIGHT: Final[Incomplete]
283
- _DEPRECATED_STATE_ALARM_ARMED_VACATION: Final[Incomplete]
284
- _DEPRECATED_STATE_ALARM_ARMED_CUSTOM_BYPASS: Final[Incomplete]
285
- _DEPRECATED_STATE_ALARM_PENDING: Final[Incomplete]
286
- _DEPRECATED_STATE_ALARM_ARMING: Final[Incomplete]
287
- _DEPRECATED_STATE_ALARM_DISARMING: Final[Incomplete]
288
- _DEPRECATED_STATE_ALARM_TRIGGERED: Final[Incomplete]
289
274
  ATTR_ATTRIBUTION: Final[str]
290
275
  ATTR_CREDENTIALS: Final[str]
291
276
  ATTR_NOW: Final[str]
@@ -446,6 +431,7 @@ class UnitOfFrequency(StrEnum):
446
431
  GIGAHERTZ = 'GHz'
447
432
 
448
433
  class UnitOfPressure(StrEnum):
434
+ MILLIPASCAL = 'mPa'
449
435
  PA = 'Pa'
450
436
  HPA = 'hPa'
451
437
  KPA = 'kPa'
@@ -479,6 +465,7 @@ class UnitOfVolumeFlowRate(StrEnum):
479
465
  LITERS_PER_HOUR = 'L/h'
480
466
  LITERS_PER_MINUTE = 'L/min'
481
467
  LITERS_PER_SECOND = 'L/s'
468
+ GALLONS_PER_HOUR = 'gal/h'
482
469
  GALLONS_PER_MINUTE = 'gal/min'
483
470
  MILLILITERS_PER_SECOND = 'mL/s'
484
471
 
@@ -505,15 +492,11 @@ class UnitOfMass(StrEnum):
505
492
  POUNDS = 'lb'
506
493
  STONES = 'st'
507
494
 
508
- class UnitOfConductivity(StrEnum, deprecated={'SIEMENS': ('UnitOfConductivity.SIEMENS_PER_CM', '2025.11.0'), 'MICROSIEMENS': ('UnitOfConductivity.MICROSIEMENS_PER_CM', '2025.11.0'), 'MILLISIEMENS': ('UnitOfConductivity.MILLISIEMENS_PER_CM', '2025.11.0')}, metaclass=EnumWithDeprecatedMembers):
495
+ class UnitOfConductivity(StrEnum):
509
496
  SIEMENS_PER_CM = 'S/cm'
510
497
  MICROSIEMENS_PER_CM = 'μS/cm'
511
498
  MILLISIEMENS_PER_CM = 'mS/cm'
512
- SIEMENS = 'S/cm'
513
- MICROSIEMENS = 'μS/cm'
514
- MILLISIEMENS = 'mS/cm'
515
499
 
516
- _DEPRECATED_CONDUCTIVITY: Final[Incomplete]
517
500
  LIGHT_LUX: Final[str]
518
501
  UV_INDEX: Final[str]
519
502
  PERCENTAGE: Final[str]
@@ -11,7 +11,7 @@ from .components.http import HomeAssistantHTTP as HomeAssistantHTTP
11
11
  from .config_entries import ConfigEntries as ConfigEntries
12
12
  from .const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_SERVICE as ATTR_SERVICE, ATTR_SERVICE_DATA as ATTR_SERVICE_DATA, COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_CONTEXT as COMPRESSED_STATE_CONTEXT, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_HOMEASSISTANT_FINAL_WRITE as EVENT_HOMEASSISTANT_FINAL_WRITE, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED, EVENT_SERVICE_REGISTERED as EVENT_SERVICE_REGISTERED, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, MAX_EXPECTED_ENTITY_IDS as MAX_EXPECTED_ENTITY_IDS, MAX_LENGTH_EVENT_EVENT_TYPE as MAX_LENGTH_EVENT_EVENT_TYPE, MAX_LENGTH_STATE_STATE as MAX_LENGTH_STATE_STATE, STATE_UNKNOWN as STATE_UNKNOWN, __version__ as __version__
13
13
  from .exceptions import HomeAssistantError as HomeAssistantError, InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, MaxLengthExceeded as MaxLengthExceeded, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
14
- from .helpers.deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, EnumWithDeprecatedMembers as EnumWithDeprecatedMembers, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
14
+ from .helpers.deprecation import DeferredDeprecatedAlias as DeferredDeprecatedAlias, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
15
15
  from .helpers.entity import StateInfo as StateInfo
16
16
  from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
17
17
  from .helpers.typing import VolSchemaType as VolSchemaType
@@ -42,12 +42,6 @@ BLOCK_LOG_TIMEOUT: int
42
42
  type ServiceResponse = JsonObjectType | None
43
43
  type EntityServiceResponse = dict[str, ServiceResponse]
44
44
 
45
- class ConfigSource(enum.StrEnum, deprecated={'DEFAULT': ('core_config.ConfigSource.DEFAULT', '2025.11.0'), 'DISCOVERED': ('core_config.ConfigSource.DISCOVERED', '2025.11.0'), 'STORAGE': ('core_config.ConfigSource.STORAGE', '2025.11.0'), 'YAML': ('core_config.ConfigSource.YAML', '2025.11.0')}, metaclass=EnumWithDeprecatedMembers):
46
- DEFAULT = 'default'
47
- DISCOVERED = 'discovered'
48
- STORAGE = 'storage'
49
- YAML = 'yaml'
50
-
51
45
  class EventStateEventData(TypedDict):
52
46
  entity_id: str
53
47
 
@@ -162,6 +162,8 @@ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
162
162
  @callback
163
163
  def async_update_progress(self, progress: float) -> None: ...
164
164
  @callback
165
+ def async_notify_flow_changed(self) -> None: ...
166
+ @callback
165
167
  def async_show_progress_done(self, *, next_step_id: str) -> _FlowResultT: ...
166
168
  @callback
167
169
  def async_show_menu(self, *, step_id: str | None = None, menu_options: Container[str], sort: bool = False, description_placeholders: Mapping[str, str] | None = None) -> _FlowResultT: ...
@@ -1,2 +1,8 @@
1
+ import voluptuous as vol
2
+ from .typing import ConfigType as ConfigType
3
+ from homeassistant.const import CONF_OPTIONS as CONF_OPTIONS
4
+ from typing import Any
5
+
1
6
  def get_absolute_description_key(domain: str, key: str) -> str: ...
2
7
  def get_relative_description_key(domain: str, key: str) -> str: ...
8
+ def move_top_level_schema_fields_to_options(config: ConfigType, options_schema_dict: dict[vol.Marker, Any]) -> ConfigType: ...
@@ -10,8 +10,9 @@ from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsTy
10
10
  from _typeshed import Incomplete
11
11
  from collections.abc import Callable, Container, Coroutine, Generator, Iterable
12
12
  from contextlib import contextmanager
13
+ from dataclasses import dataclass
13
14
  from datetime import time as dt_time, timedelta
14
- from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_SELECTOR as CONF_SELECTOR, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, WEEKDAYS as WEEKDAYS
15
+ from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_OPTIONS as CONF_OPTIONS, CONF_SELECTOR as CONF_SELECTOR, CONF_STATE as CONF_STATE, CONF_TARGET as CONF_TARGET, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, WEEKDAYS as WEEKDAYS
15
16
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
16
17
  from homeassistant.exceptions import ConditionError as ConditionError, ConditionErrorContainer as ConditionErrorContainer, ConditionErrorIndex as ConditionErrorIndex, ConditionErrorMessage as ConditionErrorMessage, HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
17
18
  from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integrations as async_get_integrations
@@ -29,28 +30,37 @@ INPUT_ENTITY_ID: Incomplete
29
30
  CONDITION_DESCRIPTION_CACHE: HassKey[dict[str, dict[str, Any] | None]]
30
31
  CONDITION_PLATFORM_SUBSCRIPTIONS: HassKey[list[Callable[[set[str]], Coroutine[Any, Any, None]]]]
31
32
  CONDITIONS: HassKey[dict[str, str]]
32
- _FIELD_SCHEMA: Incomplete
33
- _CONDITION_SCHEMA: Incomplete
33
+ _FIELD_DESCRIPTION_SCHEMA: Incomplete
34
+ _CONDITION_DESCRIPTION_SCHEMA: Incomplete
34
35
 
35
36
  def starts_with_dot(key: str) -> str: ...
36
37
 
37
- _CONDITIONS_SCHEMA: Incomplete
38
+ _CONDITIONS_DESCRIPTION_SCHEMA: Incomplete
38
39
 
39
40
  async def async_setup(hass: HomeAssistant) -> None: ...
40
41
  @callback
41
42
  def async_subscribe_platform_events(hass: HomeAssistant, on_event: Callable[[set[str]], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
42
43
  async def _register_condition_platform(hass: HomeAssistant, integration_domain: str, platform: ConditionProtocol) -> None: ...
43
44
 
45
+ _CONDITION_SCHEMA: Incomplete
46
+
44
47
  class Condition(abc.ABC, metaclass=abc.ABCMeta):
45
- def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
48
+ @classmethod
49
+ async def async_validate_complete_config(cls, hass: HomeAssistant, complete_config: ConfigType) -> ConfigType: ...
46
50
  @classmethod
47
51
  @abc.abstractmethod
48
52
  async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
53
+ def __init__(self, hass: HomeAssistant, config: ConditionConfig) -> None: ...
49
54
  @abc.abstractmethod
50
55
  async def async_get_checker(self) -> ConditionCheckerType: ...
51
56
 
52
57
  class ConditionProtocol(Protocol):
53
58
  async def async_get_conditions(self, hass: HomeAssistant) -> dict[str, type[Condition]]: ...
59
+
60
+ @dataclass(slots=True)
61
+ class ConditionConfig:
62
+ options: dict[str, Any] | None = ...
63
+ target: dict[str, Any] | None = ...
54
64
  type ConditionCheckerType = Callable[[HomeAssistant, TemplateVarsType], bool | None]
55
65
 
56
66
  def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
@@ -1,8 +1,10 @@
1
1
  import asyncio
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable
3
+ from collections.abc import AsyncGenerator, Callable as Callable
4
+ from contextlib import asynccontextmanager
4
5
  from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
5
6
  from logging import Logger
7
+ from typing import Any
6
8
 
7
9
  class Debouncer[_R_co]:
8
10
  hass: Incomplete
@@ -13,10 +15,13 @@ class Debouncer[_R_co]:
13
15
  _timer_task: asyncio.TimerHandle | None
14
16
  _execute_at_end_of_timer: bool
15
17
  _execute_lock: Incomplete
18
+ _execute_lock_owner: asyncio.Task[Any] | None
16
19
  _background: Incomplete
17
20
  _job: HassJob[[], _R_co] | None
18
21
  _shutdown_requested: bool
19
22
  def __init__(self, hass: HomeAssistant, logger: Logger, *, cooldown: float, immediate: bool, function: Callable[[], _R_co] | None = None, background: bool = False) -> None: ...
23
+ @asynccontextmanager
24
+ async def async_lock(self) -> AsyncGenerator[None]: ...
20
25
  @property
21
26
  def function(self) -> Callable[[], _R_co] | None: ...
22
27
  @function.setter
@@ -109,7 +109,7 @@ class EntityPlatform:
109
109
  async def async_remove_entity(self, entity_id: str) -> None: ...
110
110
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
111
111
  @callback
112
- def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
112
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ..., *, entity_device_classes: Iterable[str | None] | None = None) -> None: ...
113
113
  async def _async_update_entity_states(self) -> None: ...
114
114
  @property
115
115
  def domain(self) -> str: ...
@@ -15,7 +15,7 @@ from dataclasses import dataclass
15
15
  from datetime import datetime, timedelta
16
16
  from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
17
17
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateEventData as EventStateEventData, EventStateReportedData as EventStateReportedData, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
18
- from homeassistant.exceptions import TemplateError as TemplateError
18
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
19
19
  from homeassistant.loader import bind_hass as bind_hass
20
20
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
21
21
  from homeassistant.util.event_type import EventType as EventType
@@ -8,3 +8,4 @@ LEGACY_UUID_FILE: str
8
8
  _LOGGER: Incomplete
9
9
 
10
10
  async def async_get(hass: HomeAssistant) -> str: ...
11
+ async def async_recreate(hass: HomeAssistant) -> str: ...
@@ -22,7 +22,7 @@ from typing import Any
22
22
 
23
23
  ACTION_PARAMETERS_CACHE: HassKey[dict[str, dict[str, tuple[str | None, vol.Schema]]]]
24
24
  LLM_API_ASSIST: str
25
- BASE_PROMPT: str
25
+ DATE_TIME_PROMPT: str
26
26
  DEFAULT_INSTRUCTIONS_PROMPT: str
27
27
  NO_ENTITIES_PROMPT: str
28
28
  DYNAMIC_CONTEXT_PROMPT: str
@@ -151,3 +151,8 @@ class GetLiveContextTool(Tool):
151
151
  name: str
152
152
  description: str
153
153
  async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
154
+
155
+ class GetDateTimeTool(Tool):
156
+ name: str
157
+ description: str
158
+ async def async_call(self, hass: HomeAssistant, tool_input: ToolInput, llm_context: LLMContext) -> JsonObjectType: ...
@@ -327,22 +327,23 @@ class NumberSelector(Selector[NumberSelectorConfig]):
327
327
  def __init__(self, config: NumberSelectorConfig | None = None) -> None: ...
328
328
  def __call__(self, data: Any) -> float: ...
329
329
 
330
- class ObjectSelectorField(TypedDict):
330
+ class ObjectSelectorField(TypedDict, total=False):
331
331
  label: str
332
332
  required: bool
333
- selector: dict[str, Any]
333
+ selector: Required[Selector | dict[str, Any]]
334
334
 
335
- class ObjectSelectorConfig(BaseSelectorConfig):
335
+ class ObjectSelectorConfig(BaseSelectorConfig, total=False):
336
336
  fields: dict[str, ObjectSelectorField]
337
337
  multiple: bool
338
338
  label_field: str
339
- description_field: bool
339
+ description_field: str
340
340
  translation_key: str
341
341
 
342
342
  class ObjectSelector(Selector[ObjectSelectorConfig]):
343
343
  selector_type: str
344
344
  CONFIG_SCHEMA: Incomplete
345
345
  def __init__(self, config: ObjectSelectorConfig | None = None) -> None: ...
346
+ def serialize(self) -> dict[str, dict[str, ObjectSelectorConfig]]: ...
346
347
  def __call__(self, data: Any) -> Any: ...
347
348
 
348
349
  class QrErrorCorrectionLevel(StrEnum):
@@ -1,5 +1,5 @@
1
1
  import logging
2
- from . import device_registry as device_registry, entity_registry as entity_registry, selector as selector, target as target_helpers, template as template, translation as translation
2
+ from . import device_registry as device_registry, entity_registry as entity_registry, selector as selector, target as target_helpers, template as template
3
3
  from .deprecation import deprecated_class as deprecated_class, deprecated_function as deprecated_function, deprecated_hass_argument as deprecated_hass_argument
4
4
  from .entity import Entity as Entity
5
5
  from .selector import TargetSelector as TargetSelector
@@ -77,7 +77,7 @@ def remove_entity_service_fields(call: ServiceCall) -> dict[Any, Any]: ...
77
77
  def async_set_service_schema(hass: HomeAssistant, domain: str, service: str, schema: dict[str, Any]) -> None: ...
78
78
  def _get_permissible_entity_candidates(call: ServiceCall, entities: dict[str, Entity], entity_perms: Callable[[str, str], bool] | None, target_all_entities: bool, all_referenced: set[str] | None) -> list[Entity]: ...
79
79
  @bind_hass
80
- async def entity_service_call(hass: HomeAssistant, registered_entities: dict[str, Entity] | Callable[[], dict[str, Entity]], func: str | HassJob, call: ServiceCall, required_features: Iterable[int] | None = None) -> EntityServiceResponse | None: ...
80
+ async def entity_service_call(hass: HomeAssistant, registered_entities: dict[str, Entity] | Callable[[], dict[str, Entity]], func: str | HassJob, call: ServiceCall, required_features: Iterable[int] | None = None, *, entity_device_classes: Iterable[str | None] | None = None) -> EntityServiceResponse | None: ...
81
81
  async def _handle_entity_call(hass: HomeAssistant, entity: Entity, func: str | HassJob, data: dict | ServiceCall, context: Context) -> ServiceResponse: ...
82
82
  async def _async_admin_handler(hass: HomeAssistant, service_job: HassJob[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], call: ServiceCall) -> ServiceResponse | EntityServiceResponse | None: ...
83
83
  @bind_hass
@@ -97,6 +97,6 @@ class ReloadServiceHelper[_T]:
97
97
 
98
98
  def _validate_entity_service_schema(schema: VolDictType | VolSchemaType | None, service: str) -> VolSchemaType: ...
99
99
  @callback
100
- def async_register_entity_service(hass: HomeAssistant, domain: str, name: str, *, entities: dict[str, Entity], func: str | Callable[..., Any], job_type: HassJobType | None, required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
100
+ def async_register_entity_service(hass: HomeAssistant, domain: str, name: str, *, entity_device_classes: Iterable[str | None] | None = None, entities: dict[str, Entity], func: str | Callable[..., Any], job_type: HassJobType | None, required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
101
101
  @callback
102
- def async_register_platform_entity_service(hass: HomeAssistant, service_domain: str, service_name: str, *, entity_domain: str, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
102
+ def async_register_platform_entity_service(hass: HomeAssistant, service_domain: str, service_name: str, *, entity_device_classes: Iterable[str | None] | None = None, entity_domain: str, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
@@ -11,11 +11,9 @@ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE
11
11
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State, callback as callback, valid_domain as valid_domain, valid_entity_id as valid_entity_id
12
12
  from homeassistant.exceptions import TemplateError as TemplateError
13
13
  from homeassistant.helpers import area_registry as ar
14
- from homeassistant.helpers.deprecation import deprecated_function as deprecated_function
15
14
  from homeassistant.helpers.singleton import singleton as singleton
16
15
  from homeassistant.helpers.translation import async_translate_state as async_translate_state
17
16
  from homeassistant.helpers.typing import TemplateVarsType as TemplateVarsType
18
- from homeassistant.loader import bind_hass as bind_hass
19
17
  from homeassistant.util import convert as convert
20
18
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
21
19
  from homeassistant.util.hass_dict import HassKey as HassKey
@@ -51,9 +49,6 @@ ORJSON_PASSTHROUGH_OPTIONS: Incomplete
51
49
  def _template_state_no_collect(hass: HomeAssistant, state: State) -> TemplateState: ...
52
50
  def _template_state(hass: HomeAssistant, state: State) -> TemplateState: ...
53
51
  def async_setup(hass: HomeAssistant) -> bool: ...
54
- @bind_hass
55
- def attach(hass: HomeAssistant, obj: Any) -> None: ...
56
- def _attach(hass: HomeAssistant, obj: Any) -> None: ...
57
52
  def render_complex(value: Any, variables: TemplateVarsType = None, limited: bool = False, parse_result: bool = True) -> Any: ...
58
53
  def is_complex(value: Any) -> bool: ...
59
54
  def is_template_string(maybe_template: str) -> bool: ...
@@ -1,4 +1,5 @@
1
1
  import abc
2
+ import asyncio
2
3
  import voluptuous as vol
3
4
  from . import selector as selector
4
5
  from .automation import get_absolute_description_key as get_absolute_description_key, get_relative_description_key as get_relative_description_key
@@ -11,7 +12,7 @@ from collections import defaultdict
11
12
  from collections.abc import Callable, Coroutine, Iterable
12
13
  from dataclasses import dataclass, field
13
14
  from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_ENABLED as CONF_ENABLED, CONF_ID as CONF_ID, CONF_OPTIONS as CONF_OPTIONS, CONF_PLATFORM as CONF_PLATFORM, CONF_SELECTOR as CONF_SELECTOR, CONF_TARGET as CONF_TARGET, CONF_VARIABLES as CONF_VARIABLES
14
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback, is_callback as is_callback
15
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, is_callback as is_callback
15
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
16
17
  from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integrations as async_get_integrations
17
18
  from homeassistant.util.async_ import create_eager_task as create_eager_task
@@ -40,14 +41,16 @@ async def _register_trigger_platform(hass: HomeAssistant, integration_domain: st
40
41
  _TRIGGER_SCHEMA: Incomplete
41
42
 
42
43
  class Trigger(abc.ABC, metaclass=abc.ABCMeta):
44
+ _hass: HomeAssistant
43
45
  @classmethod
44
46
  async def async_validate_complete_config(cls, hass: HomeAssistant, complete_config: ConfigType) -> ConfigType: ...
45
47
  @classmethod
46
48
  @abc.abstractmethod
47
49
  async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
48
50
  def __init__(self, hass: HomeAssistant, config: TriggerConfig) -> None: ...
51
+ async def async_attach_action(self, action: TriggerAction, action_payload_builder: TriggerActionPayloadBuilder) -> CALLBACK_TYPE: ...
49
52
  @abc.abstractmethod
50
- async def async_attach(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
53
+ async def async_attach_runner(self, run_action: TriggerActionRunner) -> CALLBACK_TYPE: ...
51
54
 
52
55
  class TriggerProtocol(Protocol):
53
56
  async def async_get_triggers(self, hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
@@ -61,9 +64,19 @@ class TriggerConfig:
61
64
  target: dict[str, Any] | None = ...
62
65
  options: dict[str, Any] | None = ...
63
66
 
64
- class TriggerActionType(Protocol):
67
+ class TriggerActionRunner(Protocol):
68
+ @callback
69
+ def __call__(self, extra_trigger_payload: dict[str, Any], description: str, context: Context | None = None) -> asyncio.Task[Any]: ...
70
+
71
+ class TriggerActionPayloadBuilder(Protocol):
72
+ def __call__(self, extra_trigger_payload: dict[str, Any], description: str) -> dict[str, Any]: ...
73
+
74
+ class TriggerAction(Protocol):
65
75
  async def __call__(self, run_variables: dict[str, Any], context: Context | None = None) -> Any: ...
66
76
 
77
+ class TriggerActionType(Protocol):
78
+ def __call__(self, run_variables: dict[str, Any], context: Context | None = None) -> Coroutine[Any, Any, Any] | Any: ...
79
+
67
80
  class TriggerData(TypedDict):
68
81
  id: str
69
82
  idx: str
@@ -79,7 +92,7 @@ class TriggerInfo(TypedDict):
79
92
  @dataclass(slots=True)
80
93
  class PluggableActionsEntry:
81
94
  plugs: set[PluggableAction] = field(default_factory=set)
82
- actions: dict[object, tuple[HassJob[[dict[str, Any], Context | None], Coroutine[Any, Any, None]], dict[str, Any]]] = field(default_factory=dict)
95
+ actions: dict[object, tuple[HassJob[[dict[str, Any], Context | None], Coroutine[Any, Any, None] | Any], dict[str, Any]]] = field(default_factory=dict)
83
96
 
84
97
  class PluggableAction:
85
98
  _entry: PluggableActionsEntry | None
@@ -98,10 +111,10 @@ class PluggableAction:
98
111
  def async_register(self, hass: HomeAssistant, trigger: dict[str, str]) -> CALLBACK_TYPE: ...
99
112
  async def async_run(self, hass: HomeAssistant, context: Context | None = None) -> None: ...
100
113
 
101
- def move_top_level_schema_fields_to_options(config: ConfigType, options_schema_dict: dict[vol.Marker, Any]) -> ConfigType: ...
102
114
  async def _async_get_trigger_platform(hass: HomeAssistant, trigger_key: str) -> tuple[str, TriggerProtocol]: ...
103
115
  async def async_validate_trigger_config(hass: HomeAssistant, trigger_config: list[ConfigType]) -> list[ConfigType]: ...
104
116
  def _trigger_action_wrapper(hass: HomeAssistant, action: Callable, conf: ConfigType) -> Callable: ...
117
+ async def _async_attach_trigger_cls(hass: HomeAssistant, trigger_cls: type[Trigger], trigger_key: str, conf: ConfigType, action: Callable, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
105
118
  async def async_initialize_triggers(hass: HomeAssistant, trigger_config: list[ConfigType], action: Callable, domain: str, name: str, log_cb: Callable, home_assistant_start: bool = False, variables: TemplateVarsType = None) -> CALLBACK_TYPE | None: ...
106
119
  def _load_triggers_file(integration: Integration) -> dict[str, Any]: ...
107
120
  def _load_triggers_files(integrations: Iterable[Integration]) -> dict[str, dict[str, Any]]: ...
@@ -74,6 +74,7 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
74
74
  async def async_request_refresh(self) -> None: ...
75
75
  async def _async_update_data(self) -> _DataT: ...
76
76
  async def async_config_entry_first_refresh(self) -> None: ...
77
+ async def _async_config_entry_first_refresh(self) -> None: ...
77
78
  async def __wrap_async_setup(self) -> bool: ...
78
79
  async def _async_setup(self) -> None: ...
79
80
  async def async_refresh(self) -> None: ...
@@ -51,7 +51,7 @@ class HassEventLoopPolicy(asyncio.DefaultEventLoopPolicy):
51
51
  def new_event_loop(self) -> asyncio.AbstractEventLoop: ...
52
52
 
53
53
  @callback
54
- def _async_loop_exception_handler(_: Any, context: dict[str, Any]) -> None: ...
54
+ def _async_loop_exception_handler(loop: asyncio.AbstractEventLoop, context: dict[str, Any]) -> None: ...
55
55
  async def setup_and_run_hass(runtime_config: RuntimeConfig) -> int: ...
56
56
  def _enable_posix_spawn() -> None: ...
57
57
  def run(runtime_config: RuntimeConfig) -> int: ...
@@ -0,0 +1,33 @@
1
+ import asyncio
2
+ from _typeshed import Incomplete
3
+ from collections.abc import AsyncIterator
4
+ from concurrent.futures import Future
5
+ from typing import Self
6
+
7
+ class Abort(Exception): ...
8
+
9
+ class AsyncIteratorReader:
10
+ _aborted: bool
11
+ _loop: Incomplete
12
+ _stream: Incomplete
13
+ _buffer: bytes | None
14
+ _next_future: Future[bytes | None] | None
15
+ _pos: int
16
+ def __init__(self, loop: asyncio.AbstractEventLoop, stream: AsyncIterator[bytes]) -> None: ...
17
+ async def _next(self) -> bytes | None: ...
18
+ def abort(self) -> None: ...
19
+ def read(self, n: int = -1, /) -> bytes: ...
20
+ def close(self) -> None: ...
21
+
22
+ class AsyncIteratorWriter:
23
+ _aborted: bool
24
+ _loop: Incomplete
25
+ _pos: int
26
+ _queue: asyncio.Queue[bytes | None]
27
+ _write_future: Future[bytes | None] | None
28
+ def __init__(self, loop: asyncio.AbstractEventLoop) -> None: ...
29
+ def __aiter__(self) -> Self: ...
30
+ async def __anext__(self) -> bytes: ...
31
+ def abort(self) -> None: ...
32
+ def tell(self) -> int: ...
33
+ def write(self, s: bytes, /) -> int: ...
@@ -38,6 +38,11 @@ _ML_TO_CUBIC_METER: Incomplete
38
38
  _GALLON_TO_CUBIC_METER: Incomplete
39
39
  _FLUID_OUNCE_TO_CUBIC_METER: Incomplete
40
40
  _CUBIC_FOOT_TO_CUBIC_METER: Incomplete
41
+ _IDEAL_GAS_CONSTANT: float
42
+ _AMBIENT_TEMPERATURE: float
43
+ _AMBIENT_PRESSURE: int
44
+ _AMBIENT_IDEAL_GAS_MOLAR_VOLUME: Incomplete
45
+ _CARBON_MONOXIDE_MOLAR_MASS: float
41
46
 
42
47
  class BaseUnitConverter:
43
48
  UNIT_CLASS: str
@@ -64,6 +69,11 @@ class BaseUnitConverter:
64
69
  @lru_cache
65
70
  def _are_unit_inverses(cls, from_unit: str | None, to_unit: str | None) -> bool: ...
66
71
 
72
+ class CarbonMonoxideConcentrationConverter(BaseUnitConverter):
73
+ UNIT_CLASS: str
74
+ _UNIT_CONVERSION: dict[str | None, float]
75
+ VALID_UNITS: Incomplete
76
+
67
77
  class DataRateConverter(BaseUnitConverter):
68
78
  UNIT_CLASS: str
69
79
  _UNIT_CONVERSION: dict[str | None, float]
@@ -189,6 +199,11 @@ class TemperatureConverter(BaseUnitConverter):
189
199
  @classmethod
190
200
  def _celsius_to_kelvin(cls, celsius: float) -> float: ...
191
201
 
202
+ class TemperatureDeltaConverter(BaseUnitConverter):
203
+ UNIT_CLASS: str
204
+ VALID_UNITS: Incomplete
205
+ _UNIT_CONVERSION: Incomplete
206
+
192
207
  class UnitlessRatioConverter(BaseUnitConverter):
193
208
  UNIT_CLASS: str
194
209
  _UNIT_CONVERSION: dict[str | None, float]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant-stubs
3
- Version: 2025.10.3
3
+ Version: 2025.11.0b0
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
5
  Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
6
  Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
@@ -18,7 +18,7 @@ Classifier: Topic :: Home Automation
18
18
  Classifier: Topic :: Software Development
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: >=3.13.2
21
- Requires-Dist: homeassistant==2025.10.3
21
+ Requires-Dist: homeassistant==2025.11.0b0
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)