homeassistant-stubs 2024.8.2__py3-none-any.whl → 2024.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. homeassistant-stubs/components/acer_projector/switch.pyi +1 -1
  2. homeassistant-stubs/components/airgradient/update.pyi +23 -0
  3. homeassistant-stubs/components/airvisual/__init__.pyi +0 -1
  4. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
  5. homeassistant-stubs/components/airzone/select.pyi +9 -1
  6. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -0
  7. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -0
  8. homeassistant-stubs/components/amazon_polly/const.pyi +5 -8
  9. homeassistant-stubs/components/amazon_polly/tts.pyi +2 -1
  10. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -2
  11. homeassistant-stubs/components/ambient_station/config_flow.pyi +2 -1
  12. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +0 -2
  13. homeassistant-stubs/components/apcupsd/__init__.pyi +0 -1
  14. homeassistant-stubs/components/apcupsd/const.pyi +1 -1
  15. homeassistant-stubs/components/apcupsd/sensor.pyi +2 -2
  16. homeassistant-stubs/components/apsystems/binary_sensor.pyi +28 -0
  17. homeassistant-stubs/components/apsystems/coordinator.pyi +12 -4
  18. homeassistant-stubs/components/apsystems/number.pyi +1 -1
  19. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -2
  20. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -2
  21. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +4 -1
  22. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  23. homeassistant-stubs/components/assist_pipeline/vad.pyi +5 -4
  24. homeassistant-stubs/components/bang_olufsen/const.pyi +11 -11
  25. homeassistant-stubs/components/bang_olufsen/media_player.pyi +1 -0
  26. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -1
  27. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
  28. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +0 -1
  29. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  30. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  31. homeassistant-stubs/components/canary/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  33. homeassistant-stubs/components/command_line/notify.pyi +1 -1
  34. homeassistant-stubs/components/deconz/select.pyi +12 -0
  35. homeassistant-stubs/components/demo/alarm_control_panel.pyi +0 -3
  36. homeassistant-stubs/components/demo/config_flow.pyi +1 -1
  37. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  38. homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
  39. homeassistant-stubs/components/downloader/config_flow.pyi +1 -1
  40. homeassistant-stubs/components/ecovacs/__init__.pyi +2 -6
  41. homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -5
  42. homeassistant-stubs/components/elkm1/config_flow.pyi +1 -1
  43. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -1
  44. homeassistant-stubs/components/esphome/climate.pyi +1 -1
  45. homeassistant-stubs/components/esphome/entity.pyi +4 -4
  46. homeassistant-stubs/components/esphome/entry_data.pyi +2 -1
  47. homeassistant-stubs/components/esphome/manager.pyi +1 -0
  48. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  49. homeassistant-stubs/components/esphome/number.pyi +1 -1
  50. homeassistant-stubs/components/esphome/sensor.pyi +1 -1
  51. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -1
  52. homeassistant-stubs/components/filesize/coordinator.pyi +1 -0
  53. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -1
  54. homeassistant-stubs/components/fritzbox/light.pyi +4 -7
  55. homeassistant-stubs/components/fronius/sensor.pyi +1 -1
  56. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +12 -0
  57. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +53 -0
  58. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +18 -0
  59. homeassistant-stubs/components/fujitsu_fglair/const.pyi +7 -0
  60. homeassistant-stubs/components/fujitsu_fglair/coordinator.pyi +15 -0
  61. homeassistant-stubs/components/fyta/__init__.pyi +15 -0
  62. homeassistant-stubs/components/fyta/config_flow.pyi +22 -0
  63. homeassistant-stubs/components/fyta/const.pyi +2 -0
  64. homeassistant-stubs/components/fyta/coordinator.pyi +18 -0
  65. homeassistant-stubs/components/fyta/diagnostics.pyi +10 -0
  66. homeassistant-stubs/components/fyta/entity.pyi +20 -0
  67. homeassistant-stubs/components/fyta/sensor.pyi +29 -0
  68. homeassistant-stubs/components/glances/__init__.pyi +0 -1
  69. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  70. homeassistant-stubs/components/gpsd/config_flow.pyi +0 -1
  71. homeassistant-stubs/components/gpsd/sensor.pyi +6 -9
  72. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +7 -2
  73. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +31 -9
  74. homeassistant-stubs/components/homeassistant_yellow/const.pyi +2 -0
  75. homeassistant-stubs/components/homekit/config_flow.pyi +1 -1
  76. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  77. homeassistant-stubs/components/husqvarna_automower/button.pyi +0 -1
  78. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -1
  79. homeassistant-stubs/components/intent_script/__init__.pyi +1 -0
  80. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +0 -2
  81. homeassistant-stubs/components/isy994/const.pyi +1 -1
  82. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  83. homeassistant-stubs/components/jvc_projector/__init__.pyi +3 -3
  84. homeassistant-stubs/components/jvc_projector/binary_sensor.pyi +2 -4
  85. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -1
  86. homeassistant-stubs/components/jvc_projector/remote.pyi +2 -3
  87. homeassistant-stubs/components/jvc_projector/select.pyi +2 -4
  88. homeassistant-stubs/components/jvc_projector/sensor.pyi +2 -4
  89. homeassistant-stubs/components/knx/climate.pyi +4 -5
  90. homeassistant-stubs/components/knx/const.pyi +1 -2
  91. homeassistant-stubs/components/knx/project.pyi +2 -1
  92. homeassistant-stubs/components/knx/websocket.pyi +20 -12
  93. homeassistant-stubs/components/lawn_mower/const.pyi +1 -0
  94. homeassistant-stubs/components/lcn/__init__.pyi +2 -1
  95. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
  96. homeassistant-stubs/components/lcn/climate.pyi +3 -2
  97. homeassistant-stubs/components/lcn/config_flow.pyi +16 -7
  98. homeassistant-stubs/components/lcn/const.pyi +1 -0
  99. homeassistant-stubs/components/lcn/cover.pyi +3 -2
  100. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  101. homeassistant-stubs/components/lcn/light.pyi +3 -2
  102. homeassistant-stubs/components/lcn/scene.pyi +3 -2
  103. homeassistant-stubs/components/lcn/schemas.pyi +1 -0
  104. homeassistant-stubs/components/lcn/sensor.pyi +3 -2
  105. homeassistant-stubs/components/lcn/switch.pyi +3 -2
  106. homeassistant-stubs/components/lcn/websocket.pyi +25 -0
  107. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -1
  108. homeassistant-stubs/components/linkplay/__init__.pyi +5 -1
  109. homeassistant-stubs/components/linkplay/config_flow.pyi +5 -1
  110. homeassistant-stubs/components/linkplay/const.pyi +1 -0
  111. homeassistant-stubs/components/linkplay/utils.pyi +5 -0
  112. homeassistant-stubs/components/local_ip/__init__.pyi +1 -4
  113. homeassistant-stubs/components/logbook/models.pyi +27 -17
  114. homeassistant-stubs/components/logbook/processor.pyi +7 -9
  115. homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
  116. homeassistant-stubs/components/logbook/websocket_api.pyi +3 -3
  117. homeassistant-stubs/components/luftdaten/__init__.pyi +0 -1
  118. homeassistant-stubs/components/madvr/config_flow.pyi +9 -3
  119. homeassistant-stubs/components/manual/alarm_control_panel.pyi +77 -0
  120. homeassistant-stubs/components/mastodon/__init__.pyi +19 -3
  121. homeassistant-stubs/components/mastodon/config_flow.pyi +3 -2
  122. homeassistant-stubs/components/mastodon/const.pyi +3 -0
  123. homeassistant-stubs/components/mastodon/coordinator.pyi +11 -0
  124. homeassistant-stubs/components/mastodon/diagnostics.pyi +6 -0
  125. homeassistant-stubs/components/mastodon/entity.pyi +15 -0
  126. homeassistant-stubs/components/mastodon/sensor.pyi +25 -0
  127. homeassistant-stubs/components/media_extractor/config_flow.pyi +1 -1
  128. homeassistant-stubs/components/mikrotik/__init__.pyi +0 -1
  129. homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  131. homeassistant-stubs/components/mqtt/addon.pyi +10 -0
  132. homeassistant-stubs/components/mqtt/client.pyi +1 -0
  133. homeassistant-stubs/components/mqtt/climate.pyi +2 -1
  134. homeassistant-stubs/components/mqtt/config_flow.pyi +20 -1
  135. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  136. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -1
  137. homeassistant-stubs/components/mqtt/event.pyi +2 -1
  138. homeassistant-stubs/components/mqtt/fan.pyi +2 -1
  139. homeassistant-stubs/components/mqtt/humidifier.pyi +2 -1
  140. homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -1
  141. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  142. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  143. homeassistant-stubs/components/mqtt/lock.pyi +2 -1
  144. homeassistant-stubs/components/mqtt/mixins.pyi +1 -1
  145. homeassistant-stubs/components/mqtt/models.pyi +5 -3
  146. homeassistant-stubs/components/mqtt/number.pyi +2 -1
  147. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  148. homeassistant-stubs/components/mqtt/select.pyi +3 -3
  149. homeassistant-stubs/components/mqtt/sensor.pyi +5 -3
  150. homeassistant-stubs/components/mqtt/siren.pyi +2 -1
  151. homeassistant-stubs/components/mqtt/tag.pyi +2 -1
  152. homeassistant-stubs/components/mqtt/text.pyi +2 -1
  153. homeassistant-stubs/components/mqtt/trigger.pyi +2 -1
  154. homeassistant-stubs/components/mqtt/vacuum.pyi +3 -5
  155. homeassistant-stubs/components/mysensors/__init__.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/gateway.pyi +2 -1
  157. homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
  158. homeassistant-stubs/components/nest/__init__.pyi +5 -2
  159. homeassistant-stubs/components/nest/event.pyi +36 -0
  160. homeassistant-stubs/components/notion/__init__.pyi +0 -1
  161. homeassistant-stubs/components/number/const.pyi +1 -1
  162. homeassistant-stubs/components/otbr/__init__.pyi +6 -5
  163. homeassistant-stubs/components/otbr/config_flow.pyi +7 -1
  164. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +8 -4
  165. homeassistant-stubs/components/otbr/util.pyi +7 -2
  166. homeassistant-stubs/components/otbr/websocket_api.pyi +1 -0
  167. homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +1 -1
  168. homeassistant-stubs/components/pi_hole/__init__.pyi +0 -1
  169. homeassistant-stubs/components/powerwall/__init__.pyi +0 -1
  170. homeassistant-stubs/components/prometheus/__init__.pyi +2 -1
  171. homeassistant-stubs/components/proximity/__init__.pyi +3 -25
  172. homeassistant-stubs/components/proximity/config_flow.pyi +0 -1
  173. homeassistant-stubs/components/proximity/coordinator.pyi +1 -3
  174. homeassistant-stubs/components/radarr/config_flow.pyi +1 -1
  175. homeassistant-stubs/components/rainmachine/__init__.pyi +0 -1
  176. homeassistant-stubs/components/recorder/core.pyi +0 -1
  177. homeassistant-stubs/components/recorder/migration.pyi +9 -4
  178. homeassistant-stubs/components/recorder/statistics.pyi +3 -3
  179. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +8 -2
  180. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  181. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  182. homeassistant-stubs/components/ring/button.pyi +1 -1
  183. homeassistant-stubs/components/ring/camera.pyi +4 -4
  184. homeassistant-stubs/components/ring/config_flow.pyi +1 -0
  185. homeassistant-stubs/components/ring/coordinator.pyi +3 -2
  186. homeassistant-stubs/components/ring/entity.pyi +3 -3
  187. homeassistant-stubs/components/ring/light.pyi +3 -3
  188. homeassistant-stubs/components/ring/siren.pyi +1 -1
  189. homeassistant-stubs/components/ring/switch.pyi +3 -3
  190. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  191. homeassistant-stubs/components/samsungtv/__init__.pyi +0 -1
  192. homeassistant-stubs/components/sensor/const.pyi +1 -1
  193. homeassistant-stubs/components/sensor/recorder.pyi +1 -0
  194. homeassistant-stubs/components/shelly/const.pyi +1 -0
  195. homeassistant-stubs/components/shelly/coordinator.pyi +11 -3
  196. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -0
  197. homeassistant-stubs/components/shelly/entity.pyi +2 -0
  198. homeassistant-stubs/components/shelly/utils.pyi +4 -2
  199. homeassistant-stubs/components/simplisafe/__init__.pyi +0 -1
  200. homeassistant-stubs/components/simplisafe/config_flow.pyi +1 -1
  201. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -1
  202. homeassistant-stubs/components/sun/config_flow.pyi +1 -1
  203. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  204. homeassistant-stubs/components/synology_dsm/media_source.pyi +1 -0
  205. homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -4
  206. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/tcp/common.pyi +0 -1
  208. homeassistant-stubs/components/technove/binary_sensor.pyi +5 -1
  209. homeassistant-stubs/components/technove/switch.pyi +11 -4
  210. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/tile/config_flow.pyi +1 -1
  212. homeassistant-stubs/components/tradfri/__init__.pyi +0 -1
  213. homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -4
  214. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +5 -4
  215. homeassistant-stubs/components/unifi/sensor.pyi +6 -1
  216. homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
  217. homeassistant-stubs/components/water_heater/__init__.pyi +5 -6
  218. homeassistant-stubs/components/websocket_api/commands.pyi +3 -2
  219. homeassistant-stubs/components/websocket_api/http.pyi +6 -1
  220. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  221. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -1
  222. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  223. homeassistant-stubs/components/zwave_js/config_flow.pyi +2 -3
  224. homeassistant-stubs/components/zwave_js/services.pyi +1 -0
  225. homeassistant-stubs/config_entries.pyi +2 -0
  226. homeassistant-stubs/const.pyi +7 -2
  227. homeassistant-stubs/core.pyi +1 -1
  228. homeassistant-stubs/generated/amazon_polly.pyi +5 -0
  229. homeassistant-stubs/helpers/aiohttp_client.pyi +4 -0
  230. homeassistant-stubs/helpers/collection.pyi +4 -1
  231. homeassistant-stubs/helpers/config_validation.pyi +23 -3
  232. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  233. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  234. homeassistant-stubs/helpers/icon.pyi +2 -0
  235. homeassistant-stubs/helpers/service.pyi +4 -2
  236. homeassistant-stubs/helpers/trigger_template_entity.pyi +0 -1
  237. homeassistant-stubs/scripts/auth.pyi +9 -6
  238. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -2
  239. homeassistant-stubs/scripts/macos/__init__.pyi +1 -1
  240. homeassistant-stubs/util/async_.pyi +2 -1
  241. homeassistant-stubs/util/executor.pyi +1 -1
  242. homeassistant-stubs/util/unit_conversion.pyi +0 -17
  243. homeassistant-stubs/util/yaml/loader.pyi +1 -0
  244. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/METADATA +2 -2
  245. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/RECORD +248 -232
  246. homeassistant-stubs/components/asterisk_cdr/mailbox.pyi +0 -18
  247. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +0 -31
  248. homeassistant-stubs/components/asterisk_mbox/mailbox.pyi +0 -26
  249. homeassistant-stubs/components/demo/mailbox.pyi +0 -24
  250. homeassistant-stubs/components/mailbox/__init__.pyi +0 -77
  251. homeassistant-stubs/components/proximity/helpers.pyi +0 -5
  252. homeassistant-stubs/components/systemmonitor/repairs.pyi +0 -15
  253. /homeassistant-stubs/components/{asterisk_cdr → manual}/__init__.pyi +0 -0
  254. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/LICENSE +0 -0
  255. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,5 @@
1
1
  from . import TechnoVEConfigEntry as TechnoVEConfigEntry
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import TechnoVEDataUpdateCoordinator as TechnoVEDataUpdateCoordinator
3
4
  from .entity import TechnoVEEntity as TechnoVEEntity
4
5
  from _typeshed import Incomplete
@@ -8,12 +9,14 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
8
9
  from homeassistant.const import EntityCategory as EntityCategory
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
11
13
  from technove import Station as TechnoVEStation
12
14
 
13
15
  @dataclass(frozen=True, kw_only=True)
14
16
  class TechnoVEBinarySensorDescription(BinarySensorEntityDescription):
17
+ deprecated_version: str | None = ...
15
18
  value_fn: Callable[[TechnoVEStation], bool | None]
16
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., value_fn) -> None: ...
19
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_version=..., value_fn) -> None: ...
17
20
 
18
21
  BINARY_SENSORS: Incomplete
19
22
 
@@ -24,3 +27,4 @@ class TechnoVEBinarySensorEntity(TechnoVEEntity, BinarySensorEntity):
24
27
  def __init__(self, coordinator: TechnoVEDataUpdateCoordinator, description: TechnoVEBinarySensorDescription) -> None: ...
25
28
  @property
26
29
  def is_on(self) -> bool | None: ...
30
+ async def async_added_to_hass(self) -> None: ...
@@ -1,22 +1,29 @@
1
1
  from . import TechnoVEConfigEntry as TechnoVEConfigEntry
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import TechnoVEDataUpdateCoordinator as TechnoVEDataUpdateCoordinator
3
4
  from .entity import TechnoVEEntity as TechnoVEEntity
4
5
  from .helpers import technove_exception_handler as technove_exception_handler
5
6
  from _typeshed import Incomplete
6
- from collections.abc import Awaitable, Callable as Callable
7
+ from collections.abc import Callable as Callable, Coroutine
7
8
  from dataclasses import dataclass
8
9
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
9
10
  from homeassistant.const import EntityCategory as EntityCategory
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
11
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from technove import Station as TechnoVEStation, TechnoVE as TechnoVE
14
+ from technove import Station as TechnoVEStation
13
15
  from typing import Any
14
16
 
17
+ async def _set_charging_enabled(coordinator: TechnoVEDataUpdateCoordinator, enabled: bool) -> None: ...
18
+ async def _enable_charging(coordinator: TechnoVEDataUpdateCoordinator) -> None: ...
19
+ async def _disable_charging(coordinator: TechnoVEDataUpdateCoordinator) -> None: ...
20
+ async def _set_auto_charge(coordinator: TechnoVEDataUpdateCoordinator, enabled: bool) -> None: ...
21
+
15
22
  @dataclass(frozen=True, kw_only=True)
16
23
  class TechnoVESwitchDescription(SwitchEntityDescription):
17
24
  is_on_fn: Callable[[TechnoVEStation], bool]
18
- turn_on_fn: Callable[[TechnoVE], Awaitable[dict[str, Any]]]
19
- turn_off_fn: Callable[[TechnoVE], Awaitable[dict[str, Any]]]
25
+ turn_on_fn: Callable[[TechnoVEDataUpdateCoordinator], Coroutine[Any, Any, None]]
26
+ turn_off_fn: Callable[[TechnoVEDataUpdateCoordinator], Coroutine[Any, Any, None]]
20
27
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., is_on_fn, turn_on_fn, turn_off_fn) -> None: ...
21
28
 
22
29
  SWITCHES: Incomplete
@@ -12,5 +12,5 @@ class TTNFlowHandler(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
13
  _reauth_entry: ConfigEntry | None
14
14
  async def async_step_user(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
15
- async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
15
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
16
16
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -16,7 +16,7 @@ class TileFlowHandler(ConfigFlow, domain=DOMAIN):
16
16
  _username: Incomplete
17
17
  def __init__(self) -> None: ...
18
18
  async def _async_verify(self, step_id: str, schema: vol.Schema) -> ConfigFlowResult: ...
19
- async def async_step_import(self, import_config: dict[str, Any]) -> ConfigFlowResult: ...
19
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
20
20
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
21
21
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
22
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -10,7 +10,6 @@ from homeassistant.helpers.event import async_track_time_interval as async_track
10
10
  from pytradfri.command import Command as Command
11
11
  from pytradfri.device import Device as Device
12
12
 
13
- CONFIG_SCHEMA: Incomplete
14
13
  PLATFORMS: Incomplete
15
14
  SIGNAL_GW: str
16
15
  TIMEOUT_API: int
@@ -1,10 +1,7 @@
1
- from .const import CONF_FROM as CONF_FROM, CONF_TO as CONF_TO, PLATFORMS as PLATFORMS
1
+ from .const import PLATFORMS as PLATFORMS
2
2
  from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_API_KEY as CONF_API_KEY
5
4
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
5
 
9
6
  TVTrainConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
10
7
 
@@ -1,5 +1,5 @@
1
1
  from . import TVTrainConfigEntry as TVTrainConfigEntry
2
- from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_TIME as CONF_TIME, DOMAIN as DOMAIN
2
+ from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_FROM as CONF_FROM, CONF_TIME as CONF_TIME, CONF_TO as CONF_TO, DOMAIN as DOMAIN
3
3
  from .util import next_departuredate as next_departuredate
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
@@ -35,11 +35,12 @@ def _get_as_joined(information: list[str] | None) -> str | None: ...
35
35
 
36
36
  class TVDataUpdateCoordinator(DataUpdateCoordinator[TrainData]):
37
37
  config_entry: TVTrainConfigEntry
38
+ from_station: StationInfoModel
39
+ to_station: StationInfoModel
38
40
  _train_api: Incomplete
39
- from_station: Incomplete
40
- to_station: Incomplete
41
41
  _time: Incomplete
42
42
  _weekdays: Incomplete
43
43
  _filter_product: Incomplete
44
- def __init__(self, hass: HomeAssistant, to_station: StationInfoModel, from_station: StationInfoModel) -> None: ...
44
+ def __init__(self, hass: HomeAssistant) -> None: ...
45
+ async def _async_setup(self) -> None: ...
45
46
  async def _async_update_data(self) -> TrainData: ...
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
7
7
  from aiounifi.models.api import ApiItemT
8
8
  from aiounifi.models.client import Client
9
- from aiounifi.models.device import Device, TypedDeviceUptimeStatsWanMonitor as TypedDeviceUptimeStatsWanMonitor
9
+ from aiounifi.models.device import Device, TypedDeviceTemperature as TypedDeviceTemperature, TypedDeviceUptimeStatsWanMonitor as TypedDeviceUptimeStatsWanMonitor
10
10
  from aiounifi.models.wlan import Wlan
11
11
  from collections.abc import Callable as Callable
12
12
  from dataclasses import dataclass
@@ -32,6 +32,7 @@ def async_device_uptime_value_fn(hub: UnifiHub, device: Device) -> datetime | No
32
32
  def async_uptime_value_changed_fn(old: StateType | date | datetime | Decimal, new: datetime | float | str | None) -> bool: ...
33
33
  def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
34
34
  def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
35
+ def async_device_uplink_mac_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
35
36
  def device_system_stats_supported_fn(stat_index: int, hub: UnifiHub, obj_id: str) -> bool: ...
36
37
  def async_client_is_connected_fn(hub: UnifiHub, obj_id: str) -> bool: ...
37
38
  def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str: ...
@@ -39,6 +40,10 @@ def async_device_wan_latency_supported_fn(wan: Literal['WAN', 'WAN2'], monitor_t
39
40
  def async_device_wan_latency_value_fn(wan: Literal['WAN', 'WAN2'], monitor_target: str, hub: UnifiHub, device: Device) -> int | None: ...
40
41
  def _device_wan_latency_monitor(wan: Literal['WAN', 'WAN2'], monitor_target: str, device: Device) -> TypedDeviceUptimeStatsWanMonitor | None: ...
41
42
  def make_wan_latency_sensors() -> tuple[UnifiSensorEntityDescription, ...]: ...
43
+ def async_device_temperatures_value_fn(temperature_name: str, hub: UnifiHub, device: Device) -> float: ...
44
+ def async_device_temperatures_supported_fn(temperature_name: str, hub: UnifiHub, obj_id: str) -> bool: ...
45
+ def _device_temperature(temperature_name: str, temperatures: list[TypedDeviceTemperature]) -> float | None: ...
46
+ def make_device_temperatur_sensors() -> tuple[UnifiSensorEntityDescription, ...]: ...
42
47
 
43
48
  @dataclass(frozen=True, kw_only=True)
44
49
  class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
@@ -23,4 +23,4 @@ class EntityUsage(TypedDict):
23
23
  def check_if_used(hass: HomeAssistant, entry: UFPConfigEntry, entities: dict[str, EntityRef]) -> dict[str, EntityUsage]: ...
24
24
  def create_repair_if_used(hass: HomeAssistant, entry: UFPConfigEntry, breaks_in: str, entities: dict[str, EntityRef]) -> None: ...
25
25
  async def async_migrate_data(hass: HomeAssistant, entry: UFPConfigEntry, protect: ProtectApiClient, bootstrap: Bootstrap) -> None: ...
26
- def async_deprecate_hdr_package(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
26
+ def async_deprecate_hdr(hass: HomeAssistant, entry: UFPConfigEntry) -> None: ...
@@ -3,13 +3,13 @@ from _typeshed import Incomplete
3
3
  from enum import IntFlag
4
4
  from functools import cached_property as cached_property
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
6
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
8
8
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
9
9
  from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
10
10
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
11
11
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
12
- from homeassistant.helpers.typing import ConfigType as ConfigType
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
13
13
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
14
14
  from typing import Any
15
15
 
@@ -48,10 +48,9 @@ ATTR_TARGET_TEMP_LOW: str
48
48
  ATTR_CURRENT_TEMPERATURE: str
49
49
  CONVERTIBLE_ATTRIBUTE: Incomplete
50
50
  _LOGGER: Incomplete
51
- ON_OFF_SERVICE_SCHEMA: Incomplete
52
- SET_AWAY_MODE_SCHEMA: Incomplete
53
- SET_TEMPERATURE_SCHEMA: Incomplete
54
- SET_OPERATION_MODE_SCHEMA: Incomplete
51
+ SET_AWAY_MODE_SCHEMA: VolDictType
52
+ SET_TEMPERATURE_SCHEMA: VolDictType
53
+ SET_OPERATION_MODE_SCHEMA: VolDictType
55
54
 
56
55
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
57
56
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -11,6 +11,7 @@ from homeassistant.core import Context as Context, Event as Event, EventStateCha
11
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceNotFound as ServiceNotFound, ServiceValidationError as ServiceValidationError, TemplateError as TemplateError, Unauthorized as Unauthorized
12
12
  from homeassistant.helpers import entity as entity, template as template
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
14
+ 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
14
15
  from homeassistant.helpers.event import TrackTemplate as TrackTemplate, TrackTemplateResult as TrackTemplateResult, async_track_template_result as async_track_template_result
15
16
  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
16
17
  from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
@@ -33,9 +34,9 @@ async def handle_call_service(hass: HomeAssistant, connection: ActiveConnection,
33
34
  def _async_get_allowed_states(hass: HomeAssistant, connection: ActiveConnection) -> list[State]: ...
34
35
  def handle_get_states(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
35
36
  def _send_handle_get_states_response(connection: ActiveConnection, msg_id: int, serialized_states: list[bytes]) -> None: ...
36
- def _forward_entity_changes(send_message: Callable[[str | bytes | dict[str, Any]], None], entity_ids: set[str], user: User, message_id_as_bytes: bytes, event: Event[EventStateChangedData]) -> None: ...
37
+ def _forward_entity_changes(send_message: Callable[[str | bytes | dict[str, Any]], None], entity_ids: set[str] | None, entity_filter: Callable[[str], bool] | None, user: User, message_id_as_bytes: bytes, event: Event[EventStateChangedData]) -> None: ...
37
38
  def handle_subscribe_entities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
38
- def _send_handle_entities_init_response(connection: ActiveConnection, msg_id: int, serialized_states: list[bytes]) -> None: ...
39
+ def _send_handle_entities_init_response(connection: ActiveConnection, message_id_as_bytes: bytes, serialized_states: list[bytes]) -> None: ...
39
40
  async def _async_get_all_descriptions_json(hass: HomeAssistant) -> bytes: ...
40
41
  async def handle_get_services(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
41
42
  def handle_get_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -8,6 +8,7 @@ from .messages import message_to_json_bytes as message_to_json_bytes
8
8
  from .util import describe_request as describe_request
9
9
  from _typeshed import Incomplete
10
10
  from aiohttp import web
11
+ from aiohttp.http_websocket import WebSocketWriter as WebSocketWriter
11
12
  from collections.abc import Callable as Callable, Coroutine
12
13
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
13
14
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
@@ -49,7 +50,7 @@ class WebSocketHandler:
49
50
  def __repr__(self) -> str: ...
50
51
  @property
51
52
  def description(self) -> str: ...
52
- async def _writer(self, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
53
+ async def _writer(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
53
54
  def _cancel_peak_checker(self) -> None: ...
54
55
  def _send_message(self, message: str | bytes | dict[str, Any]) -> None: ...
55
56
  def _release_ready_future_or_reschedule(self) -> None: ...
@@ -57,3 +58,7 @@ class WebSocketHandler:
57
58
  def _cancel(self) -> None: ...
58
59
  def _async_handle_hass_stop(self, event: Event) -> None: ...
59
60
  async def async_handle(self) -> web.WebSocketResponse: ...
61
+ async def _async_handle_auth_phase(self, auth: AuthPhase, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> ActiveConnection: ...
62
+ def _async_increase_writer_limit(self, writer: WebSocketWriter) -> None: ...
63
+ async def _async_websocket_command_phase(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
64
+ async def _async_cleanup_writer_and_close(self, disconnect_warn: str | None, connection: ActiveConnection | None) -> None: ...
@@ -4,7 +4,6 @@ from homeassistant.components.lock import CONF_DEFAULT_CODE as CONF_DEFAULT_CODE
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_CODE as CONF_CODE
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
7
 
9
8
  YaleConfigEntry = ConfigEntry[YaleDataUpdateCoordinator]
10
9
 
@@ -6,10 +6,12 @@ from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
7
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
8
  from typing import Any
9
+ from yalesmartalarmclient.client import YaleSmartAlarmClient
9
10
 
10
11
  class YaleDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
12
+ yale: YaleSmartAlarmClient
11
13
  entry: Incomplete
12
- yale: Incomplete
13
14
  def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
15
+ async def _async_setup(self) -> None: ...
14
16
  async def _async_update_data(self) -> dict[str, Any]: ...
15
17
  def get_updates(self) -> dict[str, Any]: ...
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from homeassistant.components.lock import LockEntity as LockEntity
7
7
  from homeassistant.const import ATTR_CODE as ATTR_CODE
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from typing import Any
12
12
 
@@ -79,18 +79,17 @@ class ZWaveJSConfigFlow(BaseZwaveJSFlow, ConfigFlow, domain=DOMAIN):
79
79
  def flow_manager(self) -> ConfigEntriesFlowManager: ...
80
80
  @staticmethod
81
81
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
82
- s0_legacy_key: Incomplete
83
- usb_path: Incomplete
84
- async def async_step_import(self, data: dict[str, Any]) -> ConfigFlowResult: ...
85
82
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
86
83
  ws_address: Incomplete
87
84
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
88
85
  async def async_step_zeroconf_confirm(self, user_input: dict | None = None) -> ConfigFlowResult: ...
86
+ usb_path: Incomplete
89
87
  async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
90
88
  async def async_step_usb_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
91
89
  async def async_step_manual(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
92
90
  async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
93
91
  async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
92
+ s0_legacy_key: Incomplete
94
93
  s2_access_control_key: Incomplete
95
94
  s2_authenticated_key: Incomplete
96
95
  s2_unauthenticated_key: Incomplete
@@ -16,6 +16,7 @@ from zwave_js_server.model.node import Node as ZwaveNode
16
16
 
17
17
  _LOGGER: Incomplete
18
18
  _NodeOrEndpointType = ZwaveNode | Endpoint
19
+ TARGET_VALIDATORS: Incomplete
19
20
 
20
21
  def parameter_name_does_not_need_bitmask(val: dict[str, int | str | list[str]]) -> dict[str, int | str | list[str]]: ...
21
22
  def check_base_2(val: int) -> int: ...
@@ -196,6 +196,7 @@ class ConfigEntriesFlowManager(data_entry_flow.FlowManager[ConfigFlowResult]):
196
196
  def _async_has_other_discovery_flows(self, flow_id: str) -> bool: ...
197
197
  async def async_init(self, handler: str, *, context: dict[str, Any] | None = None, data: Any = None) -> ConfigFlowResult: ...
198
198
  async def _async_init(self, flow_id: str, handler: str, context: dict, data: Any) -> tuple[ConfigFlow, ConfigFlowResult]: ...
199
+ def _set_pending_import_done(self, flow: ConfigFlow) -> None: ...
199
200
  def async_shutdown(self) -> None: ...
200
201
  async def async_finish_flow(self, flow: data_entry_flow.FlowHandler[ConfigFlowResult], result: ConfigFlowResult) -> ConfigFlowResult: ...
201
202
  async def async_create_flow(self, handler_key: str, *, context: dict | None = None, data: Any = None) -> ConfigFlow: ...
@@ -233,6 +234,7 @@ class ConfigEntries:
233
234
  def async_entry_ids(self) -> list[str]: ...
234
235
  def async_has_entries(self, domain: str, include_ignore: bool = True, include_disabled: bool = True) -> bool: ...
235
236
  def async_entries(self, domain: str | None = None, include_ignore: bool = True, include_disabled: bool = True) -> list[ConfigEntry]: ...
237
+ def async_loaded_entries(self, domain: str) -> list[ConfigEntry]: ...
236
238
  def async_entry_for_domain_unique_id(self, domain: str, unique_id: str) -> ConfigEntry | None: ...
237
239
  async def async_add(self, entry: ConfigEntry) -> None: ...
238
240
  async def async_remove(self, entry_id: str) -> dict[str, Any]: ...
@@ -41,7 +41,6 @@ class Platform(StrEnum):
41
41
  LAWN_MOWER = 'lawn_mower'
42
42
  LIGHT = 'light'
43
43
  LOCK = 'lock'
44
- MAILBOX = 'mailbox'
45
44
  MEDIA_PLAYER = 'media_player'
46
45
  NOTIFY = 'notify'
47
46
  NUMBER = 'number'
@@ -188,6 +187,7 @@ CONF_METHOD: Final[str]
188
187
  CONF_MINIMUM: Final[str]
189
188
  CONF_MODE: Final[str]
190
189
  CONF_MODEL: Final[str]
190
+ CONF_MODEL_ID: Final[str]
191
191
  CONF_MONITORED_CONDITIONS: Final[str]
192
192
  CONF_MONITORED_VARIABLES: Final[str]
193
193
  CONF_NAME: Final[str]
@@ -382,6 +382,7 @@ ATTR_CONNECTIONS: Final[str]
382
382
  ATTR_DEFAULT_NAME: Final[str]
383
383
  ATTR_MANUFACTURER: Final[str]
384
384
  ATTR_MODEL: Final[str]
385
+ ATTR_MODEL_ID: Final[str]
385
386
  ATTR_SERIAL_NUMBER: Final[str]
386
387
  ATTR_SUGGESTED_AREA: Final[str]
387
388
  ATTR_SW_VERSION: Final[str]
@@ -425,7 +426,11 @@ class UnitOfPower(StrEnum):
425
426
  _DEPRECATED_POWER_WATT: Final[Incomplete]
426
427
  _DEPRECATED_POWER_KILO_WATT: Final[Incomplete]
427
428
  _DEPRECATED_POWER_BTU_PER_HOUR: Final[Incomplete]
428
- POWER_VOLT_AMPERE_REACTIVE: Final[str]
429
+
430
+ class UnitOfReactivePower(StrEnum):
431
+ VOLT_AMPERE_REACTIVE = 'var'
432
+
433
+ _DEPRECATED_POWER_VOLT_AMPERE_REACTIVE: Final[Incomplete]
429
434
 
430
435
  class UnitOfEnergy(StrEnum):
431
436
  GIGA_JOULE = 'GJ'
@@ -15,7 +15,7 @@ from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragme
15
15
  from .helpers.storage import Store as Store
16
16
  from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType, VolSchemaType as VolSchemaType
17
17
  from .util import location as location
18
- from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
18
+ from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, get_scheduled_timer_handles as get_scheduled_timer_handles, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
19
19
  from .util.event_type import EventType as EventType
20
20
  from .util.executor import InterruptibleThreadPoolExecutor as InterruptibleThreadPoolExecutor
21
21
  from .util.hass_dict import HassDict as HassDict
@@ -0,0 +1,5 @@
1
+ from typing import Final
2
+
3
+ SUPPORTED_ENGINES: Final[set[str]]
4
+ SUPPORTED_REGIONS: Final[set[str]]
5
+ SUPPORTED_VOICES: Final[set[str]]
@@ -33,4 +33,8 @@ async def async_aiohttp_proxy_stream(hass: HomeAssistant, request: web.BaseReque
33
33
  def _async_register_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
34
34
  def _async_register_default_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
35
35
  def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ...) -> tuple[bool, socket.AddressFamily]: ...
36
+
37
+ class HomeAssistantTCPConnector(aiohttp.TCPConnector):
38
+ _cleanup_closed_period: float
39
+
36
40
  def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.BaseConnector: ...
@@ -3,6 +3,7 @@ import logging
3
3
  from . import entity_registry as entity_registry
4
4
  from .entity import Entity as Entity
5
5
  from .entity_component import EntityComponent as EntityComponent
6
+ from .json import json_bytes as json_bytes
6
7
  from .storage import Store as Store
7
8
  from .typing import ConfigType as ConfigType, VolDictType as VolDictType
8
9
  from _typeshed import Incomplete
@@ -29,7 +30,8 @@ class CollectionChange:
29
30
  change_type: str
30
31
  item_id: str
31
32
  item: Any
32
- def __init__(self, change_type, item_id, item) -> None: ...
33
+ item_hash: str | None = ...
34
+ def __init__(self, change_type, item_id, item, item_hash=...) -> None: ...
33
35
  ChangeListener = Callable[[str, str, dict], Awaitable[None]]
34
36
  ChangeSetListener = Callable[[Iterable[CollectionChange]], Awaitable[None]]
35
37
 
@@ -105,6 +107,7 @@ class StorageCollection(ObservableCollection[_ItemT], metaclass=abc.ABCMeta):
105
107
  def _base_data_to_save(self) -> SerializedStorageCollection: ...
106
108
  @abstractmethod
107
109
  def _data_to_save(self) -> _StoreT: ...
110
+ def _hash_item(self, item: dict) -> str: ...
108
111
 
109
112
  class DictStorageCollection(StorageCollection[dict, SerializedStorageCollection], metaclass=abc.ABCMeta):
110
113
  def _create_item(self, item_id: str, data: dict) -> dict: ...
@@ -1,14 +1,16 @@
1
1
  import re
2
+ import threading
2
3
  import voluptuous as vol
3
4
  from . import template as template_helper
4
5
  from .frame import get_integration_logger as get_integration_logger
5
6
  from .typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
6
7
  from _typeshed import Incomplete
7
8
  from collections.abc import Callable as Callable, Hashable
9
+ from contextvars import ContextVar
8
10
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
9
11
  from enum import Enum, StrEnum
10
12
  from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
11
- from homeassistant.core import async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
13
+ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
12
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
13
15
  from homeassistant.generated import currencies as currencies
14
16
  from homeassistant.generated.countries import COUNTRIES as COUNTRIES
@@ -19,6 +21,19 @@ from typing import Any, overload
19
21
 
20
22
  TIME_PERIOD_ERROR: str
21
23
 
24
+ class MustValidateInExecutor(HomeAssistantError): ...
25
+
26
+ class _Hass(threading.local):
27
+ hass: HomeAssistant | None
28
+
29
+ _hass: Incomplete
30
+
31
+ def _async_get_hass_or_none() -> HomeAssistant | None: ...
32
+
33
+ _validating_async: ContextVar[bool]
34
+
35
+ def not_async_friendly(validator: Callable[_P, _R]) -> Callable[_P, _R]: ...
36
+
22
37
  class UrlProtocolSchema(StrEnum):
23
38
  HTTP = 'http'
24
39
  HTTPS = 'https'
@@ -130,6 +145,7 @@ def removed(key: str, default: Any | None = None, raise_if_present: bool | None
130
145
  def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
131
146
  def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
132
147
  def custom_serializer(schema: Any) -> Any: ...
148
+ def _custom_serializer(schema: Any, *, allow_section: bool) -> Any: ...
133
149
  def expand_condition_shorthand(value: Any | None) -> Any: ...
134
150
  def empty_config_schema(domain: str) -> Callable[[dict], dict]: ...
135
151
  def _no_yaml_config_schema(domain: str, issue_base: str, translation_key: str, translation_placeholders: dict[str, str]) -> Callable[[dict], dict]: ...
@@ -142,11 +158,12 @@ ENTITY_SERVICE_FIELDS: VolDictType
142
158
  TARGET_SERVICE_FIELDS: Incomplete
143
159
  _HAS_ENTITY_SERVICE_FIELD: Incomplete
144
160
 
145
- def _make_entity_service_schema(schema: dict, extra: int) -> vol.Schema: ...
161
+ def is_entity_service_schema(validator: VolSchemaType) -> bool: ...
162
+ def _make_entity_service_schema(schema: dict, extra: int) -> VolSchemaType: ...
146
163
 
147
164
  BASE_ENTITY_SCHEMA: Incomplete
148
165
 
149
- def make_entity_service_schema(schema: dict, *, extra: int = ...) -> vol.Schema: ...
166
+ def make_entity_service_schema(schema: dict | None, *, extra: int = ...) -> VolSchemaType: ...
150
167
 
151
168
  SCRIPT_CONVERSATION_RESPONSE_SCHEMA: Incomplete
152
169
  SCRIPT_VARIABLES_SCHEMA: Incomplete
@@ -234,3 +251,6 @@ currency: Incomplete
234
251
  historic_currency: Incomplete
235
252
  country: Incomplete
236
253
  language: Incomplete
254
+
255
+ async def async_validate(hass: HomeAssistant, validator: Callable[[Any], Any], value: Any) -> Any: ...
256
+ def _validate_in_executor(hass: HomeAssistant, validator: Callable[[Any], Any], value: Any) -> Any: ...
@@ -43,7 +43,7 @@ class EntityComponent(Generic[_EntityT]):
43
43
  async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
44
44
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
45
45
  def async_register_legacy_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
46
- def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
46
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
47
47
  async def async_setup_platform(self, platform_type: str, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
48
48
  async def _async_reset(self) -> None: ...
49
49
  async def async_remove_entity(self, entity_id: str) -> None: ...
@@ -11,7 +11,7 @@ from contextvars import ContextVar
11
11
  from datetime import timedelta
12
12
  from homeassistant import config_entries as config_entries
13
13
  from homeassistant.const import ATTR_RESTORED as ATTR_RESTORED, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED
14
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
14
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, CoreState as CoreState, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse, callback as callback, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
15
15
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, PlatformNotReady as PlatformNotReady
16
16
  from homeassistant.generated import languages as languages
17
17
  from homeassistant.setup import SetupPhases as SetupPhases, async_start_setup as async_start_setup
@@ -90,7 +90,7 @@ class EntityPlatform:
90
90
  async def async_destroy(self) -> None: ...
91
91
  async def async_remove_entity(self, entity_id: str) -> None: ...
92
92
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
93
- def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
93
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
94
94
  async def _async_update_entity_states(self) -> None: ...
95
95
 
96
96
  current_platform: ContextVar[EntityPlatform | None]
@@ -11,6 +11,8 @@ from typing import Any
11
11
  ICON_CACHE: HassKey[_IconsCache]
12
12
  _LOGGER: Incomplete
13
13
 
14
+ def convert_shorthand_service_icon(value: str | dict[str, str | dict[str, str]]) -> dict[str, str | dict[str, str]]: ...
15
+ def _load_icons_file(icons_file: pathlib.Path) -> dict[str, Any]: ...
14
16
  def _load_icons_files(icons_files: dict[str, pathlib.Path]) -> dict[str, dict[str, Any]]: ...
15
17
  async def _async_get_component_icons(hass: HomeAssistant, components: set[str], integrations: dict[str, Integration]) -> dict[str, Any]: ...
16
18
 
@@ -3,12 +3,12 @@ from . import area_registry as area_registry, device_registry as device_registry
3
3
  from .entity import Entity as Entity
4
4
  from .group import expand_entity_ids as expand_entity_ids
5
5
  from .selector import TargetSelector as TargetSelector
6
- from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolSchemaType as VolSchemaType
6
+ from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
7
7
  from _typeshed import Incomplete
8
8
  from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
9
9
  from homeassistant.auth.permissions.const import CAT_ENTITIES as CAT_ENTITIES, POLICY_CONTROL as POLICY_CONTROL
10
10
  from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ACTION as CONF_ACTION, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_TARGET as CONF_TARGET, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
11
- from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
11
+ from homeassistant.core import Context as Context, EntityServiceResponse as EntityServiceResponse, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
13
13
  from homeassistant.loader import Integration as Integration, async_get_integrations as async_get_integrations, bind_hass as bind_hass
14
14
  from homeassistant.util.async_ import create_eager_task as create_eager_task
@@ -96,3 +96,5 @@ class ReloadServiceHelper:
96
96
  _reload_targets_func: Incomplete
97
97
  def __init__(self, service_func: Callable[[ServiceCall], Coroutine[Any, Any, Any]], reload_targets_func: Callable[[ServiceCall], set[_T]]) -> None: ...
98
98
  async def execute_service(self, service_call: ServiceCall) -> None: ...
99
+
100
+ def async_register_entity_service(hass: HomeAssistant, domain: str, name: str, *, entities: dict[str, Entity], func: str | Callable[..., Any], job_type: HassJobType | None, required_features: Iterable[int] | None = None, schema: VolDictType | VolSchemaType | None, supports_response: SupportsResponse = ...) -> None: ...
@@ -46,7 +46,6 @@ class TriggerBaseEntity(Entity):
46
46
  def available(self) -> bool: ...
47
47
  @property
48
48
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
49
- async def async_added_to_hass(self) -> None: ...
50
49
  def _set_unique_id(self, unique_id: str | None) -> None: ...
51
50
  def restore_attributes(self, last_state: State) -> None: ...
52
51
  def _render_templates(self, variables: dict[str, Any]) -> None: ...
@@ -1,11 +1,14 @@
1
+ import argparse
2
+ from collections.abc import Sequence
1
3
  from homeassistant import runner as runner
2
4
  from homeassistant.auth import auth_manager_from_config as auth_manager_from_config
5
+ from homeassistant.auth.providers import homeassistant as hass_auth
3
6
  from homeassistant.config import get_default_config_dir as get_default_config_dir
4
7
  from homeassistant.core import HomeAssistant as HomeAssistant
5
8
 
6
- def run(args) -> None: ...
7
- async def run_command(args) -> None: ...
8
- async def list_users(hass, provider, args) -> None: ...
9
- async def add_user(hass, provider, args) -> None: ...
10
- async def validate_login(hass, provider, args) -> None: ...
11
- async def change_password(hass, provider, args) -> None: ...
9
+ def run(args: Sequence[str] | None) -> None: ...
10
+ async def run_command(args: argparse.Namespace) -> None: ...
11
+ async def list_users(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
12
+ async def add_user(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
13
+ async def validate_login(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
14
+ async def change_password(hass: HomeAssistant, provider: hass_auth.HassAuthProvider, args: argparse.Namespace) -> None: ...
@@ -3,7 +3,7 @@ from homeassistant import core as core
3
3
  from homeassistant.const import EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
4
4
  from homeassistant.helpers.entityfilter import convert_include_exclude_filter as convert_include_exclude_filter
5
5
  from homeassistant.helpers.event import async_track_state_change as async_track_state_change, async_track_state_change_event as async_track_state_change_event
6
- from homeassistant.helpers.json import JSONEncoder as JSONEncoder, JSON_DUMP as JSON_DUMP
6
+ from homeassistant.helpers.json import JSON_DUMP as JSON_DUMP
7
7
 
8
8
  BENCHMARKS: dict[str, Callable]
9
9
 
@@ -18,4 +18,3 @@ async def state_changed_event_filter_helper(hass): ...
18
18
  async def filtering_entity_id(hass): ...
19
19
  async def valid_entity_id(hass): ...
20
20
  async def json_serialize_states(hass): ...
21
- def _create_state_changed_event_from_old_new(entity_id, event_time_fired, old_state, new_state): ...
@@ -1,3 +1,3 @@
1
1
  def install_osx() -> None: ...
2
2
  def uninstall_osx() -> None: ...
3
- def run(args): ...
3
+ def run(args: list[str]) -> int: ...
@@ -1,6 +1,6 @@
1
1
  import concurrent.futures
2
2
  from _typeshed import Incomplete
3
- from asyncio import AbstractEventLoop, Future, Task
3
+ from asyncio import AbstractEventLoop, Future, Task, TimerHandle
4
4
  from collections.abc import Callable as Callable, Coroutine
5
5
  from typing import Any
6
6
 
@@ -12,3 +12,4 @@ def cancelling(task: Future[Any]) -> bool: ...
12
12
  def run_callback_threadsafe(loop: AbstractEventLoop, callback: Callable[[Unpack[_Ts]], _T], *args: Unpack[_Ts]) -> concurrent.futures.Future[_T]: ...
13
13
  async def gather_with_limited_concurrency(limit: int, *tasks: Any, return_exceptions: bool = False) -> Any: ...
14
14
  def shutdown_run_callback_threadsafe(loop: AbstractEventLoop) -> None: ...
15
+ def get_scheduled_timer_handles(loop: AbstractEventLoop) -> list[TimerHandle]: ...