homeassistant-stubs 2025.10.4__py3-none-any.whl → 2025.11.0b1__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 (454) hide show
  1. homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
  2. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  3. homeassistant-stubs/components/airos/__init__.pyi +4 -2
  4. homeassistant-stubs/components/airos/config_flow.pyi +10 -1
  5. homeassistant-stubs/components/airos/coordinator.pyi +1 -1
  6. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  7. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
  8. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  9. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  10. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  11. homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
  12. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  13. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  14. homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
  15. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  16. homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
  17. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  19. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  20. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  21. homeassistant-stubs/components/backup/http.pyi +1 -0
  22. homeassistant-stubs/components/backup/manager.pyi +2 -1
  23. homeassistant-stubs/components/backup/util.pyi +2 -32
  24. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
  25. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  26. homeassistant-stubs/components/bluetooth/api.pyi +2 -0
  27. homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
  28. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  29. homeassistant-stubs/components/calendar/trigger.pyi +1 -1
  30. homeassistant-stubs/components/camera/__init__.pyi +1 -9
  31. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  33. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  34. homeassistant-stubs/components/cloud/__init__.pyi +2 -1
  35. homeassistant-stubs/components/cloud/client.pyi +1 -1
  36. homeassistant-stubs/components/cloud/const.pyi +1 -1
  37. homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
  38. homeassistant-stubs/components/comelit/cover.pyi +2 -2
  39. homeassistant-stubs/components/comelit/light.pyi +1 -1
  40. homeassistant-stubs/components/comelit/sensor.pyi +1 -0
  41. homeassistant-stubs/components/comelit/switch.pyi +1 -1
  42. homeassistant-stubs/components/comelit/utils.pyi +5 -1
  43. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  44. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  45. homeassistant-stubs/components/demo/valve.pyi +14 -5
  46. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  47. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  48. homeassistant-stubs/components/derivative/sensor.pyi +2 -1
  49. homeassistant-stubs/components/device_automation/condition.pyi +7 -6
  50. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  51. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  52. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  53. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  54. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  55. homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
  56. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  57. homeassistant-stubs/components/ecovacs/select.pyi +14 -2
  58. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  59. homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
  60. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  61. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  62. homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
  63. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  64. homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
  65. homeassistant-stubs/components/esphome/const.pyi +2 -0
  66. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  67. homeassistant-stubs/components/esphome/manager.pyi +8 -3
  68. homeassistant-stubs/components/esphome/select.pyi +1 -1
  69. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  70. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  71. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  72. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  73. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  74. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  75. homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
  76. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  77. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  78. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  79. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  80. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  81. homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
  82. homeassistant-stubs/components/fritz/models.pyi +2 -2
  83. homeassistant-stubs/components/fritz/services.pyi +3 -0
  84. homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
  85. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  86. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  87. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  88. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  89. homeassistant-stubs/components/github/__init__.pyi +12 -0
  90. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  91. homeassistant-stubs/components/github/const.pyi +10 -0
  92. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  93. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  94. homeassistant-stubs/components/github/sensor.pyi +37 -0
  95. homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
  96. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  97. homeassistant-stubs/components/google_drive/api.pyi +1 -0
  98. homeassistant-stubs/components/google_sheets/services.pyi +9 -2
  99. homeassistant-stubs/components/group/__init__.pyi +0 -1
  100. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  101. homeassistant-stubs/components/group/entity.pyi +3 -0
  102. homeassistant-stubs/components/group/light.pyi +1 -1
  103. homeassistant-stubs/components/group/util.pyi +1 -0
  104. homeassistant-stubs/components/group/valve.pyi +47 -0
  105. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  106. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  107. homeassistant-stubs/components/habitica/const.pyi +1 -0
  108. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  109. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  110. homeassistant-stubs/components/habitica/image.pyi +6 -2
  111. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  112. homeassistant-stubs/components/habitica/sensor.pyi +9 -4
  113. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  114. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  115. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  116. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
  117. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  118. homeassistant-stubs/components/home_connect/const.pyi +1 -0
  119. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  120. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  121. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  122. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  123. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
  124. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  125. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  126. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
  127. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  128. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  129. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
  130. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  131. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  132. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  133. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  134. homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
  135. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  136. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  137. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  138. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  139. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  140. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  141. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  142. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  143. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  144. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  145. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  146. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  147. homeassistant-stubs/components/inels/const.pyi +7 -0
  148. homeassistant-stubs/components/inels/entity.pyi +20 -0
  149. homeassistant-stubs/components/inels/switch.pyi +34 -0
  150. homeassistant-stubs/components/knx/climate.pyi +23 -11
  151. homeassistant-stubs/components/knx/const.pyi +14 -0
  152. homeassistant-stubs/components/knx/schema.pyi +1 -13
  153. homeassistant-stubs/components/knx/sensor.pyi +8 -9
  154. homeassistant-stubs/components/knx/storage/const.pyi +20 -0
  155. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
  156. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
  157. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +5 -9
  158. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  159. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  160. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  161. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  162. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  163. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  164. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  165. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  166. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  167. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  168. homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
  169. homeassistant-stubs/components/lunatone/light.pyi +43 -0
  170. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  171. homeassistant-stubs/components/matrix/const.pyi +5 -0
  172. homeassistant-stubs/components/matrix/services.pyi +3 -1
  173. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  174. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  175. homeassistant-stubs/components/matter/button.pyi +1 -1
  176. homeassistant-stubs/components/matter/climate.pyi +7 -1
  177. homeassistant-stubs/components/matter/cover.pyi +6 -2
  178. homeassistant-stubs/components/matter/entity.pyi +4 -2
  179. homeassistant-stubs/components/matter/event.pyi +5 -1
  180. homeassistant-stubs/components/matter/fan.pyi +5 -1
  181. homeassistant-stubs/components/matter/light.pyi +6 -2
  182. homeassistant-stubs/components/matter/lock.pyi +5 -1
  183. homeassistant-stubs/components/matter/models.pyi +3 -3
  184. homeassistant-stubs/components/matter/number.pyi +1 -1
  185. homeassistant-stubs/components/matter/select.pyi +1 -1
  186. homeassistant-stubs/components/matter/sensor.pyi +4 -1
  187. homeassistant-stubs/components/matter/services.pyi +11 -0
  188. homeassistant-stubs/components/matter/switch.pyi +5 -2
  189. homeassistant-stubs/components/matter/update.pyi +4 -1
  190. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  191. homeassistant-stubs/components/matter/valve.pyi +6 -2
  192. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  193. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  194. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  195. homeassistant-stubs/components/mcp/const.pyi +1 -0
  196. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  197. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  198. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  199. homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
  200. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  201. homeassistant-stubs/components/media_player/const.pyi +10 -69
  202. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  203. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  204. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  205. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  206. homeassistant-stubs/components/miele/sensor.pyi +7 -8
  207. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  208. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  209. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  210. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  211. homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
  212. homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
  213. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  214. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  215. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  216. homeassistant-stubs/components/music_assistant/const.pyi +4 -0
  217. homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
  218. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  219. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  220. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  221. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  222. homeassistant-stubs/components/number/const.pyi +2 -1
  223. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  224. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  225. homeassistant-stubs/components/onewire/const.pyi +0 -2
  226. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  227. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  228. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  229. homeassistant-stubs/components/onewire/select.pyi +3 -10
  230. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  231. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  232. homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
  233. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  234. homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
  235. homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
  236. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  237. homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
  238. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  239. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  240. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  241. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  242. homeassistant-stubs/components/ping/entity.pyi +1 -0
  243. homeassistant-stubs/components/portainer/button.pyi +29 -0
  244. homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
  245. homeassistant-stubs/components/portainer/const.pyi +1 -0
  246. homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
  247. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  248. homeassistant-stubs/components/portainer/entity.pyi +2 -0
  249. homeassistant-stubs/components/portainer/sensor.pyi +41 -0
  250. homeassistant-stubs/components/portainer/switch.pyi +35 -0
  251. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  252. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  253. homeassistant-stubs/components/recorder/const.pyi +1 -1
  254. homeassistant-stubs/components/recorder/core.pyi +3 -3
  255. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  256. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  257. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  258. homeassistant-stubs/components/recorder/migration.pyi +4 -1
  259. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  260. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  261. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  262. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
  263. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  264. homeassistant-stubs/components/recorder/util.pyi +1 -1
  265. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  266. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  267. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  268. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  269. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  270. homeassistant-stubs/components/reolink/switch.pyi +25 -7
  271. homeassistant-stubs/components/roborock/__init__.pyi +1 -1
  272. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  273. homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
  274. homeassistant-stubs/components/roborock/entity.pyi +1 -1
  275. homeassistant-stubs/components/roborock/models.pyi +1 -1
  276. homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
  277. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  278. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  279. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  280. homeassistant-stubs/components/sensor/const.pyi +2 -1
  281. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  282. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  283. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  284. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  285. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
  286. homeassistant-stubs/components/sfr_box/button.pyi +4 -9
  287. homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
  288. homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
  289. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  290. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  291. homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
  292. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  293. homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
  294. homeassistant-stubs/components/shelly/button.pyi +26 -16
  295. homeassistant-stubs/components/shelly/climate.pyi +61 -7
  296. homeassistant-stubs/components/shelly/const.pyi +15 -3
  297. homeassistant-stubs/components/shelly/cover.pyi +31 -10
  298. homeassistant-stubs/components/shelly/entity.pyi +5 -4
  299. homeassistant-stubs/components/shelly/event.pyi +4 -0
  300. homeassistant-stubs/components/shelly/light.pyi +23 -7
  301. homeassistant-stubs/components/shelly/number.pyi +11 -2
  302. homeassistant-stubs/components/shelly/repairs.pyi +2 -2
  303. homeassistant-stubs/components/shelly/select.pyi +4 -1
  304. homeassistant-stubs/components/shelly/sensor.pyi +8 -7
  305. homeassistant-stubs/components/shelly/switch.pyi +7 -4
  306. homeassistant-stubs/components/shelly/text.pyi +4 -1
  307. homeassistant-stubs/components/shelly/update.pyi +4 -0
  308. homeassistant-stubs/components/shelly/utils.pyi +10 -5
  309. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  310. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  311. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  312. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  313. homeassistant-stubs/components/sma/const.pyi +11 -0
  314. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  315. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  316. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  317. homeassistant-stubs/components/sql/__init__.pyi +2 -4
  318. homeassistant-stubs/components/sql/sensor.pyi +6 -13
  319. homeassistant-stubs/components/sql/services.pyi +17 -0
  320. homeassistant-stubs/components/sql/util.pyi +16 -3
  321. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  322. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  323. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  324. homeassistant-stubs/components/squeezebox/const.pyi +0 -1
  325. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  326. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  327. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  328. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  329. homeassistant-stubs/components/sun/condition.pyi +10 -5
  330. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  331. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  332. homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
  333. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  334. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
  335. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  336. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  337. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  338. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  339. homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
  340. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  341. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  342. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  343. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  344. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  345. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  346. homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
  347. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
  348. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  349. homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
  350. homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
  351. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  352. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  353. homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
  354. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  355. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  356. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  357. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  358. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  359. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  360. homeassistant-stubs/components/tolo/button.pyi +3 -5
  361. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  362. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  363. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  364. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  365. homeassistant-stubs/components/tolo/light.pyi +3 -5
  366. homeassistant-stubs/components/tolo/number.pyi +3 -5
  367. homeassistant-stubs/components/tolo/select.pyi +4 -5
  368. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  369. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  370. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  371. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  372. homeassistant-stubs/components/tts/__init__.pyi +2 -3
  373. homeassistant-stubs/components/unifi/light.pyi +44 -0
  374. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  375. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  376. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  377. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  378. homeassistant-stubs/components/usb/__init__.pyi +2 -0
  379. homeassistant-stubs/components/usb/utils.pyi +7 -0
  380. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  381. homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
  382. homeassistant-stubs/components/vivotek/camera.pyi +35 -0
  383. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  384. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  385. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  386. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  387. homeassistant-stubs/components/volvo/__init__.pyi +2 -0
  388. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  389. homeassistant-stubs/components/volvo/button.pyi +27 -0
  390. homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
  391. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  392. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  393. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  394. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  395. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  396. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  397. homeassistant-stubs/components/waqi/const.pyi +1 -1
  398. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  399. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  400. homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
  401. homeassistant-stubs/components/wled/select.pyi +6 -3
  402. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  403. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  404. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  405. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  406. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  407. homeassistant-stubs/components/zone/condition.pyi +10 -4
  408. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
  409. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  410. homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
  411. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
  412. homeassistant-stubs/config_entries.pyi +9 -0
  413. homeassistant-stubs/const.pyi +4 -21
  414. homeassistant-stubs/core.pyi +1 -7
  415. homeassistant-stubs/data_entry_flow.pyi +2 -0
  416. homeassistant-stubs/helpers/automation.pyi +6 -0
  417. homeassistant-stubs/helpers/condition.pyi +15 -5
  418. homeassistant-stubs/helpers/debounce.pyi +6 -1
  419. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  420. homeassistant-stubs/helpers/event.pyi +1 -1
  421. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  422. homeassistant-stubs/helpers/llm.pyi +6 -1
  423. homeassistant-stubs/helpers/selector.pyi +5 -4
  424. homeassistant-stubs/helpers/service.pyi +4 -4
  425. homeassistant-stubs/helpers/template/__init__.pyi +0 -5
  426. homeassistant-stubs/helpers/trigger.pyi +18 -5
  427. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  428. homeassistant-stubs/runner.pyi +1 -1
  429. homeassistant-stubs/util/async_iterator.pyi +33 -0
  430. homeassistant-stubs/util/unit_conversion.pyi +15 -0
  431. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b1.dist-info}/METADATA +2 -2
  432. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b1.dist-info}/RECORD +434 -398
  433. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  434. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  435. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  436. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  437. homeassistant-stubs/components/neato/__init__.pyi +0 -15
  438. homeassistant-stubs/components/neato/api.pyi +0 -17
  439. homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
  440. homeassistant-stubs/components/neato/button.pyi +0 -18
  441. homeassistant-stubs/components/neato/camera.pyi +0 -34
  442. homeassistant-stubs/components/neato/config_flow.pyi +0 -15
  443. homeassistant-stubs/components/neato/const.pyi +0 -13
  444. homeassistant-stubs/components/neato/entity.pyi +0 -11
  445. homeassistant-stubs/components/neato/hub.pyi +0 -17
  446. homeassistant-stubs/components/neato/sensor.pyi +0 -30
  447. homeassistant-stubs/components/neato/switch.pyi +0 -34
  448. homeassistant-stubs/components/neato/vacuum.pyi +0 -70
  449. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  450. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  451. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  452. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  453. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b1.dist-info}/WHEEL +0 -0
  454. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,27 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import VolvoConfigEntry as VolvoConfigEntry
3
+ from .entity import VolvoBaseEntity as VolvoBaseEntity, VolvoEntityDescription as VolvoEntityDescription
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+
11
+ PARALLEL_UPDATES: int
12
+ _LOGGER: Incomplete
13
+
14
+ @dataclass(frozen=True, kw_only=True)
15
+ class VolvoButtonDescription(VolvoEntityDescription, ButtonEntityDescription):
16
+ api_command: str
17
+ required_command_key: str
18
+ data: dict[str, int] | None = ...
19
+
20
+ _DESCRIPTIONS: tuple[VolvoButtonDescription, ...]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: VolvoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class VolvoButton(VolvoBaseEntity, ButtonEntity):
25
+ entity_description: VolvoButtonDescription
26
+ async def async_press(self) -> None: ...
27
+ def _raise(self, command: str, *, status: str = '', message: str = '', exception: Exception | None = None) -> None: ...
@@ -7,9 +7,9 @@ from dataclasses import dataclass
7
7
  from datetime import timedelta
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
12
- from typing import Any, Generic, TypeVar
12
+ from typing import Any
13
13
  from volvocarsapi.api import VolvoCarsApi as VolvoCarsApi
14
14
  from volvocarsapi.models import VolvoCarsApiBaseModel, VolvoCarsValueStatusField, VolvoCarsVehicle as VolvoCarsVehicle
15
15
 
@@ -23,46 +23,44 @@ _LOGGER: Incomplete
23
23
  class VolvoContext:
24
24
  api: VolvoCarsApi
25
25
  vehicle: VolvoCarsVehicle
26
+ supported_commands: list[str]
26
27
 
27
28
  @dataclass
28
29
  class VolvoRuntimeData:
29
- interval_coordinators: tuple[VolvoBaseIntervalCoordinator, ...]
30
+ interval_coordinators: tuple[VolvoBaseCoordinator, ...]
31
+ context: VolvoContext
30
32
  type VolvoConfigEntry = ConfigEntry[VolvoRuntimeData]
31
33
  type CoordinatorData = dict[str, VolvoCarsApiBaseModel | None]
32
34
 
33
35
  def _is_invalid_api_field(field: VolvoCarsApiBaseModel | None) -> bool: ...
34
- T = TypeVar('T', bound=dict, default=dict[str, Any])
35
36
 
36
- class VolvoBaseCoordinator(DataUpdateCoordinator[T], Generic[T]):
37
+ class VolvoBaseCoordinator(DataUpdateCoordinator[CoordinatorData], metaclass=abc.ABCMeta):
37
38
  config_entry: VolvoConfigEntry
38
- context: Incomplete
39
- def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext, update_interval: timedelta | None, name: str) -> None: ...
40
- def get_api_field(self, api_field: str | None) -> VolvoCarsApiBaseModel | None: ...
41
-
42
- class VolvoBaseIntervalCoordinator(VolvoBaseCoordinator[CoordinatorData], metaclass=abc.ABCMeta):
43
39
  _api_calls: list[Callable[[], Coroutine[Any, Any, Any]]]
40
+ context: Incomplete
44
41
  def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext, update_interval: timedelta, name: str) -> None: ...
45
42
  update_interval: Incomplete
46
43
  async def _async_setup(self) -> None: ...
47
44
  async def _async_update_data(self) -> CoordinatorData: ...
45
+ def get_api_field(self, api_field: str | None) -> VolvoCarsApiBaseModel | None: ...
48
46
  @abstractmethod
49
47
  async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
50
48
 
51
- class VolvoVerySlowIntervalCoordinator(VolvoBaseIntervalCoordinator):
49
+ class VolvoVerySlowIntervalCoordinator(VolvoBaseCoordinator):
52
50
  def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext) -> None: ...
53
51
  async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
54
52
  async def _async_update_data(self) -> CoordinatorData: ...
55
53
 
56
- class VolvoSlowIntervalCoordinator(VolvoBaseIntervalCoordinator):
54
+ class VolvoSlowIntervalCoordinator(VolvoBaseCoordinator):
57
55
  def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext) -> None: ...
58
56
  async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
59
57
 
60
- class VolvoMediumIntervalCoordinator(VolvoBaseIntervalCoordinator):
58
+ class VolvoMediumIntervalCoordinator(VolvoBaseCoordinator):
61
59
  _supported_capabilities: list[str]
62
60
  def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext) -> None: ...
63
61
  async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
64
62
  async def _async_get_energy_state(self) -> dict[str, VolvoCarsValueStatusField | None]: ...
65
63
 
66
- class VolvoFastIntervalCoordinator(VolvoBaseIntervalCoordinator):
64
+ class VolvoFastIntervalCoordinator(VolvoBaseCoordinator):
67
65
  def __init__(self, hass: HomeAssistant, entry: VolvoConfigEntry, context: VolvoContext) -> None: ...
68
66
  async def _async_determine_api_calls(self) -> list[Callable[[], Coroutine[Any, Any, Any]]]: ...
@@ -0,0 +1,23 @@
1
+ from .coordinator import VolvoConfigEntry as VolvoConfigEntry
2
+ from .entity import VolvoEntity as VolvoEntity, VolvoEntityDescription as VolvoEntityDescription
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.components.device_tracker import TrackerEntity as TrackerEntity, TrackerEntityDescription as TrackerEntityDescription
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel
9
+
10
+ PARALLEL_UPDATES: int
11
+
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class VolvoTrackerDescription(VolvoEntityDescription, TrackerEntityDescription): ...
14
+
15
+ _DESCRIPTIONS: tuple[VolvoTrackerDescription, ...]
16
+
17
+ async def async_setup_entry(_: HomeAssistant, entry: VolvoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+
19
+ class VolvoDeviceTracker(VolvoEntity, TrackerEntity):
20
+ entity_description: VolvoTrackerDescription
21
+ _attr_longitude: Incomplete
22
+ _attr_latitude: Incomplete
23
+ def _update_state(self, api_field: VolvoCarsApiBaseModel | None) -> None: ...
@@ -0,0 +1,12 @@
1
+ from .const import CONF_VIN as CONF_VIN
2
+ from .coordinator import VolvoConfigEntry as VolvoConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_API_KEY as CONF_API_KEY
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.redact import async_redact_data as async_redact_data
7
+ from typing import Any
8
+
9
+ _TO_REDACT_ENTRY: Incomplete
10
+ _TO_REDACT_DATA: Incomplete
11
+
12
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: VolvoConfigEntry) -> dict[str, Any]: ...
@@ -1,13 +1,13 @@
1
1
  import abc
2
- from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
3
- from .coordinator import VolvoBaseCoordinator as VolvoBaseCoordinator
2
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER
3
+ from .coordinator import VolvoBaseCoordinator as VolvoBaseCoordinator, VolvoConfigEntry as VolvoConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from abc import abstractmethod
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
- from homeassistant.helpers.entity import EntityDescription as EntityDescription
10
+ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
11
11
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
12
  from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel
13
13
 
@@ -16,14 +16,18 @@ def value_to_translation_key(value: str) -> str: ...
16
16
 
17
17
  @dataclass(frozen=True, kw_only=True)
18
18
  class VolvoEntityDescription(EntityDescription):
19
- api_field: str
19
+ api_field: str | None = ...
20
20
 
21
- class VolvoEntity(CoordinatorEntity[VolvoBaseCoordinator], metaclass=abc.ABCMeta):
21
+ class VolvoBaseEntity(Entity):
22
22
  _attr_has_entity_name: bool
23
23
  entity_description: VolvoEntityDescription
24
+ entry: Incomplete
24
25
  _attr_translation_key: Incomplete
25
26
  _attr_unique_id: Incomplete
26
27
  _attr_device_info: Incomplete
28
+ def __init__(self, entry: VolvoConfigEntry, description: VolvoEntityDescription) -> None: ...
29
+
30
+ class VolvoEntity(CoordinatorEntity[VolvoBaseCoordinator], VolvoBaseEntity, metaclass=abc.ABCMeta):
27
31
  def __init__(self, coordinator: VolvoBaseCoordinator, description: VolvoEntityDescription) -> None: ...
28
32
  @callback
29
33
  def _handle_coordinator_update(self) -> None: ...
@@ -5,23 +5,24 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfLength as UnitOfLength, UnitOfPower as UnitOfPower, UnitOfSpeed as UnitOfSpeed, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
8
+ from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfLength as UnitOfLength, UnitOfPower as UnitOfPower, UnitOfSpeed as UnitOfSpeed, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
- from typing import Any
12
- from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel, VolvoCarsValue
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+ from volvocarsapi.models import VolvoCarsApiBaseModel as VolvoCarsApiBaseModel
13
13
 
14
14
  PARALLEL_UPDATES: int
15
15
  _LOGGER: Incomplete
16
16
 
17
17
  @dataclass(frozen=True, kw_only=True)
18
18
  class VolvoSensorDescription(VolvoEntityDescription, SensorEntityDescription):
19
- value_fn: Callable[[VolvoCarsValue], Any] | None = ...
19
+ value_fn: Callable[[VolvoCarsApiBaseModel], StateType] | None = ...
20
20
 
21
- def _availability_status(field: VolvoCarsValue) -> str: ...
22
- def _calculate_time_to_service(field: VolvoCarsValue) -> int: ...
23
- def _charging_power_value(field: VolvoCarsValue) -> int: ...
24
- def _charging_power_status_value(field: VolvoCarsValue) -> str | None: ...
21
+ def _availability_status(field: VolvoCarsApiBaseModel) -> str: ...
22
+ def _calculate_time_to_service(field: VolvoCarsApiBaseModel) -> int: ...
23
+ def _charging_power_value(field: VolvoCarsApiBaseModel) -> int: ...
24
+ def _charging_power_status_value(field: VolvoCarsApiBaseModel) -> str | None: ...
25
+ def _direction_value(field: VolvoCarsApiBaseModel) -> str | None: ...
25
26
 
26
27
  _CHARGING_POWER_STATUS_OPTIONS: Incomplete
27
28
  _DESCRIPTIONS: tuple[VolvoSensorDescription, ...]
@@ -1,9 +1,17 @@
1
+ from .const import CONF_STATION_NUMBER as CONF_STATION_NUMBER, DOMAIN as DOMAIN, SUBENTRY_TYPE_STATION as SUBENTRY_TYPE_STATION
1
2
  from .coordinator import WAQIConfigEntry as WAQIConfigEntry, WAQIDataUpdateCoordinator as WAQIDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
2
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
3
6
  from homeassistant.core import HomeAssistant as HomeAssistant
4
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
5
9
 
10
+ CONFIG_SCHEMA: Incomplete
6
11
  PLATFORMS: list[Platform]
7
12
 
13
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
8
14
  async def async_setup_entry(hass: HomeAssistant, entry: WAQIConfigEntry) -> bool: ...
15
+ async def async_update_entry(hass: HomeAssistant, entry: WAQIConfigEntry) -> None: ...
9
16
  async def async_unload_entry(hass: HomeAssistant, entry: WAQIConfigEntry) -> bool: ...
17
+ async def async_migrate_integration(hass: HomeAssistant) -> None: ...
@@ -1,10 +1,11 @@
1
- from .const import CONF_STATION_NUMBER as CONF_STATION_NUMBER, DOMAIN as DOMAIN
1
+ from .const import CONF_STATION_NUMBER as CONF_STATION_NUMBER, DOMAIN as DOMAIN, SUBENTRY_TYPE_STATION as SUBENTRY_TYPE_STATION
2
2
  from _typeshed import Incomplete
3
3
  from aiowaqi import WAQIAirQuality as WAQIAirQuality, WAQIClient
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_METHOD as CONF_METHOD
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
5
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE
6
+ from homeassistant.core import callback as callback
6
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
- from homeassistant.helpers.selector import LocationSelector as LocationSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
8
+ from homeassistant.helpers.selector import LocationSelector as LocationSelector
8
9
  from typing import Any
9
10
 
10
11
  _LOGGER: Incomplete
@@ -14,9 +15,13 @@ async def get_by_station_number(client: WAQIClient, station_number: int) -> tupl
14
15
 
15
16
  class WAQIConfigFlow(ConfigFlow, domain=DOMAIN):
16
17
  VERSION: int
17
- data: dict[str, Any]
18
- def __init__(self) -> None: ...
18
+ @classmethod
19
+ @callback
20
+ def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
19
21
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
- async def async_step_map(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
- async def async_step_station_number(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
- async def _async_create_entry(self, measuring_station: WAQIAirQuality) -> ConfigFlowResult: ...
22
+
23
+ class StationFlowHandler(ConfigSubentryFlow):
24
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
25
+ async def async_step_map(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
26
+ async def async_step_station_number(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
27
+ async def _async_create_entry(self, measuring_station: WAQIAirQuality) -> SubentryFlowResult: ...
@@ -3,4 +3,4 @@ from _typeshed import Incomplete
3
3
  DOMAIN: str
4
4
  LOGGER: Incomplete
5
5
  CONF_STATION_NUMBER: str
6
- ISSUE_PLACEHOLDER: Incomplete
6
+ SUBENTRY_TYPE_STATION: str
@@ -1,13 +1,14 @@
1
- from .const import CONF_STATION_NUMBER as CONF_STATION_NUMBER, DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import CONF_STATION_NUMBER as CONF_STATION_NUMBER, LOGGER as LOGGER
2
2
  from _typeshed import Incomplete
3
3
  from aiowaqi import WAQIAirQuality, WAQIClient as WAQIClient
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
7
 
8
- type WAQIConfigEntry = ConfigEntry[WAQIDataUpdateCoordinator]
8
+ type WAQIConfigEntry = ConfigEntry[dict[str, WAQIDataUpdateCoordinator]]
9
9
  class WAQIDataUpdateCoordinator(DataUpdateCoordinator[WAQIAirQuality]):
10
10
  config_entry: WAQIConfigEntry
11
11
  _client: Incomplete
12
- def __init__(self, hass: HomeAssistant, config_entry: WAQIConfigEntry, client: WAQIClient) -> None: ...
12
+ subentry: Incomplete
13
+ def __init__(self, hass: HomeAssistant, config_entry: WAQIConfigEntry, subentry: ConfigSubentry, client: WAQIClient) -> None: ...
13
14
  async def _async_update_data(self) -> WAQIAirQuality: ...
@@ -40,6 +40,7 @@ class LgWebOSMediaPlayerEntity(RestoreEntity, MediaPlayerEntity):
40
40
  _entry: Incomplete
41
41
  _client: Incomplete
42
42
  _attr_assumed_state: bool
43
+ _unavailable_logged: bool
43
44
  _device_name: Incomplete
44
45
  _attr_unique_id: Incomplete
45
46
  _sources: Incomplete
@@ -64,6 +65,8 @@ class LgWebOSMediaPlayerEntity(RestoreEntity, MediaPlayerEntity):
64
65
  _attr_extra_state_attributes: Incomplete
65
66
  def _update_states(self) -> None: ...
66
67
  def _update_sources(self) -> None: ...
68
+ _attr_available: Incomplete
69
+ def _set_availability(self, available: bool) -> None: ...
67
70
  async def async_update(self) -> None: ...
68
71
  @property
69
72
  def supported_features(self) -> MediaPlayerEntityFeature: ...
@@ -76,6 +76,8 @@ async def handle_render_template(hass: HomeAssistant, connection: ActiveConnecti
76
76
  def _serialize_entity_sources(entity_infos: dict[str, entity.EntityInfo]) -> dict[str, Any]: ...
77
77
  @callback
78
78
  def handle_entity_source(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
79
+ @callback
80
+ def handle_extract_from_target(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
79
81
  @decorators.require_admin
80
82
  @decorators.async_response
81
83
  async def handle_subscribe_trigger(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -26,24 +26,26 @@ class WLEDLiveOverrideSelect(WLEDEntity, SelectEntity):
26
26
  class WLEDPresetSelect(WLEDEntity, SelectEntity):
27
27
  _attr_translation_key: str
28
28
  _attr_unique_id: Incomplete
29
- _attr_options: Incomplete
30
29
  def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: ...
31
30
  @property
32
31
  def available(self) -> bool: ...
33
32
  @property
34
33
  def current_option(self) -> str | None: ...
34
+ @property
35
+ def options(self) -> list[str]: ...
35
36
  @wled_exception_handler
36
37
  async def async_select_option(self, option: str) -> None: ...
37
38
 
38
39
  class WLEDPlaylistSelect(WLEDEntity, SelectEntity):
39
40
  _attr_translation_key: str
40
41
  _attr_unique_id: Incomplete
41
- _attr_options: Incomplete
42
42
  def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: ...
43
43
  @property
44
44
  def available(self) -> bool: ...
45
45
  @property
46
46
  def current_option(self) -> str | None: ...
47
+ @property
48
+ def options(self) -> list[str]: ...
47
49
  @wled_exception_handler
48
50
  async def async_select_option(self, option: str) -> None: ...
49
51
 
@@ -53,12 +55,13 @@ class WLEDPaletteSelect(WLEDEntity, SelectEntity):
53
55
  _segment: int
54
56
  _attr_translation_placeholders: Incomplete
55
57
  _attr_unique_id: Incomplete
56
- _attr_options: Incomplete
57
58
  def __init__(self, coordinator: WLEDDataUpdateCoordinator, segment: int) -> None: ...
58
59
  @property
59
60
  def available(self) -> bool: ...
60
61
  @property
61
62
  def current_option(self) -> str | None: ...
63
+ @property
64
+ def options(self) -> list[str]: ...
62
65
  @wled_exception_handler
63
66
  async def async_select_option(self, option: str) -> None: ...
64
67
 
@@ -4,4 +4,3 @@ from homeassistant.core import HomeAssistant as HomeAssistant
4
4
 
5
5
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
6
6
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
7
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -19,4 +19,5 @@ OPTIONS_FLOW: Incomplete
19
19
  class WorldclockConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
20
20
  config_flow = CONFIG_FLOW
21
21
  options_flow = OPTIONS_FLOW
22
+ options_flow_reloads: bool
22
23
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -14,6 +14,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
14
14
  from homeassistant.loader import async_get_homekit as async_get_homekit, async_get_zeroconf as async_get_zeroconf, bind_hass as bind_hass
15
15
  from homeassistant.setup import async_when_setup_or_start as async_when_setup_or_start
16
16
  from typing import Any
17
+ from zeroconf.asyncio import AsyncServiceInfo
17
18
 
18
19
  _LOGGER: Incomplete
19
20
  CONF_DEFAULT_INTERFACE: str
@@ -38,9 +39,10 @@ def _async_zc_has_functional_dual_stack() -> bool: ...
38
39
  def _async_get_zc_args(hass: HomeAssistant) -> dict[str, Any]: ...
39
40
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
40
41
  def _filter_disallowed_characters(name: str) -> str: ...
41
- async def _async_register_hass_zc_service(hass: HomeAssistant, aio_zc: HaAsyncZeroconf, uuid: str) -> None: ...
42
+ async def _async_register_hass_zc_service(aio_zc: HaAsyncZeroconf, local_service_info: AsyncServiceInfo) -> None: ...
42
43
  def _suppress_invalid_properties(properties: dict) -> None: ...
43
44
  def _truncate_location_name_to_valid(location_name: str) -> str: ...
45
+ async def _async_get_local_service_info(hass: HomeAssistant) -> AsyncServiceInfo: ...
44
46
 
45
47
  __getattr__: Incomplete
46
48
  __dir__: Incomplete
@@ -11,6 +11,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_d
11
11
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as _ZeroconfServiceInfo
12
12
  from homeassistant.loader import HomeKitDiscoveredIntegration as HomeKitDiscoveredIntegration, ZeroconfMatcher as ZeroconfMatcher
13
13
  from homeassistant.util.hass_dict import HassKey as HassKey
14
+ from ipaddress import IPv4Address, IPv6Address
14
15
  from typing import Any, Final
15
16
  from zeroconf import ServiceStateChange
16
17
  from zeroconf.asyncio import AsyncServiceBrowser, AsyncServiceInfo
@@ -25,6 +26,7 @@ HOMEKIT_MODEL_UPPER: str
25
26
  ATTR_DOMAIN: Final[str]
26
27
  ATTR_NAME: Final[str]
27
28
  ATTR_PROPERTIES: Final[str]
29
+ DUPLICATE_INSTANCE_ID_ISSUE_ID: str
28
30
  DATA_DISCOVERY: HassKey[ZeroconfDiscovery]
29
31
 
30
32
  def build_homekit_model_lookups(homekit_models: dict[str, HomeKitDiscoveredIntegration]) -> tuple[dict[str, HomeKitDiscoveredIntegration], dict[re.Pattern, HomeKitDiscoveredIntegration]]: ...
@@ -44,7 +46,10 @@ class ZeroconfDiscovery:
44
46
  async_service_browser: AsyncServiceBrowser | None
45
47
  _service_update_listeners: set[Callable[[AsyncServiceInfo], None]]
46
48
  _service_removed_listeners: set[Callable[[str], None]]
47
- def __init__(self, hass: HomeAssistant, zeroconf: HaZeroconf, zeroconf_types: dict[str, list[ZeroconfMatcher]], homekit_model_lookups: dict[str, HomeKitDiscoveredIntegration], homekit_model_matchers: dict[re.Pattern, HomeKitDiscoveredIntegration]) -> None: ...
49
+ _conflicting_instances: set[str]
50
+ _local_service_info: Incomplete
51
+ _local_ips: set[IPv4Address | IPv6Address]
52
+ def __init__(self, hass: HomeAssistant, zeroconf: HaZeroconf, zeroconf_types: dict[str, list[ZeroconfMatcher]], homekit_model_lookups: dict[str, HomeKitDiscoveredIntegration], homekit_model_matchers: dict[re.Pattern, HomeKitDiscoveredIntegration], local_service_info: AsyncServiceInfo) -> None: ...
48
53
  @callback
49
54
  def async_register_service_update_listener(self, listener: Callable[[AsyncServiceInfo], None]) -> Callable[[], None]: ...
50
55
  @callback
@@ -61,3 +66,5 @@ class ZeroconfDiscovery:
61
66
  async def _async_lookup_and_process_service_update(self, zeroconf: HaZeroconf, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
62
67
  @callback
63
68
  def _async_process_service_update(self, async_service_info: AsyncServiceInfo, service_type: str, name: str) -> None: ...
69
+ @callback
70
+ def _async_check_instance_id_conflict(self, discovered_instance_id: str, info: _ZeroconfServiceInfo) -> None: ...
@@ -0,0 +1,13 @@
1
+ from homeassistant import data_entry_flow as data_entry_flow
2
+ from homeassistant.components.homeassistant import SERVICE_HOMEASSISTANT_RESTART as SERVICE_HOMEASSISTANT_RESTART
3
+ from homeassistant.components.repairs import RepairsFlow as RepairsFlow
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
+ from homeassistant.helpers import instance_id as instance_id
6
+
7
+ class DuplicateInstanceIDRepairFlow(RepairsFlow):
8
+ @callback
9
+ def _async_get_placeholders(self) -> dict[str, str]: ...
10
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
11
+ async def async_step_confirm_recreate(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
12
+
13
+ async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -1,20 +1,26 @@
1
+ import voluptuous as vol
1
2
  from . import in_zone as in_zone
2
3
  from _typeshed import Incomplete
3
- from homeassistant.const import ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_CONDITION as CONF_CONDITION, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ZONE as CONF_ZONE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
4
+ from homeassistant.const import ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS, CONF_ZONE as CONF_ZONE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State
5
6
  from homeassistant.exceptions import ConditionErrorContainer as ConditionErrorContainer, ConditionErrorMessage as ConditionErrorMessage
6
- from homeassistant.helpers.condition import Condition as Condition, ConditionCheckerType as ConditionCheckerType, trace_condition_function as trace_condition_function
7
+ from homeassistant.helpers.automation import move_top_level_schema_fields_to_options as move_top_level_schema_fields_to_options
8
+ from homeassistant.helpers.condition import Condition as Condition, ConditionCheckerType as ConditionCheckerType, ConditionConfig as ConditionConfig, trace_condition_function as trace_condition_function
7
9
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
10
+ from typing import Any
8
11
 
12
+ _OPTIONS_SCHEMA_DICT: dict[vol.Marker, Any]
9
13
  _CONDITION_SCHEMA: Incomplete
10
14
 
11
15
  def zone(hass: HomeAssistant, zone_ent: str | State | None, entity: str | State | None) -> bool: ...
12
16
 
13
17
  class ZoneCondition(Condition):
14
- _config: Incomplete
15
- def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
18
+ _options: dict[str, Any]
19
+ @classmethod
20
+ async def async_validate_complete_config(cls, hass: HomeAssistant, complete_config: ConfigType) -> ConfigType: ...
16
21
  @classmethod
17
22
  async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
23
+ def __init__(self, hass: HomeAssistant, config: ConditionConfig) -> None: ...
18
24
  async def async_get_checker(self) -> ConditionCheckerType: ...
19
25
 
20
26
  CONDITIONS: dict[str, type[Condition]]
@@ -39,6 +39,7 @@ NETWORK_TYPE_EXISTING: str
39
39
  ZWAVE_JS_SERVER_INSTRUCTIONS: str
40
40
  ZWAVE_JS_UI_MIGRATION_INSTRUCTIONS: str
41
41
  RF_REGIONS: Incomplete
42
+ IGNORED_USB_DEVICES: Incomplete
42
43
 
43
44
  def get_manual_schema(user_input: dict[str, Any]) -> vol.Schema: ...
44
45
  def get_on_supervisor_schema(user_input: dict[str, Any]) -> vol.Schema: ...
@@ -8,7 +8,7 @@ from _typeshed import Incomplete
8
8
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA, InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
9
9
  from homeassistant.components.homeassistant.triggers import event as event, state as state
10
10
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
11
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
11
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -3,11 +3,12 @@ from ..helpers import async_get_nodes_from_targets as async_get_nodes_from_targe
3
3
  from .trigger_helpers import async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
- from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS, CONF_PLATFORM as CONF_PLATFORM
7
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS
7
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers import device_registry as dr
9
+ from homeassistant.helpers.automation import move_top_level_schema_fields_to_options as move_top_level_schema_fields_to_options
9
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
- from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionType as TriggerActionType, TriggerConfig as TriggerConfig, TriggerData as TriggerData, TriggerInfo as TriggerInfo, move_top_level_schema_fields_to_options as move_top_level_schema_fields_to_options
11
+ from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionRunner as TriggerActionRunner, TriggerConfig as TriggerConfig
11
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
13
  from typing import Any
13
14
  from zwave_js_server.model.driver import Driver as Driver
@@ -23,21 +24,18 @@ _OPTIONS_SCHEMA_DICT: Incomplete
23
24
  _CONFIG_SCHEMA: Incomplete
24
25
 
25
26
  class EventTrigger(Trigger):
26
- _hass: HomeAssistant
27
27
  _options: dict[str, Any]
28
28
  _event_source: str
29
29
  _event_name: str
30
30
  _event_data_filter: dict
31
- _job: HassJob
32
- _trigger_data: TriggerData
33
31
  _unsubs: list[Callable]
34
- _platform_type = PLATFORM_TYPE
32
+ _action_runner: TriggerActionRunner
35
33
  @classmethod
36
34
  async def async_validate_complete_config(cls, hass: HomeAssistant, complete_config: ConfigType) -> ConfigType: ...
37
35
  @classmethod
38
36
  async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
39
37
  def __init__(self, hass: HomeAssistant, config: TriggerConfig) -> None: ...
40
- async def async_attach(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
38
+ async def async_attach_runner(self, run_action: TriggerActionRunner) -> CALLBACK_TYPE: ...
41
39
  @callback
42
40
  def _async_on_event(self, event_data: dict, device: dr.DeviceEntry | None = None) -> None: ...
43
41
  @callback
@@ -4,10 +4,11 @@ from ..helpers import async_get_nodes_from_targets as async_get_nodes_from_targe
4
4
  from .trigger_helpers import async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
- from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS, CONF_PLATFORM as CONF_PLATFORM, MATCH_ALL as MATCH_ALL
8
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_OPTIONS as CONF_OPTIONS, MATCH_ALL as MATCH_ALL
8
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.automation import move_top_level_schema_fields_to_options as move_top_level_schema_fields_to_options
9
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
- from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionType as TriggerActionType, TriggerConfig as TriggerConfig, TriggerInfo as TriggerInfo, move_top_level_schema_fields_to_options as move_top_level_schema_fields_to_options
11
+ from homeassistant.helpers.trigger import Trigger as Trigger, TriggerActionRunner as TriggerActionRunner, TriggerConfig as TriggerConfig
11
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
13
  from typing import Any
13
14
  from zwave_js_server.model.driver import Driver as Driver
@@ -21,14 +22,13 @@ _OPTIONS_SCHEMA_DICT: Incomplete
21
22
  _CONFIG_SCHEMA: Incomplete
22
23
 
23
24
  async def async_validate_trigger_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
24
- async def async_attach_trigger(hass: HomeAssistant, options: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo, *, platform_type: str = ...) -> CALLBACK_TYPE: ...
25
+ async def async_attach_trigger(hass: HomeAssistant, options: ConfigType, run_action: TriggerActionRunner) -> CALLBACK_TYPE: ...
25
26
 
26
27
  class ValueUpdatedTrigger(Trigger):
27
- _hass: HomeAssistant
28
28
  _options: dict[str, Any]
29
29
  @classmethod
30
30
  async def async_validate_complete_config(cls, hass: HomeAssistant, complete_config: ConfigType) -> ConfigType: ...
31
31
  @classmethod
32
32
  async def async_validate_config(cls, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
33
33
  def __init__(self, hass: HomeAssistant, config: TriggerConfig) -> None: ...
34
- async def async_attach(self, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
34
+ async def async_attach_runner(self, run_action: TriggerActionRunner) -> CALLBACK_TYPE: ...
@@ -391,6 +391,8 @@ class ConfigFlow(ConfigEntryBaseFlow):
391
391
  @callback
392
392
  def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
393
393
  @callback
394
+ def async_update_title_placeholders(self, title_placeholders: Mapping[str, str]) -> None: ...
395
+ @callback
394
396
  def _async_abort_entries_match(self, match_dict: dict[str, Any] | None = None) -> None: ...
395
397
  @callback
396
398
  def _abort_if_unique_id_mismatch(self, *, reason: str = 'unique_id_mismatch', description_placeholders: Mapping[str, str] | None = None) -> None: ...
@@ -419,9 +421,16 @@ class ConfigFlow(ConfigEntryBaseFlow):
419
421
  async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
420
422
  async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
421
423
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
424
+ def _async_set_next_flow_if_valid(self, result: ConfigFlowResult, next_flow: tuple[FlowType, str] | None) -> None: ...
425
+ @callback
426
+ def async_abort(self, *, reason: str, description_placeholders: Mapping[str, str] | None = None, next_flow: tuple[FlowType, str] | None = None) -> ConfigFlowResult: ...
422
427
  @callback
423
428
  def async_create_entry(self, *, title: str, data: Mapping[str, Any], description: str | None = None, description_placeholders: Mapping[str, str] | None = None, next_flow: tuple[FlowType, str] | None = None, options: Mapping[str, Any] | None = None, subentries: Iterable[ConfigSubentryData] | None = None) -> ConfigFlowResult: ...
424
429
  @callback
430
+ def __async_update(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType, title: str | UndefinedType, data: Mapping[str, Any] | UndefinedType, data_updates: Mapping[str, Any] | UndefinedType, options: Mapping[str, Any] | UndefinedType) -> bool: ...
431
+ @callback
432
+ def async_update_and_abort(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., data_updates: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., reason: str | UndefinedType = ...) -> ConfigFlowResult: ...
433
+ @callback
425
434
  def async_update_reload_and_abort(self, entry: ConfigEntry, *, unique_id: str | None | UndefinedType = ..., title: str | UndefinedType = ..., data: Mapping[str, Any] | UndefinedType = ..., data_updates: Mapping[str, Any] | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., reason: str | UndefinedType = ..., reload_even_if_entry_is_unchanged: bool = True) -> ConfigFlowResult: ...
426
435
  @callback
427
436
  def async_show_form(self, *, step_id: str | None = None, data_schema: vol.Schema | None = None, errors: dict[str, str] | None = None, description_placeholders: Mapping[str, str] | None = None, last_step: bool | None = None, preview: str | None = None) -> ConfigFlowResult: ...