homeassistant-stubs 2025.6.2__py3-none-any.whl → 2025.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (347) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +3 -12
  3. homeassistant-stubs/components/abode/services.pyi +20 -0
  4. homeassistant-stubs/components/adax/sensor.pyi +29 -0
  5. homeassistant-stubs/components/airly/config_flow.pyi +1 -1
  6. homeassistant-stubs/components/airq/coordinator.pyi +1 -1
  7. homeassistant-stubs/components/airthings/__init__.pyi +3 -5
  8. homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
  9. homeassistant-stubs/components/airthings/sensor.pyi +5 -4
  10. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
  11. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -0
  12. homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
  13. homeassistant-stubs/components/alexa_devices/switch.pyi +2 -0
  14. homeassistant-stubs/components/alexa_devices/utils.pyi +7 -0
  15. homeassistant-stubs/components/altruist/__init__.pyi +9 -0
  16. homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
  17. homeassistant-stubs/components/altruist/const.pyi +2 -0
  18. homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/altruist/sensor.pyi +34 -0
  20. homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
  21. homeassistant-stubs/components/amcrest/services.pyi +13 -0
  22. homeassistant-stubs/components/analytics/analytics.pyi +3 -1
  23. homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
  24. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  25. homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
  26. homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
  27. homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
  28. homeassistant-stubs/components/camera/__init__.pyi +0 -2
  29. homeassistant-stubs/components/camera/webrtc.pyi +1 -0
  30. homeassistant-stubs/components/climate/__init__.pyi +0 -2
  31. homeassistant-stubs/components/command_line/notify.pyi +1 -2
  32. homeassistant-stubs/components/command_line/sensor.pyi +1 -2
  33. homeassistant-stubs/components/command_line/utils.pyi +5 -2
  34. homeassistant-stubs/components/deconz/logbook.pyi +1 -1
  35. homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
  36. homeassistant-stubs/components/derivative/const.pyi +1 -0
  37. homeassistant-stubs/components/derivative/sensor.pyi +9 -4
  38. homeassistant-stubs/components/device_automation/condition.pyi +17 -4
  39. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
  40. homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
  41. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
  42. homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
  43. homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
  44. homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
  45. homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
  46. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  47. homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
  48. homeassistant-stubs/components/downloader/__init__.pyi +1 -1
  49. homeassistant-stubs/components/downloader/services.pyi +3 -2
  50. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
  51. homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
  52. homeassistant-stubs/components/ecovacs/number.pyi +4 -4
  53. homeassistant-stubs/components/ecovacs/select.pyi +5 -4
  54. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
  55. homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
  56. homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
  57. homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
  58. homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
  59. homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
  60. homeassistant-stubs/components/elkm1/services.pyi +21 -0
  61. homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
  62. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
  63. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
  64. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
  65. homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
  66. homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
  67. homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
  68. homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
  69. homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
  70. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  71. homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
  72. homeassistant-stubs/components/esphome/sensor.pyi +2 -1
  73. homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
  74. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
  75. homeassistant-stubs/components/fritz/button.pyi +3 -1
  76. homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
  77. homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
  78. homeassistant-stubs/components/fritz/entity.pyi +2 -1
  79. homeassistant-stubs/components/fritz/helpers.pyi +9 -0
  80. homeassistant-stubs/components/fritz/models.pyi +78 -0
  81. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  82. homeassistant-stubs/components/fritz/services.pyi +3 -2
  83. homeassistant-stubs/components/fritz/switch.pyi +3 -1
  84. homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
  85. homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
  86. homeassistant-stubs/components/google/__init__.pyi +3 -9
  87. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
  88. homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
  89. homeassistant-stubs/components/google_photos/services.pyi +4 -2
  90. homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
  91. homeassistant-stubs/components/google_sheets/services.pyi +18 -0
  92. homeassistant-stubs/components/group/sensor.pyi +1 -1
  93. homeassistant-stubs/components/habitica/services.pyi +8 -1
  94. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  95. homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
  96. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
  97. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +13 -7
  98. homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
  99. homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
  100. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
  101. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
  102. homeassistant-stubs/components/homee/config_flow.pyi +1 -0
  103. homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
  104. homeassistant-stubs/components/homee/entity.pyi +3 -2
  105. homeassistant-stubs/components/homee/event.pyi +8 -4
  106. homeassistant-stubs/components/homee/siren.pyi +19 -0
  107. homeassistant-stubs/components/homewizard/select.pyi +35 -0
  108. homeassistant-stubs/components/husqvarna_automower/const.pyi +3 -0
  109. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +3 -1
  110. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -1
  111. homeassistant-stubs/components/image/__init__.pyi +2 -0
  112. homeassistant-stubs/components/immich/coordinator.pyi +2 -1
  113. homeassistant-stubs/components/immich/update.pyi +21 -0
  114. homeassistant-stubs/components/isy994/__init__.pyi +3 -1
  115. homeassistant-stubs/components/isy994/services.pyi +0 -2
  116. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
  117. homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
  118. homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
  119. homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
  120. homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
  121. homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
  122. homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
  123. homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
  124. homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
  125. homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
  126. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -0
  127. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -0
  128. homeassistant-stubs/components/lametric/__init__.pyi +3 -4
  129. homeassistant-stubs/components/lametric/button.pyi +2 -4
  130. homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
  131. homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
  132. homeassistant-stubs/components/lametric/entity.pyi +1 -1
  133. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  134. homeassistant-stubs/components/lametric/notify.pyi +2 -2
  135. homeassistant-stubs/components/lametric/number.pyi +2 -4
  136. homeassistant-stubs/components/lametric/select.pyi +2 -4
  137. homeassistant-stubs/components/lametric/sensor.pyi +2 -4
  138. homeassistant-stubs/components/lametric/switch.pyi +2 -4
  139. homeassistant-stubs/components/lametric/update.pyi +17 -0
  140. homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
  141. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
  142. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
  143. homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
  144. homeassistant-stubs/components/lcn/__init__.pyi +9 -10
  145. homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
  146. homeassistant-stubs/components/lcn/climate.pyi +5 -6
  147. homeassistant-stubs/components/lcn/const.pyi +0 -4
  148. homeassistant-stubs/components/lcn/cover.pyi +6 -7
  149. homeassistant-stubs/components/lcn/entity.pyi +2 -3
  150. homeassistant-stubs/components/lcn/helpers.pyi +15 -5
  151. homeassistant-stubs/components/lcn/light.pyi +6 -7
  152. homeassistant-stubs/components/lcn/scene.pyi +5 -5
  153. homeassistant-stubs/components/lcn/sensor.pyi +7 -7
  154. homeassistant-stubs/components/lcn/services.pyi +5 -4
  155. homeassistant-stubs/components/lcn/switch.pyi +8 -9
  156. homeassistant-stubs/components/lcn/websocket.pyi +12 -13
  157. homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
  158. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
  159. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
  160. homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
  161. homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
  162. homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
  163. homeassistant-stubs/components/led_ble/light.pyi +3 -4
  164. homeassistant-stubs/components/led_ble/models.pyi +2 -0
  165. homeassistant-stubs/components/lifx/__init__.pyi +4 -5
  166. homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
  167. homeassistant-stubs/components/lifx/button.pyi +3 -4
  168. homeassistant-stubs/components/lifx/const.pyi +3 -1
  169. homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
  170. homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
  171. homeassistant-stubs/components/lifx/light.pyi +3 -4
  172. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  173. homeassistant-stubs/components/lifx/migration.pyi +3 -3
  174. homeassistant-stubs/components/lifx/select.pyi +3 -4
  175. homeassistant-stubs/components/lifx/sensor.pyi +3 -4
  176. homeassistant-stubs/components/lifx/util.pyi +3 -3
  177. homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
  178. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
  179. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
  180. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
  181. homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
  182. homeassistant-stubs/components/lookin/__init__.pyi +4 -5
  183. homeassistant-stubs/components/lookin/climate.pyi +3 -4
  184. homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
  185. homeassistant-stubs/components/lookin/light.pyi +3 -4
  186. homeassistant-stubs/components/lookin/media_player.pyi +3 -4
  187. homeassistant-stubs/components/lookin/models.pyi +2 -0
  188. homeassistant-stubs/components/lookin/sensor.pyi +2 -4
  189. homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
  190. homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
  191. homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
  192. homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
  193. homeassistant-stubs/components/matrix/__init__.pyi +2 -7
  194. homeassistant-stubs/components/matrix/const.pyi +3 -0
  195. homeassistant-stubs/components/matrix/services.pyi +12 -0
  196. homeassistant-stubs/components/matter/sensor.pyi +7 -2
  197. homeassistant-stubs/components/matter/vacuum.pyi +5 -5
  198. homeassistant-stubs/components/mealie/__init__.pyi +1 -1
  199. homeassistant-stubs/components/mealie/services.pyi +9 -3
  200. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  201. homeassistant-stubs/components/media_player/intent.pyi +1 -1
  202. homeassistant-stubs/components/media_source/local_source.pyi +2 -0
  203. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  204. homeassistant-stubs/components/miele/const.pyi +24 -0
  205. homeassistant-stubs/components/miele/sensor.pyi +1 -2
  206. homeassistant-stubs/components/mqtt/config_flow.pyi +6 -1
  207. homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
  208. homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
  209. homeassistant-stubs/components/music_assistant/button.pyi +15 -0
  210. homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
  211. homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
  212. homeassistant-stubs/components/nam/config_flow.pyi +3 -9
  213. homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
  214. homeassistant-stubs/components/nextdns/button.pyi +2 -9
  215. homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
  216. homeassistant-stubs/components/nextdns/entity.pyi +14 -0
  217. homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
  218. homeassistant-stubs/components/nextdns/switch.pyi +3 -6
  219. homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
  220. homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
  221. homeassistant-stubs/components/nordpool/services.pyi +2 -1
  222. homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
  223. homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
  224. homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
  225. homeassistant-stubs/components/ntfy/notify.pyi +1 -1
  226. homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
  227. homeassistant-stubs/components/ohme/services.pyi +2 -1
  228. homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
  229. homeassistant-stubs/components/onedrive/services.pyi +3 -2
  230. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
  231. homeassistant-stubs/components/onewire/const.pyi +0 -1
  232. homeassistant-stubs/components/onewire/entity.pyi +2 -3
  233. homeassistant-stubs/components/onewire/switch.pyi +3 -2
  234. homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
  235. homeassistant-stubs/components/onkyo/services.pyi +3 -2
  236. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  237. homeassistant-stubs/components/openai_conversation/config_flow.pyi +19 -14
  238. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  239. homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
  240. homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
  241. homeassistant-stubs/components/overseerr/services.pyi +6 -4
  242. homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
  243. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
  244. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
  245. homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
  246. homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
  247. homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
  248. homeassistant-stubs/components/person/__init__.pyi +1 -1
  249. homeassistant-stubs/components/plugwise/climate.pyi +0 -1
  250. homeassistant-stubs/components/pushbullet/sensor.pyi +1 -1
  251. homeassistant-stubs/components/qbus/climate.pyi +3 -2
  252. homeassistant-stubs/components/qbus/cover.pyi +39 -0
  253. homeassistant-stubs/components/qbus/entity.pyi +7 -3
  254. homeassistant-stubs/components/qbus/light.pyi +4 -3
  255. homeassistant-stubs/components/qbus/scene.pyi +2 -2
  256. homeassistant-stubs/components/qbus/switch.pyi +3 -2
  257. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  258. homeassistant-stubs/components/recorder/services.pyi +7 -12
  259. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  260. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  261. homeassistant-stubs/components/reolink/const.pyi +1 -0
  262. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  263. homeassistant-stubs/components/reolink/host.pyi +1 -1
  264. homeassistant-stubs/components/reolink/services.pyi +2 -0
  265. homeassistant-stubs/components/rest/data.pyi +8 -6
  266. homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
  267. homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
  268. homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
  269. homeassistant-stubs/components/russound_rio/number.pyi +30 -0
  270. homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
  271. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  272. homeassistant-stubs/components/shelly/const.pyi +1 -0
  273. homeassistant-stubs/components/shelly/repairs.pyi +14 -3
  274. homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
  275. homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
  276. homeassistant-stubs/components/squeezebox/button.pyi +0 -2
  277. homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
  278. homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
  279. homeassistant-stubs/components/stream/__init__.pyi +1 -1
  280. homeassistant-stubs/components/stream/const.pyi +1 -0
  281. homeassistant-stubs/components/stream/core.pyi +2 -1
  282. homeassistant-stubs/components/sun/__init__.pyi +1 -0
  283. homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
  284. homeassistant-stubs/components/sun/condition.pyi +13 -3
  285. homeassistant-stubs/components/sun/sensor.pyi +2 -0
  286. homeassistant-stubs/components/switch/light.pyi +1 -0
  287. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
  288. homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
  289. homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
  290. homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
  291. homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
  292. homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
  293. homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
  294. homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
  295. homeassistant-stubs/components/telegram_bot/const.pyi +93 -0
  296. homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
  297. homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
  298. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  299. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
  300. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  301. homeassistant-stubs/components/tts/entity.pyi +1 -2
  302. homeassistant-stubs/components/unifi/button.pyi +5 -5
  303. homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
  304. homeassistant-stubs/components/unifi/entity.pyi +5 -8
  305. homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
  306. homeassistant-stubs/components/unifi/image.pyi +5 -5
  307. homeassistant-stubs/components/unifi/sensor.pyi +5 -5
  308. homeassistant-stubs/components/unifi/switch.pyi +7 -7
  309. homeassistant-stubs/components/unifi/update.pyi +3 -5
  310. homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
  311. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  312. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  313. homeassistant-stubs/components/wallbox/coordinator.pyi +6 -6
  314. homeassistant-stubs/components/wallbox/lock.pyi +1 -2
  315. homeassistant-stubs/components/wallbox/number.pyi +1 -2
  316. homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
  317. homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
  318. homeassistant-stubs/components/wiz/__init__.pyi +3 -3
  319. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  320. homeassistant-stubs/components/zwave_js/api.pyi +2 -2
  321. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -1
  322. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  323. homeassistant-stubs/components/zwave_js/services.pyi +2 -0
  324. homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
  325. homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
  326. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
  327. homeassistant-stubs/config_entries.pyi +2 -0
  328. homeassistant-stubs/const.pyi +1 -0
  329. homeassistant-stubs/helpers/condition.pyi +11 -3
  330. homeassistant-stubs/helpers/device_registry.pyi +5 -1
  331. homeassistant-stubs/helpers/entity.pyi +1 -4
  332. homeassistant-stubs/helpers/entity_registry.pyi +11 -1
  333. homeassistant-stubs/helpers/llm.pyi +0 -1
  334. homeassistant-stubs/helpers/selector.pyi +24 -4
  335. homeassistant-stubs/helpers/system_info.pyi +2 -0
  336. homeassistant-stubs/helpers/template.pyi +2 -1
  337. homeassistant-stubs/helpers/trigger.pyi +33 -2
  338. homeassistant-stubs/loader.pyi +3 -1
  339. homeassistant-stubs/util/timeout.pyi +6 -3
  340. homeassistant-stubs/util/yaml/loader.pyi +3 -1
  341. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/METADATA +2 -2
  342. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/RECORD +344 -307
  343. homeassistant-stubs/backports/enum.pyi +0 -7
  344. homeassistant-stubs/backports/functools.pyi +0 -7
  345. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
  346. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/WHEEL +0 -0
  347. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -118,8 +118,6 @@ class StateVacuumEntity(Entity, cached_properties=STATE_VACUUM_CACHED_PROPERTIES
118
118
  def activity(self) -> VacuumActivity | None: ...
119
119
  @cached_property
120
120
  def supported_features(self) -> VacuumEntityFeature: ...
121
- @property
122
- def supported_features_compat(self) -> VacuumEntityFeature: ...
123
121
  def stop(self, **kwargs: Any) -> None: ...
124
122
  async def async_stop(self, **kwargs: Any) -> None: ...
125
123
  def return_to_base(self, **kwargs: Any) -> None: ...
@@ -19,6 +19,8 @@ CHARGER_CURRENT_MODE_KEY: str
19
19
  CHARGER_CURRENT_VERSION_KEY: str
20
20
  CHARGER_CURRENCY_KEY: str
21
21
  CHARGER_DATA_KEY: str
22
+ CHARGER_DATA_POST_L1_KEY: str
23
+ CHARGER_DATA_POST_L2_KEY: str
22
24
  CHARGER_DEPOT_PRICE_KEY: str
23
25
  CHARGER_ENERGY_PRICE_KEY: str
24
26
  CHARGER_FEATURES_KEY: str
@@ -29,7 +31,9 @@ CHARGER_POWER_BOOST_KEY: str
29
31
  CHARGER_SOFTWARE_KEY: str
30
32
  CHARGER_MAX_AVAILABLE_POWER_KEY: str
31
33
  CHARGER_MAX_CHARGING_CURRENT_KEY: str
34
+ CHARGER_MAX_CHARGING_CURRENT_POST_KEY: str
32
35
  CHARGER_MAX_ICP_CURRENT_KEY: str
36
+ CHARGER_MAX_ICP_CURRENT_POST_KEY: str
33
37
  CHARGER_PAUSE_RESUME_KEY: str
34
38
  CHARGER_LOCKED_UNLOCKED_KEY: str
35
39
  CHARGER_NAME_KEY: str
@@ -1,10 +1,10 @@
1
- from .const import CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ECO_SMART_KEY as CHARGER_ECO_SMART_KEY, CHARGER_ECO_SMART_MODE_KEY as CHARGER_ECO_SMART_MODE_KEY, CHARGER_ECO_SMART_STATUS_KEY as CHARGER_ECO_SMART_STATUS_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, CHARGER_STATUS_ID_KEY as CHARGER_STATUS_ID_KEY, CODE_KEY as CODE_KEY, CONF_STATION as CONF_STATION, ChargerStatus as ChargerStatus, DOMAIN as DOMAIN, EcoSmartMode as EcoSmartMode, UPDATE_INTERVAL as UPDATE_INTERVAL
1
+ from .const import CHARGER_CURRENCY_KEY as CHARGER_CURRENCY_KEY, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_DATA_POST_L1_KEY as CHARGER_DATA_POST_L1_KEY, CHARGER_DATA_POST_L2_KEY as CHARGER_DATA_POST_L2_KEY, CHARGER_ECO_SMART_KEY as CHARGER_ECO_SMART_KEY, CHARGER_ECO_SMART_MODE_KEY as CHARGER_ECO_SMART_MODE_KEY, CHARGER_ECO_SMART_STATUS_KEY as CHARGER_ECO_SMART_STATUS_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_FEATURES_KEY as CHARGER_FEATURES_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_POST_KEY as CHARGER_MAX_CHARGING_CURRENT_POST_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PLAN_KEY as CHARGER_PLAN_KEY, CHARGER_POWER_BOOST_KEY as CHARGER_POWER_BOOST_KEY, CHARGER_STATUS_DESCRIPTION_KEY as CHARGER_STATUS_DESCRIPTION_KEY, CHARGER_STATUS_ID_KEY as CHARGER_STATUS_ID_KEY, CODE_KEY as CODE_KEY, CONF_STATION as CONF_STATION, ChargerStatus as ChargerStatus, DOMAIN as DOMAIN, EcoSmartMode as EcoSmartMode, UPDATE_INTERVAL as UPDATE_INTERVAL
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, HomeAssistantError as HomeAssistantError
7
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
8
  from typing import Any, Concatenate
9
9
  from wallbox import Wallbox as Wallbox
10
10
 
@@ -25,16 +25,16 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
25
25
  def _get_data(self) -> dict[str, Any]: ...
26
26
  async def _async_update_data(self) -> dict[str, Any]: ...
27
27
  @_require_authentication
28
- def _set_charging_current(self, charging_current: float) -> None: ...
28
+ def _set_charging_current(self, charging_current: float) -> dict[str, dict[str, dict[str, Any]]]: ...
29
29
  async def async_set_charging_current(self, charging_current: float) -> None: ...
30
30
  @_require_authentication
31
- def _set_icp_current(self, icp_current: float) -> None: ...
31
+ def _set_icp_current(self, icp_current: float) -> dict[str, Any]: ...
32
32
  async def async_set_icp_current(self, icp_current: float) -> None: ...
33
33
  @_require_authentication
34
- def _set_energy_cost(self, energy_cost: float) -> None: ...
34
+ def _set_energy_cost(self, energy_cost: float) -> dict[str, Any]: ...
35
35
  async def async_set_energy_cost(self, energy_cost: float) -> None: ...
36
36
  @_require_authentication
37
- def _set_lock_unlock(self, lock: bool) -> None: ...
37
+ def _set_lock_unlock(self, lock: bool) -> dict[str, dict[str, dict[str, Any]]]: ...
38
38
  async def async_set_lock_unlock(self, lock: bool) -> None: ...
39
39
  @_require_authentication
40
40
  def _pause_charger(self, pause: bool) -> None: ...
@@ -1,11 +1,10 @@
1
1
  from .const import CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_LOCKED_UNLOCKED_KEY as CHARGER_LOCKED_UNLOCKED_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN
2
- from .coordinator import InvalidAuth as InvalidAuth, WallboxCoordinator as WallboxCoordinator
2
+ from .coordinator import WallboxCoordinator as WallboxCoordinator
3
3
  from .entity import WallboxEntity as WallboxEntity
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
9
  from typing import Any
11
10
 
@@ -1,5 +1,5 @@
1
1
  from .const import BIDIRECTIONAL_MODEL_PREFIXES as BIDIRECTIONAL_MODEL_PREFIXES, CHARGER_DATA_KEY as CHARGER_DATA_KEY, CHARGER_ENERGY_PRICE_KEY as CHARGER_ENERGY_PRICE_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY as CHARGER_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY as CHARGER_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_ICP_CURRENT_KEY as CHARGER_MAX_ICP_CURRENT_KEY, CHARGER_PART_NUMBER_KEY as CHARGER_PART_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY as CHARGER_SERIAL_NUMBER_KEY, DOMAIN as DOMAIN
2
- from .coordinator import InvalidAuth as InvalidAuth, WallboxCoordinator as WallboxCoordinator
2
+ from .coordinator import WallboxCoordinator as WallboxCoordinator
3
3
  from .entity import WallboxEntity as WallboxEntity
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Awaitable, Callable as Callable
@@ -7,7 +7,6 @@ from dataclasses import dataclass
7
7
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
11
 
13
12
  def min_charging_current_value(coordinator: WallboxCoordinator) -> float: ...
@@ -1,6 +1,6 @@
1
1
  from . import const as const, decorators as decorators, messages as messages
2
2
  from .connection import ActiveConnection as ActiveConnection
3
- from .messages import construct_result_message as construct_result_message
3
+ from .messages import construct_event_message as construct_event_message, construct_result_message as construct_result_message
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from functools import lru_cache
@@ -15,13 +15,13 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
15
15
  from homeassistant.helpers.entityfilter import INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA as INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA, convert_include_exclude_filter as convert_include_exclude_filter
16
16
  from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
17
17
  from homeassistant.helpers.json import ExtendedJSONEncoder as ExtendedJSONEncoder, JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data, json_bytes as json_bytes, json_fragment as json_fragment
18
- from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
19
18
  from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integration_descriptions as async_get_integration_descriptions, async_get_integrations as async_get_integrations
20
19
  from homeassistant.setup import async_get_loaded_integrations as async_get_loaded_integrations, async_get_setup_timings as async_get_setup_timings, async_wait_component as async_wait_component
21
20
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
22
21
  from typing import Any
23
22
 
24
23
  ALL_SERVICE_DESCRIPTIONS_JSON_CACHE: str
24
+ ALL_TRIGGER_DESCRIPTIONS_JSON_CACHE: str
25
25
  _LOGGER: Incomplete
26
26
 
27
27
  @callback
@@ -49,9 +49,12 @@ def _forward_entity_changes(send_message: Callable[[str | bytes | dict[str, Any]
49
49
  @callback
50
50
  def handle_subscribe_entities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
51
51
  def _send_handle_entities_init_response(connection: ActiveConnection, message_id_as_bytes: bytes, serialized_states: list[bytes]) -> None: ...
52
- async def _async_get_all_descriptions_json(hass: HomeAssistant) -> bytes: ...
52
+ async def _async_get_all_service_descriptions_json(hass: HomeAssistant) -> bytes: ...
53
53
  @decorators.async_response
54
54
  async def handle_get_services(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
55
+ async def _async_get_all_trigger_descriptions_json(hass: HomeAssistant) -> bytes: ...
56
+ @decorators.async_response
57
+ async def handle_subscribe_trigger_platforms(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
55
58
  @callback
56
59
  def handle_get_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
57
60
  @decorators.async_response
@@ -21,6 +21,7 @@ def result_message(iden: int, result: Any = None) -> dict[str, Any]: ...
21
21
  def construct_result_message(iden: int, payload: bytes) -> bytes: ...
22
22
  def error_message(iden: int | None, code: str, message: str, translation_key: str | None = None, translation_domain: str | None = None, translation_placeholders: dict[str, Any] | None = None) -> dict[str, Any]: ...
23
23
  def event_message(iden: int, event: Any) -> dict[str, Any]: ...
24
+ def construct_event_message(iden: int, event: bytes) -> bytes: ...
24
25
  def cached_event_message(message_id_as_bytes: bytes, event: Event) -> bytes: ...
25
26
  def _partial_cached_event_message(event: Event) -> bytes: ...
26
27
  def cached_state_diff_message(message_id_as_bytes: bytes, event: Event[EventStateChangedData]) -> bytes: ...
@@ -20,6 +20,6 @@ REQUEST_REFRESH_DELAY: float
20
20
  CONFIG_SCHEMA: Incomplete
21
21
 
22
22
  async def async_setup(hass: HomeAssistant, hass_config: ConfigType) -> bool: ...
23
- async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
24
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
25
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
+ async def _async_update_listener(hass: HomeAssistant, entry: WizConfigEntry) -> None: ...
24
+ async def async_setup_entry(hass: HomeAssistant, entry: WizConfigEntry) -> bool: ...
25
+ async def async_unload_entry(hass: HomeAssistant, entry: WizConfigEntry) -> bool: ...
@@ -5,7 +5,7 @@ from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_CO
5
5
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo, async_discover_node_values as async_discover_node_values, async_discover_single_value as async_discover_single_value
6
6
  from .helpers import async_disable_server_logging_if_needed as async_disable_server_logging_if_needed, async_enable_server_logging_if_needed as async_enable_server_logging_if_needed, async_enable_statistics as async_enable_statistics, get_device_id as get_device_id, get_device_id_ext as get_device_id_ext, get_network_identifier_for_notification as get_network_identifier_for_notification, get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
7
7
  from .migrate import async_migrate_discovered_value as async_migrate_discovered_value
8
- from .services import ZWaveServices as ZWaveServices
8
+ from .services import async_setup_services as async_setup_services
9
9
  from _typeshed import Incomplete
10
10
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
11
11
  from homeassistant.components.persistent_notification import async_create as async_create
@@ -17,8 +17,8 @@ from typing import Any, Concatenate, Literal
17
17
  from zwave_js_server.client import Client as Client
18
18
  from zwave_js_server.const import InclusionStrategy
19
19
  from zwave_js_server.model.controller import ControllerStatistics as ControllerStatistics
20
- from zwave_js_server.model.controller.firmware import ControllerFirmwareUpdateProgress as ControllerFirmwareUpdateProgress, ControllerFirmwareUpdateResult as ControllerFirmwareUpdateResult
21
20
  from zwave_js_server.model.driver import Driver as Driver
21
+ from zwave_js_server.model.driver.firmware import DriverFirmwareUpdateProgress as DriverFirmwareUpdateProgress, DriverFirmwareUpdateResult as DriverFirmwareUpdateResult
22
22
  from zwave_js_server.model.endpoint import Endpoint as Endpoint
23
23
  from zwave_js_server.model.log_message import LogMessage as LogMessage
24
24
  from zwave_js_server.model.node import Node as Node, NodeStatistics as NodeStatistics
@@ -279,7 +279,7 @@ async def websocket_abort_firmware_update(hass: HomeAssistant, connection: Activ
279
279
  @async_get_node
280
280
  async def websocket_is_node_firmware_update_in_progress(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
281
281
  def _get_node_firmware_update_progress_dict(progress: NodeFirmwareUpdateProgress) -> dict[str, int | float]: ...
282
- def _get_controller_firmware_update_progress_dict(progress: ControllerFirmwareUpdateProgress) -> dict[str, int | float]: ...
282
+ def _get_driver_firmware_update_progress_dict(progress: DriverFirmwareUpdateProgress) -> dict[str, int | float]: ...
283
283
  @websocket_api.require_admin
284
284
  @websocket_api.async_response
285
285
  @async_get_node
@@ -15,7 +15,6 @@ from homeassistant.helpers.hassio import is_hassio as is_hassio
15
15
  from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
16
16
  from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
17
17
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
18
- from homeassistant.helpers.typing import VolDictType as VolDictType
19
18
  from pathlib import Path
20
19
  from typing import Any
21
20
  from zwave_js_server.client import Client as Client
@@ -30,6 +29,8 @@ ADDON_SETUP_TIMEOUT_ROUNDS: int
30
29
  ADDON_USER_INPUT_MAP: Incomplete
31
30
  ON_SUPERVISOR_SCHEMA: Incomplete
32
31
  MIN_MIGRATION_SDK_VERSION: Incomplete
32
+ NETWORK_TYPE_NEW: str
33
+ NETWORK_TYPE_EXISTING: str
33
34
 
34
35
  def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
35
36
  def get_on_supervisor_schema(user_input: dict[str, Any]) -> vol.Schema: ...
@@ -88,6 +89,8 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
88
89
  async def async_step_intent_custom(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
89
90
  async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
90
91
  async def async_step_configure_addon_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
92
+ async def async_step_network_type(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
93
+ async def async_step_configure_security_keys(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
91
94
  async def async_step_finish_addon_setup_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
92
95
  @callback
93
96
  def _async_create_entry_from_vars(self) -> ConfigFlowResult: ...
@@ -1,5 +1,4 @@
1
1
  import voluptuous as vol
2
- from . import trigger as trigger
3
2
  from .config_validation import VALUE_SCHEMA as VALUE_SCHEMA
4
3
  from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_LABEL as ATTR_LABEL, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, DOMAIN as DOMAIN, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT
5
4
  from .device_automation_helpers import CONF_SUBTYPE as CONF_SUBTYPE, NODE_STATUSES as NODE_STATUSES, async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation, generate_config_parameter_subtype as generate_config_parameter_subtype
@@ -18,6 +18,8 @@ _LOGGER: Incomplete
18
18
  type _NodeOrEndpointType = ZwaveNode | Endpoint
19
19
  TARGET_VALIDATORS: Incomplete
20
20
 
21
+ @callback
22
+ def async_setup_services(hass: HomeAssistant) -> None: ...
21
23
  def parameter_name_does_not_need_bitmask(val: dict[str, int | str | list[str]]) -> dict[str, int | str | list[str]]: ...
22
24
  def check_base_2(val: int) -> int: ...
23
25
  def broadcast_command(val: dict[str, Any]) -> dict[str, Any]: ...
@@ -1,12 +1,8 @@
1
1
  from .triggers import event as event, value_updated as value_updated
2
2
  from _typeshed import Incomplete
3
- from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM
4
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo, TriggerProtocol as TriggerProtocol
6
- from homeassistant.helpers.typing import ConfigType as ConfigType
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.helpers.trigger import Trigger as Trigger
7
5
 
8
6
  TRIGGERS: Incomplete
9
7
 
10
- def _get_trigger_platform(config: ConfigType) -> TriggerProtocol: ...
11
- async def async_validate_trigger_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
12
- async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
8
+ async def async_get_triggers(hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
@@ -6,7 +6,7 @@ from collections.abc import Callable as Callable
6
6
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM
7
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
- from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
+ from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
  from zwave_js_server.client import Client as Client
12
12
  from zwave_js_server.model.driver import Driver as Driver
@@ -21,3 +21,11 @@ TRIGGER_SCHEMA: Incomplete
21
21
 
22
22
  async def async_validate_trigger_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
23
23
  async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo, *, platform_type: str = ...) -> CALLBACK_TYPE: ...
24
+
25
+ class EventTrigger(Trigger):
26
+ _config: Incomplete
27
+ _hass: Incomplete
28
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
29
+ @classmethod
30
+ async def async_validate_trigger_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
31
+ async def async_attach_trigger(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -7,7 +7,7 @@ from collections.abc import Callable as Callable
7
7
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM, MATCH_ALL as MATCH_ALL
8
8
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
- from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
10
+ from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from zwave_js_server.model.driver import Driver as Driver
13
13
  from zwave_js_server.model.value import Value as Value
@@ -19,3 +19,11 @@ TRIGGER_SCHEMA: Incomplete
19
19
 
20
20
  async def async_validate_trigger_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
21
21
  async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo, *, platform_type: str = ...) -> CALLBACK_TYPE: ...
22
+
23
+ class ValueUpdatedTrigger(Trigger):
24
+ _config: Incomplete
25
+ _hass: Incomplete
26
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
27
+ @classmethod
28
+ async def async_validate_trigger_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
29
+ async def async_attach_trigger(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -447,6 +447,8 @@ class ConfigSubentryFlow(data_entry_flow.FlowHandler[SubentryFlowContext, Subent
447
447
  def async_update_and_abort(self, entry: ConfigEntry, subentry: ConfigSubentry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., data_updates: Mapping[str, Any] | UndefinedType = ...) -> SubentryFlowResult: ...
448
448
  @property
449
449
  def _entry_id(self) -> str: ...
450
+ @property
451
+ def _subentry_type(self) -> str: ...
450
452
  @callback
451
453
  def _get_entry(self) -> ConfigEntry: ...
452
454
  @property
@@ -20,6 +20,7 @@ REQUIRED_NEXT_PYTHON_HA_RELEASE: Final[str]
20
20
  PLATFORM_FORMAT: Final[str]
21
21
 
22
22
  class Platform(StrEnum):
23
+ AI_TASK = 'ai_task'
23
24
  AIR_QUALITY = 'air_quality'
24
25
  ALARM_CONTROL_PANEL = 'alarm_control_panel'
25
26
  ASSIST_SATELLITE = 'assist_satellite'
@@ -1,3 +1,4 @@
1
+ import abc
1
2
  import logging
2
3
  from .template import Template as Template, render_complex as render_complex
3
4
  from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
@@ -17,12 +18,19 @@ from typing import Any, Protocol
17
18
  ASYNC_FROM_CONFIG_FORMAT: str
18
19
  FROM_CONFIG_FORMAT: str
19
20
  VALIDATE_CONFIG_FORMAT: str
20
- _PLATFORM_ALIASES: Incomplete
21
+ _PLATFORM_ALIASES: dict[str | None, str | None]
21
22
  INPUT_ENTITY_ID: Incomplete
22
23
 
24
+ class Condition(abc.ABC, metaclass=abc.ABCMeta):
25
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
26
+ @classmethod
27
+ @abc.abstractmethod
28
+ async def async_validate_condition_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
29
+ @abc.abstractmethod
30
+ async def async_condition_from_config(self) -> ConditionCheckerType: ...
31
+
23
32
  class ConditionProtocol(Protocol):
24
- async def async_validate_condition_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
25
- def async_condition_from_config(self, hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
33
+ async def async_get_conditions(self, hass: HomeAssistant) -> dict[str, type[Condition]]: ...
26
34
  type ConditionCheckerType = Callable[[HomeAssistant, TemplateVarsType], bool | None]
27
35
 
28
36
  def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
@@ -141,19 +141,23 @@ class DeviceEntry:
141
141
  def __ge__(self, other): ...
142
142
 
143
143
  class DeletedDeviceEntry:
144
+ area_id: str | None
144
145
  config_entries: set[str]
145
146
  config_entries_subentries: dict[str, set[str | None]]
146
147
  connections: set[tuple[str, str]]
147
148
  created_at: datetime
149
+ disabled_by: DeviceEntryDisabler | None
148
150
  id: str
149
151
  identifiers: set[tuple[str, str]]
152
+ labels: set[str]
150
153
  modified_at: datetime
154
+ name_by_user: str | None
151
155
  orphaned_timestamp: float | None
152
156
  _cache: dict[str, Any]
153
157
  def to_device_entry(self, config_entry_id: str, config_subentry_id: str | None, connections: set[tuple[str, str]], identifiers: set[tuple[str, str]]) -> DeviceEntry: ...
154
158
  @under_cached_property
155
159
  def as_storage_fragment(self) -> json_fragment: ...
156
- def __init__(self, config_entries, config_entries_subentries, connections, created_at, id, identifiers, modified_at, orphaned_timestamp, cache) -> None: ...
160
+ def __init__(self, area_id, config_entries, config_entries_subentries, connections, created_at, disabled_by, id, identifiers, labels, modified_at, name_by_user, orphaned_timestamp, cache) -> None: ...
157
161
  def __lt__(self, other): ...
158
162
  def __le__(self, other): ...
159
163
  def __gt__(self, other): ...
@@ -11,7 +11,7 @@ from _typeshed import Incomplete
11
11
  from abc import ABCMeta
12
12
  from collections import deque
13
13
  from collections.abc import Callable as Callable, Coroutine, Iterable, Mapping
14
- from enum import Enum, IntFlag
14
+ from enum import Enum
15
15
  from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
16
16
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ReleaseChannel as ReleaseChannel, callback as callback, get_hassjob_callable_job_type as get_hassjob_callable_job_type, get_release_channel as get_release_channel
17
17
  from homeassistant.core_config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
@@ -47,7 +47,6 @@ ENTITY_CATEGORIES_SCHEMA: Final[Incomplete]
47
47
 
48
48
  class EntityInfo(TypedDict):
49
49
  domain: str
50
- custom_component: bool
51
50
  config_entry: NotRequired[str]
52
51
 
53
52
  class StateInfo(TypedDict):
@@ -261,8 +260,6 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
261
260
  def __repr__(self) -> str: ...
262
261
  async def async_request_call[_T](self, coro: Coroutine[Any, Any, _T]) -> _T: ...
263
262
  def _suggest_report_issue(self) -> str: ...
264
- @callback
265
- def _report_deprecated_supported_features_values(self, replacement: IntFlag) -> None: ...
266
263
 
267
264
  class ToggleEntityDescription(EntityDescription, frozen_or_thawed=True): ...
268
265
 
@@ -125,19 +125,29 @@ class DeletedRegistryEntry:
125
125
  entity_id: str
126
126
  unique_id: str
127
127
  platform: str
128
+ aliases: set[str]
129
+ area_id: str | None
130
+ categories: dict[str, str]
128
131
  config_entry_id: str | None
129
132
  config_subentry_id: str | None
130
133
  created_at: datetime
134
+ device_class: str | None
135
+ disabled_by: RegistryEntryDisabler | None
131
136
  domain: str
137
+ hidden_by: RegistryEntryHider | None
138
+ icon: str | None
132
139
  id: str
140
+ labels: set[str]
133
141
  modified_at: datetime
142
+ name: str | None
143
+ options: ReadOnlyEntityOptionsType
134
144
  orphaned_timestamp: float | None
135
145
  _cache: dict[str, Any]
136
146
  @domain.default
137
147
  def _domain_default(self) -> str: ...
138
148
  @under_cached_property
139
149
  def as_storage_fragment(self) -> json_fragment: ...
140
- def __init__(self, entity_id, unique_id, platform, config_entry_id, config_subentry_id, created_at, domain, id, modified_at, orphaned_timestamp, cache) -> None: ...
150
+ def __init__(self, entity_id, unique_id, platform, aliases, area_id, categories, config_entry_id, config_subentry_id, created_at, device_class, disabled_by, domain, hidden_by, icon, id, labels, modified_at, name, options, orphaned_timestamp, cache) -> None: ...
141
151
  def __lt__(self, other): ...
142
152
  def __le__(self, other): ...
143
153
  def __gt__(self, other): ...
@@ -41,7 +41,6 @@ def async_get_apis(hass: HomeAssistant) -> list[API]: ...
41
41
  class LLMContext:
42
42
  platform: str
43
43
  context: Context | None
44
- user_prompt: str | None
45
44
  language: str | None
46
45
  assistant: str | None
47
46
  device_id: str | None
@@ -302,11 +302,12 @@ class LocationSelector(Selector[LocationSelectorConfig]):
302
302
  def __init__(self, config: LocationSelectorConfig | None = None) -> None: ...
303
303
  def __call__(self, data: Any) -> dict[str, float]: ...
304
304
 
305
- class MediaSelectorConfig(BaseSelectorConfig): ...
305
+ class MediaSelectorConfig(BaseSelectorConfig, total=False):
306
+ accept: list[str]
306
307
 
307
308
  class MediaSelector(Selector[MediaSelectorConfig]):
308
309
  selector_type: str
309
- CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
310
+ CONFIG_SCHEMA: Incomplete
310
311
  DATA_SCHEMA: Incomplete
311
312
  def __init__(self, config: MediaSelectorConfig | None = None) -> None: ...
312
313
  def __call__(self, data: Any) -> dict[str, float]: ...
@@ -330,11 +331,21 @@ class NumberSelector(Selector[NumberSelectorConfig]):
330
331
  def __init__(self, config: NumberSelectorConfig | None = None) -> None: ...
331
332
  def __call__(self, data: Any) -> float: ...
332
333
 
333
- class ObjectSelectorConfig(BaseSelectorConfig): ...
334
+ class ObjectSelectorField(TypedDict):
335
+ label: str
336
+ required: bool
337
+ selector: dict[str, Any]
338
+
339
+ class ObjectSelectorConfig(BaseSelectorConfig):
340
+ fields: dict[str, ObjectSelectorField]
341
+ multiple: bool
342
+ label_field: str
343
+ description_field: bool
344
+ translation_key: str
334
345
 
335
346
  class ObjectSelector(Selector[ObjectSelectorConfig]):
336
347
  selector_type: str
337
- CONFIG_SCHEMA = BASE_SELECTOR_CONFIG_SCHEMA
348
+ CONFIG_SCHEMA: Incomplete
338
349
  def __init__(self, config: ObjectSelectorConfig | None = None) -> None: ...
339
350
  def __call__(self, data: Any) -> Any: ...
340
351
 
@@ -362,6 +373,15 @@ class SelectSelector(Selector[SelectSelectorConfig]):
362
373
  def __init__(self, config: SelectSelectorConfig) -> None: ...
363
374
  def __call__(self, data: Any) -> Any: ...
364
375
 
376
+ class StatisticSelectorConfig(BaseSelectorConfig, total=False):
377
+ multiple: bool
378
+
379
+ class StatisticSelector(Selector[StatisticSelectorConfig]):
380
+ selector_type: str
381
+ CONFIG_SCHEMA: Incomplete
382
+ def __init__(self, config: StatisticSelectorConfig | None = None) -> None: ...
383
+ def __call__(self, data: Any) -> str | list[str]: ...
384
+
365
385
  class TargetSelectorConfig(BaseSelectorConfig, total=False):
366
386
  entity: EntityFilterSelectorConfig | list[EntityFilterSelectorConfig]
367
387
  device: DeviceFilterSelectorConfig | list[DeviceFilterSelectorConfig]
@@ -10,8 +10,10 @@ from typing import Any
10
10
 
11
11
  _LOGGER: Incomplete
12
12
  _DATA_MAC_VER: str
13
+ _DATA_CONTAINER_ARCH: str
13
14
 
14
15
  async def async_get_mac_ver(hass: HomeAssistant) -> str: ...
16
+ async def async_get_container_arch(hass: HomeAssistant) -> str: ...
15
17
 
16
18
  cached_get_user: Incomplete
17
19
 
@@ -266,6 +266,7 @@ def area_devices(hass: HomeAssistant, area_id_or_name: str) -> Iterable[str]: ..
266
266
  def labels(hass: HomeAssistant, lookup_value: Any = None) -> Iterable[str | None]: ...
267
267
  def label_id(hass: HomeAssistant, lookup_value: Any) -> str | None: ...
268
268
  def label_name(hass: HomeAssistant, lookup_value: str) -> str | None: ...
269
+ def label_description(hass: HomeAssistant, lookup_value: str) -> str | None: ...
269
270
  def _label_id_or_name(hass: HomeAssistant, label_id_or_name: str) -> str | None: ...
270
271
  def label_areas(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
271
272
  def label_devices(hass: HomeAssistant, label_id_or_name: str) -> Iterable[str]: ...
@@ -338,7 +339,7 @@ def from_hex(value: str) -> bytes: ...
338
339
  def base64_encode(value: str | bytes) -> str: ...
339
340
  def base64_decode(value: str, encoding: str | None = 'utf-8') -> str | bytes: ...
340
341
  def ordinal(value): ...
341
- def from_json(value): ...
342
+ def from_json(value, default=...): ...
342
343
  def _to_json_default(obj: Any) -> None: ...
343
344
  def to_json(value: Any, ensure_ascii: bool = False, pretty_print: bool = False, sort_keys: bool = False) -> str: ...
344
345
  @pass_context
@@ -1,22 +1,50 @@
1
+ import abc
1
2
  import voluptuous as vol
3
+ from .integration_platform import async_process_integration_platforms as async_process_integration_platforms
2
4
  from .template import Template as Template
3
5
  from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
4
6
  from _typeshed import Incomplete
5
7
  from collections import defaultdict
6
- from collections.abc import Callable, Coroutine
8
+ from collections.abc import Callable, Coroutine, Iterable
7
9
  from dataclasses import dataclass, field
8
10
  from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_ENABLED as CONF_ENABLED, CONF_ID as CONF_ID, CONF_PLATFORM as CONF_PLATFORM, CONF_VARIABLES as CONF_VARIABLES
9
11
  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
10
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
11
- from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
13
+ from homeassistant.loader import Integration as Integration, IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, async_get_integrations as async_get_integrations
12
14
  from homeassistant.util.async_ import create_eager_task as create_eager_task
13
15
  from homeassistant.util.hass_dict import HassKey as HassKey
16
+ from homeassistant.util.yaml import load_yaml_dict as load_yaml_dict
17
+ from homeassistant.util.yaml.loader import JSON_TYPE as JSON_TYPE
14
18
  from typing import Any, Protocol, TypedDict
15
19
 
20
+ _LOGGER: Incomplete
16
21
  _PLATFORM_ALIASES: Incomplete
17
22
  DATA_PLUGGABLE_ACTIONS: HassKey[defaultdict[tuple, PluggableActionsEntry]]
23
+ TRIGGER_DESCRIPTION_CACHE: HassKey[dict[str, dict[str, Any] | None]]
24
+ TRIGGER_PLATFORM_SUBSCRIPTIONS: HassKey[list[Callable[[set[str]], Coroutine[Any, Any, None]]]]
25
+ TRIGGERS: HassKey[dict[str, str]]
26
+ _FIELD_SCHEMA: Incomplete
27
+ _TRIGGER_SCHEMA: Incomplete
28
+
29
+ def starts_with_dot(key: str) -> str: ...
30
+
31
+ _TRIGGERS_SCHEMA: Incomplete
32
+
33
+ async def async_setup(hass: HomeAssistant) -> None: ...
34
+ @callback
35
+ def async_subscribe_platform_events(hass: HomeAssistant, on_event: Callable[[set[str]], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
36
+ async def _register_trigger_platform(hass: HomeAssistant, integration_domain: str, platform: TriggerProtocol) -> None: ...
37
+
38
+ class Trigger(abc.ABC, metaclass=abc.ABCMeta):
39
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
40
+ @classmethod
41
+ @abc.abstractmethod
42
+ async def async_validate_trigger_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
43
+ @abc.abstractmethod
44
+ async def async_attach_trigger(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
18
45
 
19
46
  class TriggerProtocol(Protocol):
47
+ async def async_get_triggers(self, hass: HomeAssistant) -> dict[str, type[Trigger]]: ...
20
48
  TRIGGER_SCHEMA: vol.Schema
21
49
  async def async_validate_trigger_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
22
50
  async def async_attach_trigger(self, hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -62,3 +90,6 @@ async def _async_get_trigger_platform(hass: HomeAssistant, config: ConfigType) -
62
90
  async def async_validate_trigger_config(hass: HomeAssistant, trigger_config: list[ConfigType]) -> list[ConfigType]: ...
63
91
  def _trigger_action_wrapper(hass: HomeAssistant, action: Callable, conf: ConfigType) -> Callable: ...
64
92
  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: ...
93
+ def _load_triggers_file(hass: HomeAssistant, integration: Integration) -> JSON_TYPE: ...
94
+ def _load_triggers_files(hass: HomeAssistant, integrations: Iterable[Integration]) -> dict[str, JSON_TYPE]: ...
95
+ async def async_get_all_descriptions(hass: HomeAssistant) -> dict[str, dict[str, Any] | None]: ...
@@ -198,9 +198,11 @@ class Integration:
198
198
  @cached_property
199
199
  def import_executor(self) -> bool: ...
200
200
  @cached_property
201
+ def has_services(self) -> bool: ...
202
+ @cached_property
201
203
  def has_translations(self) -> bool: ...
202
204
  @cached_property
203
- def has_services(self) -> bool: ...
205
+ def has_triggers(self) -> bool: ...
204
206
  @property
205
207
  def mqtt(self) -> list[str] | None: ...
206
208
  @property
@@ -1,6 +1,7 @@
1
1
  import asyncio
2
2
  import enum
3
3
  from .async_ import run_callback_threadsafe as run_callback_threadsafe
4
+ from _typeshed import Incomplete
4
5
  from types import TracebackType
5
6
  from typing import Any, Self
6
7
 
@@ -46,7 +47,8 @@ class _GlobalTaskContext:
46
47
  _state: _State
47
48
  _cool_down: float
48
49
  _cancelling: int
49
- def __init__(self, manager: TimeoutManager, task: asyncio.Task[Any], timeout: float, cool_down: float) -> None: ...
50
+ _cancel_message: Incomplete
51
+ def __init__(self, manager: TimeoutManager, task: asyncio.Task[Any], timeout: float, cool_down: float, cancel_message: str | None) -> None: ...
50
52
  async def __aenter__(self) -> Self: ...
51
53
  async def __aexit__(self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None) -> bool | None: ...
52
54
  @property
@@ -69,7 +71,8 @@ class _ZoneTaskContext:
69
71
  _expiration_time: float | None
70
72
  _timeout_handler: asyncio.Handle | None
71
73
  _cancelling: int
72
- def __init__(self, zone: _ZoneTimeoutManager, task: asyncio.Task[Any], timeout: float) -> None: ...
74
+ _cancel_message: Incomplete
75
+ def __init__(self, zone: _ZoneTimeoutManager, task: asyncio.Task[Any], timeout: float, cancel_message: str | None) -> None: ...
73
76
  @property
74
77
  def state(self) -> _State: ...
75
78
  async def __aenter__(self) -> Self: ...
@@ -117,6 +120,6 @@ class TimeoutManager:
117
120
  @property
118
121
  def global_freezes(self) -> list[_GlobalFreezeContext]: ...
119
122
  def drop_zone(self, zone_name: str) -> None: ...
120
- def async_timeout(self, timeout: float, zone_name: str = ..., cool_down: float = 0) -> _ZoneTaskContext | _GlobalTaskContext: ...
123
+ def async_timeout(self, timeout: float, zone_name: str = ..., cool_down: float = 0, cancel_message: str | None = None) -> _ZoneTaskContext | _GlobalTaskContext: ...
121
124
  def async_freeze(self, zone_name: str = ...) -> _ZoneFreezeContext | _GlobalFreezeContext: ...
122
125
  def freeze(self, zone_name: str = ...) -> _ZoneFreezeContext | _GlobalFreezeContext: ...