homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. homeassistant-stubs/bootstrap.pyi +20 -4
  2. homeassistant-stubs/components/aftership/const.pyi +0 -1
  3. homeassistant-stubs/components/aftership/sensor.pyi +2 -2
  4. homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
  5. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  6. homeassistant-stubs/components/alexa/config.pyi +2 -0
  7. homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
  8. homeassistant-stubs/components/androidtv/entity.pyi +30 -0
  9. homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
  10. homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
  11. homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
  12. homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
  13. homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
  14. homeassistant-stubs/components/apple_tv/const.pyi +4 -0
  15. homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
  16. homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
  17. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  18. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
  19. homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
  20. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
  21. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
  22. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  23. homeassistant-stubs/components/auth/__init__.pyi +2 -2
  24. homeassistant-stubs/components/automation/__init__.pyi +2 -1
  25. homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
  26. homeassistant-stubs/components/backup/manager.pyi +5 -3
  27. homeassistant-stubs/components/backup/websocket.pyi +4 -2
  28. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  29. homeassistant-stubs/components/blue_current/entity.pyi +5 -2
  30. homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
  31. homeassistant-stubs/components/bluetooth/match.pyi +3 -0
  32. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
  33. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
  34. homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
  35. homeassistant-stubs/components/brother/sensor.pyi +3 -3
  36. homeassistant-stubs/components/camera/media_source.pyi +1 -0
  37. homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
  38. homeassistant-stubs/components/climate/__init__.pyi +3 -1
  39. homeassistant-stubs/components/cloud/const.pyi +2 -0
  40. homeassistant-stubs/components/cloud/google_config.pyi +7 -5
  41. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  42. homeassistant-stubs/components/cloud/prefs.pyi +6 -2
  43. homeassistant-stubs/components/cloud/tts.pyi +3 -2
  44. homeassistant-stubs/components/config/area_registry.pyi +1 -1
  45. homeassistant-stubs/components/config/auth.pyi +2 -2
  46. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
  47. homeassistant-stubs/components/config/automation.pyi +2 -2
  48. homeassistant-stubs/components/config/config_entries.pyi +5 -4
  49. homeassistant-stubs/components/config/core.pyi +2 -2
  50. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  51. homeassistant-stubs/components/config/entity_registry.pyi +1 -1
  52. homeassistant-stubs/components/config/floor_registry.pyi +12 -0
  53. homeassistant-stubs/components/config/label_registry.pyi +12 -0
  54. homeassistant-stubs/components/config/scene.pyi +2 -2
  55. homeassistant-stubs/components/config/script.pyi +2 -2
  56. homeassistant-stubs/components/cover/intent.pyi +2 -2
  57. homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
  58. homeassistant-stubs/components/crownstone/light.pyi +1 -1
  59. homeassistant-stubs/components/demo/fan.pyi +1 -0
  60. homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
  61. homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
  62. homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
  63. homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
  64. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  65. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  66. homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
  67. homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
  68. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  69. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
  70. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  71. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  72. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  73. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  74. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  75. homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
  76. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
  77. homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
  78. homeassistant-stubs/components/esphome/camera.pyi +2 -2
  79. homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
  80. homeassistant-stubs/components/esphome/manager.pyi +6 -7
  81. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  82. homeassistant-stubs/components/esphome/update.pyi +0 -1
  83. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
  84. homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
  85. homeassistant-stubs/components/filesize/sensor.pyi +0 -1
  86. homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
  87. homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
  88. homeassistant-stubs/components/fritz/common.pyi +2 -1
  89. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
  90. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
  91. homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
  92. homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
  93. homeassistant-stubs/components/group/__init__.pyi +1 -1
  94. homeassistant-stubs/components/group/light.pyi +3 -3
  95. homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
  96. homeassistant-stubs/components/hardware/hardware.pyi +2 -2
  97. homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
  98. homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
  99. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
  100. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
  101. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  102. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  103. homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
  104. homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
  105. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  106. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  107. homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
  108. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
  109. homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
  110. homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
  111. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
  112. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
  113. homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
  114. homeassistant-stubs/components/image/__init__.pyi +13 -3
  115. homeassistant-stubs/components/image/media_source.pyi +18 -0
  116. homeassistant-stubs/components/imap/coordinator.pyi +8 -0
  117. homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
  118. homeassistant-stubs/components/intent/__init__.pyi +1 -0
  119. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
  120. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  121. homeassistant-stubs/components/knx/schema.pyi +3 -18
  122. homeassistant-stubs/components/knx/validation.pyi +19 -0
  123. homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
  124. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
  125. homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
  126. homeassistant-stubs/components/light/__init__.pyi +3 -0
  127. homeassistant-stubs/components/local_todo/todo.pyi +3 -1
  128. homeassistant-stubs/components/logbook/__init__.pyi +1 -1
  129. homeassistant-stubs/components/logbook/helpers.pyi +2 -2
  130. homeassistant-stubs/components/logbook/models.pyi +2 -2
  131. homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
  132. homeassistant-stubs/components/matter/light.pyi +6 -5
  133. homeassistant-stubs/components/media_player/intent.pyi +11 -0
  134. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  135. homeassistant-stubs/components/modbus/climate.pyi +1 -0
  136. homeassistant-stubs/components/modbus/validators.pyi +4 -4
  137. homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
  138. homeassistant-stubs/components/mqtt/climate.pyi +1 -8
  139. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  140. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  141. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  142. homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
  143. homeassistant-stubs/components/mqtt/models.pyi +10 -0
  144. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  145. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  146. homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
  147. homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
  148. homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
  149. homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
  150. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  151. homeassistant-stubs/components/myuplink/number.pyi +30 -0
  152. homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
  153. homeassistant-stubs/components/myuplink/switch.pyi +29 -0
  154. homeassistant-stubs/components/myuplink/update.pyi +20 -0
  155. homeassistant-stubs/components/notion/__init__.pyi +10 -6
  156. homeassistant-stubs/components/notion/config_flow.pyi +11 -3
  157. homeassistant-stubs/components/notion/const.pyi +2 -0
  158. homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
  159. homeassistant-stubs/components/notion/model.pyi +1 -1
  160. homeassistant-stubs/components/notion/util.pyi +7 -0
  161. homeassistant-stubs/components/rainmachine/util.pyi +1 -1
  162. homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
  163. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  164. homeassistant-stubs/components/recorder/core.pyi +1 -0
  165. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
  166. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  167. homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
  168. homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
  169. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
  170. homeassistant-stubs/components/sensor/recorder.pyi +0 -2
  171. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  172. homeassistant-stubs/components/shelly/button.pyi +1 -1
  173. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  174. homeassistant-stubs/components/shelly/entity.pyi +1 -2
  175. homeassistant-stubs/components/shelly/number.pyi +1 -1
  176. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  177. homeassistant-stubs/components/shelly/switch.pyi +4 -5
  178. homeassistant-stubs/components/shelly/utils.pyi +2 -0
  179. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  180. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  181. homeassistant-stubs/components/statistics/sensor.pyi +4 -1
  182. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  183. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
  184. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
  185. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
  186. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  187. homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
  188. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
  189. homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
  190. homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
  191. homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
  192. homeassistant-stubs/components/technove/helpers.pyi +9 -0
  193. homeassistant-stubs/components/technove/switch.pyi +33 -0
  194. homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
  195. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  196. homeassistant-stubs/components/tibber/sensor.pyi +3 -4
  197. homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
  198. homeassistant-stubs/components/tplink/light.pyi +1 -0
  199. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
  200. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
  201. homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
  202. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  203. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  204. homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
  205. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  206. homeassistant-stubs/components/unifi/button.pyi +1 -1
  207. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  208. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
  209. homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
  210. homeassistant-stubs/components/unifi/entity.pyi +13 -13
  211. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  212. homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
  213. homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
  214. homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
  215. homeassistant-stubs/components/unifi/image.pyi +4 -4
  216. homeassistant-stubs/components/unifi/sensor.pyi +14 -14
  217. homeassistant-stubs/components/unifi/switch.pyi +14 -14
  218. homeassistant-stubs/components/unifi/update.pyi +1 -1
  219. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  220. homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
  221. homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
  222. homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
  223. homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
  224. homeassistant-stubs/components/usb/__init__.pyi +1 -1
  225. homeassistant-stubs/components/vacuum/intent.pyi +8 -0
  226. homeassistant-stubs/components/vallox/__init__.pyi +5 -23
  227. homeassistant-stubs/components/vallox/fan.pyi +1 -1
  228. homeassistant-stubs/components/valve/intent.pyi +6 -0
  229. homeassistant-stubs/components/wake_word/models.pyi +4 -2
  230. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  231. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  232. homeassistant-stubs/components/wiz/light.pyi +3 -2
  233. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
  234. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  235. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  236. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
  237. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
  238. homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
  239. homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
  240. homeassistant-stubs/config.pyi +4 -2
  241. homeassistant-stubs/config_entries.pyi +38 -22
  242. homeassistant-stubs/core.pyi +8 -7
  243. homeassistant-stubs/data_entry_flow.pyi +1 -0
  244. homeassistant-stubs/helpers/area_registry.pyi +9 -4
  245. homeassistant-stubs/helpers/collection.pyi +19 -0
  246. homeassistant-stubs/helpers/config_validation.pyi +4 -0
  247. homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
  248. homeassistant-stubs/helpers/debounce.pyi +3 -1
  249. homeassistant-stubs/helpers/device_registry.pyi +13 -6
  250. homeassistant-stubs/helpers/entity.pyi +4 -2
  251. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  252. homeassistant-stubs/helpers/entity_platform.pyi +7 -3
  253. homeassistant-stubs/helpers/entity_registry.pyi +10 -4
  254. homeassistant-stubs/helpers/event.pyi +28 -2
  255. homeassistant-stubs/helpers/floor_registry.pyi +59 -0
  256. homeassistant-stubs/helpers/icon.pyi +1 -1
  257. homeassistant-stubs/helpers/integration_platform.pyi +12 -8
  258. homeassistant-stubs/helpers/intent.pyi +8 -2
  259. homeassistant-stubs/helpers/json.pyi +1 -0
  260. homeassistant-stubs/helpers/label_registry.pyi +59 -0
  261. homeassistant-stubs/helpers/redact.pyi +13 -0
  262. homeassistant-stubs/helpers/service.pyi +1 -0
  263. homeassistant-stubs/helpers/storage.pyi +7 -3
  264. homeassistant-stubs/helpers/template.pyi +7 -0
  265. homeassistant-stubs/helpers/translation.pyi +18 -4
  266. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  267. homeassistant-stubs/loader.pyi +24 -11
  268. homeassistant-stubs/setup.pyi +9 -3
  269. homeassistant-stubs/util/async_.pyi +3 -3
  270. homeassistant-stubs/util/file.pyi +2 -2
  271. homeassistant-stubs/util/yaml/loader.pyi +3 -0
  272. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/METADATA +2 -2
  273. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/RECORD +275 -239
  274. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/LICENSE +0 -0
  275. {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/WHEEL +0 -0
@@ -2,7 +2,7 @@ from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry a
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import CameraInfo, CameraState
4
4
  from aiohttp import web as web
5
- from collections.abc import Callable as Callable, Coroutine
5
+ from collections.abc import Callable as Callable
6
6
  from homeassistant.components import camera as camera
7
7
  from homeassistant.components.camera import Camera as Camera
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -20,5 +20,5 @@ class EsphomeCamera(Camera, EsphomeEntity[CameraInfo, CameraState]):
20
20
  def _on_device_update(self) -> None: ...
21
21
  def _on_state_update(self) -> None: ...
22
22
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
23
- async def _async_request_image(self, request_method: Callable[[], Coroutine[Any, Any, None]]) -> bytes | None: ...
23
+ async def _async_request_image(self, request_method: Callable[[], None]) -> bytes | None: ...
24
24
  async def handle_async_mjpeg_stream(self, request: web.Request) -> web.StreamResponse: ...
@@ -51,7 +51,6 @@ class RuntimeEntryData:
51
51
  assist_pipeline_update_callbacks: list[Callable[[], None]] = ...
52
52
  assist_pipeline_state: bool = ...
53
53
  entity_info_callbacks: dict[type[EntityInfo], list[Callable[[list[EntityInfo]], None]]] = ...
54
- entity_info_key_remove_callbacks: dict[tuple[type[EntityInfo], int], list[Callable[[], Coroutine[Any, Any, None]]]] = ...
55
54
  entity_info_key_updated_callbacks: dict[tuple[type[EntityInfo], int], list[Callable[[EntityInfo], None]]] = ...
56
55
  original_options: dict[str, Any] = ...
57
56
  @property
@@ -64,14 +63,13 @@ class RuntimeEntryData:
64
63
  def signal_static_info_updated(self) -> str: ...
65
64
  def async_register_static_info_callback(self, entity_info_type: type[EntityInfo], callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
66
65
  def _async_unsubscribe_register_static_info(self, callbacks: list[Callable[[list[EntityInfo]], None]], callback_: Callable[[list[EntityInfo]], None]) -> None: ...
67
- def async_register_key_static_info_remove_callback(self, static_info: EntityInfo, callback_: Callable[[], Coroutine[Any, Any, None]]) -> CALLBACK_TYPE: ...
68
66
  def _async_unsubscribe_static_key_remove(self, callbacks: list[Callable[[], Coroutine[Any, Any, None]]], callback_: Callable[[], Coroutine[Any, Any, None]]) -> None: ...
69
67
  def async_register_key_static_info_updated_callback(self, static_info: EntityInfo, callback_: Callable[[EntityInfo], None]) -> CALLBACK_TYPE: ...
70
68
  def _async_unsubscribe_static_key_info_updated(self, callbacks: list[Callable[[EntityInfo], None]], callback_: Callable[[EntityInfo], None]) -> None: ...
71
69
  def async_set_assist_pipeline_state(self, state: bool) -> None: ...
72
70
  def async_subscribe_assist_pipeline_update(self, update_callback: Callable[[], None]) -> Callable[[], None]: ...
73
71
  def _async_unsubscribe_assist_pipeline_update(self, update_callback: Callable[[], None]) -> None: ...
74
- async def async_remove_entities(self, hass: HomeAssistant, static_infos: Iterable[EntityInfo], mac: str) -> None: ...
72
+ def async_remove_entities(self, hass: HomeAssistant, static_infos: Iterable[EntityInfo], mac: str) -> None: ...
75
73
  def async_update_entity_infos(self, static_infos: Iterable[EntityInfo]) -> None: ...
76
74
  async def _ensure_platforms_loaded(self, hass: HomeAssistant, entry: ConfigEntry, platforms: set[Platform]) -> None: ...
77
75
  async def async_update_static_infos(self, hass: HomeAssistant, entry: ConfigEntry, infos: list[EntityInfo], mac: str) -> None: ...
@@ -80,9 +78,9 @@ class RuntimeEntryData:
80
78
  def async_update_state(self, state: EntityState) -> None: ...
81
79
  def async_update_device_state(self, hass: HomeAssistant) -> None: ...
82
80
  async def async_load_from_store(self) -> tuple[list[EntityInfo], list[UserService]]: ...
83
- async def async_save_to_store(self) -> None: ...
81
+ def async_save_to_store(self) -> None: ...
84
82
  async def async_cleanup(self) -> None: ...
85
83
  async def async_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
86
84
  def async_on_disconnect(self) -> None: ...
87
85
  def async_on_connect(self, device_info: DeviceInfo, api_version: APIVersion) -> None: ...
88
- def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_remove_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
86
+ def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
@@ -5,11 +5,11 @@ from .domain_data import DomainData as DomainData
5
5
  from .entry_data import RuntimeEntryData as RuntimeEntryData
6
6
  from .voice_assistant import VoiceAssistantUDPServer as VoiceAssistantUDPServer
7
7
  from _typeshed import Incomplete
8
- from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, EntityInfo as EntityInfo, HomeassistantServiceCall as HomeassistantServiceCall, UserService as UserService, VoiceAssistantAudioSettings as VoiceAssistantAudioSettings, VoiceAssistantEventType as VoiceAssistantEventType
8
+ from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, EntityInfo as EntityInfo, HomeassistantServiceCall as HomeassistantServiceCall, UserService as UserService, VoiceAssistantAudioSettings as VoiceAssistantAudioSettings
9
9
  from homeassistant.components import tag as tag, zeroconf as zeroconf
10
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
11
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_MODE as CONF_MODE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
12
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
12
+ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
13
13
  from homeassistant.exceptions import TemplateError as TemplateError
14
14
  from homeassistant.helpers import template as template
15
15
  from homeassistant.helpers.device_registry import format_mac as format_mac
@@ -43,12 +43,11 @@ class ESPHomeManager:
43
43
  @property
44
44
  def services_issue(self) -> str: ...
45
45
  def async_on_service_call(self, service: HomeassistantServiceCall) -> None: ...
46
- async def _send_home_assistant_state(self, entity_id: str, attribute: str | None, state: State | None) -> None: ...
47
- async def _send_home_assistant_state_event(self, attribute: str | None, event: EventType[EventStateChangedData]) -> None: ...
46
+ def _send_home_assistant_state(self, entity_id: str, attribute: str | None, state: State | None) -> None: ...
47
+ def _send_home_assistant_state_event(self, attribute: str | None, event: EventType[EventStateChangedData]) -> None: ...
48
48
  def async_on_state_subscription(self, entity_id: str, attribute: str | None = None) -> None: ...
49
- def _handle_pipeline_event(self, event_type: VoiceAssistantEventType, data: dict[str, str] | None) -> None: ...
50
49
  def _handle_pipeline_finished(self) -> None: ...
51
- async def _handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings) -> int | None: ...
50
+ async def _handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings, wake_word_phrase: str | None) -> int | None: ...
52
51
  async def _handle_pipeline_stop(self) -> None: ...
53
52
  async def on_connect(self) -> None: ...
54
53
  async def _on_connnect(self) -> None: ...
@@ -67,7 +66,7 @@ class ServiceMetadata(NamedTuple):
67
66
 
68
67
  ARG_TYPE_METADATA: Incomplete
69
68
 
70
- async def execute_service(entry_data: RuntimeEntryData, service: UserService, call: ServiceCall) -> None: ...
69
+ def execute_service(entry_data: RuntimeEntryData, service: UserService, call: ServiceCall) -> None: ...
71
70
  def build_service_name(device_info: EsphomeDeviceInfo, service: UserService) -> str: ...
72
71
  def _async_register_service(hass: HomeAssistant, entry_data: RuntimeEntryData, device_info: EsphomeDeviceInfo, service: UserService) -> None: ...
73
72
  def _setup_services(hass: HomeAssistant, entry_data: RuntimeEntryData, services: list[UserService]) -> None: ...
@@ -2,7 +2,7 @@ from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as es
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import EntityInfo as EntityInfo, SensorInfo, SensorState, SensorStateClass as EsphomeSensorStateClass, TextSensorInfo, TextSensorState
5
- from datetime import datetime
5
+ from datetime import date, datetime
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -23,5 +23,7 @@ class EsphomeSensor(EsphomeEntity[SensorInfo, SensorState], SensorEntity):
23
23
  def native_value(self) -> datetime | str | None: ...
24
24
 
25
25
  class EsphomeTextSensor(EsphomeEntity[TextSensorInfo, TextSensorState], SensorEntity):
26
+ _attr_device_class: Incomplete
27
+ def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
26
28
  @property
27
- def native_value(self) -> str | None: ...
29
+ def native_value(self) -> str | datetime | date | None: ...
@@ -15,7 +15,6 @@ from typing import Any
15
15
 
16
16
  KEY_UPDATE_LOCK: str
17
17
  NO_FEATURES: Incomplete
18
- _LOGGER: Incomplete
19
18
 
20
19
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
20
 
@@ -41,5 +41,5 @@ class VoiceAssistantUDPServer(asyncio.DatagramProtocol):
41
41
  def close(self) -> None: ...
42
42
  async def _iterate_packets(self) -> AsyncIterable[bytes]: ...
43
43
  def _event_callback(self, event: PipelineEvent) -> None: ...
44
- async def run_pipeline(self, device_id: str, conversation_id: str | None, flags: int = 0, audio_settings: VoiceAssistantAudioSettings | None = None) -> None: ...
44
+ async def run_pipeline(self, device_id: str, conversation_id: str | None, flags: int = 0, audio_settings: VoiceAssistantAudioSettings | None = None, wake_word_phrase: str | None = None) -> None: ...
45
45
  async def _send_tts(self, media_id: str) -> None: ...
@@ -16,7 +16,6 @@ class SpeedtestSensor(CoordinatorEntity[FastdotcomDataUpdateCoordindator], Senso
16
16
  _attr_device_class: Incomplete
17
17
  _attr_native_unit_of_measurement: Incomplete
18
18
  _attr_state_class: Incomplete
19
- _attr_icon: str
20
19
  _attr_should_poll: bool
21
20
  _attr_has_entity_name: bool
22
21
  _attr_unique_id: Incomplete
@@ -11,7 +11,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
11
11
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
12
 
13
13
  _LOGGER: Incomplete
14
- ICON: str
15
14
  SENSOR_TYPES: Incomplete
16
15
 
17
16
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN, MAX_TEMP as MAX_TEMP, MIN_TEMP as MIN_TEMP,
2
2
  from .coordinator import FlexitCoordinator as FlexitCoordinator
3
3
  from .entity import FlexitEntity as FlexitEntity
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_HOME as PRESET_HOME
5
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_HOME as PRESET_HOME
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -10,7 +10,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from typing import Any
12
12
 
13
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_devices: AddEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
15
  class FlexitClimateEntity(FlexitEntity, ClimateEntity):
16
16
  _attr_name: Incomplete
@@ -26,6 +26,8 @@ class FlexitClimateEntity(FlexitEntity, ClimateEntity):
26
26
  def __init__(self, coordinator: FlexitCoordinator) -> None: ...
27
27
  async def async_update(self) -> None: ...
28
28
  @property
29
+ def hvac_action(self) -> HVACAction | None: ...
30
+ @property
29
31
  def current_temperature(self) -> float: ...
30
32
  @property
31
33
  def target_temperature(self) -> float: ...
@@ -0,0 +1,31 @@
1
+ from . import FlexitCoordinator as FlexitCoordinator
2
+ from .const import DOMAIN as DOMAIN
3
+ from .entity import FlexitEntity as FlexitEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Awaitable, Callable as Callable
6
+ from dataclasses import dataclass
7
+ from flexit_bacnet import FlexitBACnet as FlexitBACnet
8
+ from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.const import PERCENTAGE as PERCENTAGE
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+
15
+ @dataclass(kw_only=True, frozen=True)
16
+ class FlexitNumberEntityDescription(NumberEntityDescription):
17
+ native_value_fn: Callable[[FlexitBACnet], float]
18
+ set_native_value_fn: Callable[[FlexitBACnet], Callable[[int], Awaitable[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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, native_value_fn, set_native_value_fn) -> None: ...
20
+
21
+ NUMBERS: tuple[FlexitNumberEntityDescription, ...]
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class FlexitNumber(FlexitEntity, NumberEntity):
26
+ entity_description: FlexitNumberEntityDescription
27
+ _attr_unique_id: Incomplete
28
+ def __init__(self, coordinator: FlexitCoordinator, entity_description: FlexitNumberEntityDescription) -> None: ...
29
+ @property
30
+ def native_value(self) -> float: ...
31
+ async def async_set_native_value(self, value: float) -> None: ...
@@ -82,7 +82,7 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator[UpdateCoordinatorDa
82
82
  def __init__(self, hass: HomeAssistant, password: str, username: str = ..., host: str = ..., port: int = ...) -> None: ...
83
83
  async def async_setup(self, options: MappingProxyType[str, Any] | None = None) -> None: ...
84
84
  def setup(self) -> None: ...
85
- def register_entity_updates(self, key: str, update_fn: Callable[[FritzStatus, StateType], Any]) -> Callable[[], None]: ...
85
+ async def async_register_entity_updates(self, key: str, update_fn: Callable[[FritzStatus, StateType], Any]) -> Callable[[], None]: ...
86
86
  async def _async_update_data(self) -> UpdateCoordinatorDataType: ...
87
87
  @property
88
88
  def unique_id(self) -> str: ...
@@ -220,6 +220,7 @@ class FritzBoxBaseCoordinatorEntity(update_coordinator.CoordinatorEntity[AvmWrap
220
220
  _device_name: Incomplete
221
221
  _attr_unique_id: Incomplete
222
222
  def __init__(self, avm_wrapper: AvmWrapper, device_name: str, description: FritzEntityDescription) -> None: ...
223
+ async def async_added_to_hass(self) -> None: ...
223
224
  @property
224
225
  def device_info(self) -> DeviceInfo: ...
225
226
 
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
5
5
  from homeassistant.components import media_source as media_source
6
6
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerState as MediaPlayerState, MediaType as MediaType, async_process_play_media_url as async_process_play_media_url
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from typing import Any
11
11
 
@@ -23,3 +23,4 @@ class FullyMediaPlayer(FullyKioskEntity, MediaPlayerEntity):
23
23
  _attr_volume_level: Incomplete
24
24
  async def async_set_volume_level(self, volume: float) -> None: ...
25
25
  async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
26
+ def _handle_coordinator_update(self) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from . import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from _typeshed import Incomplete
3
3
  from datetime import datetime, timedelta
4
- from homeassistant.components.climate import ATTR_PRESET_MODE as ATTR_PRESET_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PLATFORM_SCHEMA as PLATFORM_SCHEMA, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_COMFORT as PRESET_COMFORT, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP
4
+ from homeassistant.components.climate import ATTR_PRESET_MODE as ATTR_PRESET_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PLATFORM_SCHEMA as PLATFORM_SCHEMA, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP
5
5
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, PRECISION_HALVES as PRECISION_HALVES, 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_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
6
6
  from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
7
7
  from homeassistant.exceptions import ConditionError as ConditionError
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.device_registry import format_mac as format_mac
9
10
 
10
11
  PLATFORMS: Incomplete
11
12
 
@@ -1,8 +1,11 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.sensor import PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
3
+ from collections.abc import Callable as Callable
4
+ from dataclasses import dataclass
5
+ from gps3.agps3threaded import AGPS3mechanism
6
+ from homeassistant.components.sensor import PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
4
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
5
- from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_MODE as ATTR_MODE, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
8
+ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_MODE as ATTR_MODE, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, EntityCategory as EntityCategory
6
9
  from homeassistant.core import HomeAssistant as HomeAssistant
7
10
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
8
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -16,23 +19,26 @@ ATTR_ELEVATION: str
16
19
  ATTR_GPS_TIME: str
17
20
  ATTR_SPEED: str
18
21
  DEFAULT_NAME: str
22
+ _MODE_VALUES: Incomplete
23
+
24
+ @dataclass(frozen=True, kw_only=True)
25
+ class GpsdSensorDescription(SensorEntityDescription):
26
+ value_fn: Callable[[AGPS3mechanism], str | None]
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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
28
+
29
+ SENSOR_TYPES: tuple[GpsdSensorDescription, ...]
19
30
 
20
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
32
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
22
33
 
23
34
  class GpsdSensor(SensorEntity):
24
35
  _attr_has_entity_name: bool
25
- _attr_name: Incomplete
26
- _attr_translation_key: str
27
- _attr_device_class: Incomplete
28
- _attr_options: Incomplete
36
+ entity_description: GpsdSensorDescription
29
37
  _attr_device_info: Incomplete
30
38
  _attr_unique_id: Incomplete
31
39
  agps_thread: Incomplete
32
- def __init__(self, host: str, port: int, unique_id: str) -> None: ...
40
+ def __init__(self, host: str, port: int, unique_id: str, description: GpsdSensorDescription) -> None: ...
33
41
  @property
34
42
  def native_value(self) -> str | None: ...
35
43
  @property
36
44
  def extra_state_attributes(self) -> dict[str, Any]: ...
37
- @property
38
- def icon(self) -> str: ...
@@ -65,7 +65,7 @@ async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry)
65
65
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
66
66
  async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
67
67
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
68
- async def _process_group_platform(hass: HomeAssistant, domain: str, platform: GroupProtocol) -> None: ...
68
+ def _process_group_platform(hass: HomeAssistant, domain: str, platform: GroupProtocol) -> None: ...
69
69
  async def _async_process_config(hass: HomeAssistant, config: ConfigType) -> None: ...
70
70
 
71
71
  class GroupEntity(Entity, metaclass=abc.ABCMeta):
@@ -2,7 +2,7 @@ from . import GroupEntity as GroupEntity
2
2
  from .util import find_state_attributes as find_state_attributes, mean_tuple as mean_tuple, reduce_attribute as reduce_attribute
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components import light as light
5
- from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_MODE as ATTR_COLOR_MODE, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_EFFECT_LIST as ATTR_EFFECT_LIST, ATTR_FLASH as ATTR_FLASH, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_MAX_COLOR_TEMP_KELVIN as ATTR_MAX_COLOR_TEMP_KELVIN, ATTR_MIN_COLOR_TEMP_KELVIN as ATTR_MIN_COLOR_TEMP_KELVIN, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_SUPPORTED_COLOR_MODES as ATTR_SUPPORTED_COLOR_MODES, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_WHITE as ATTR_WHITE, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, PLATFORM_SCHEMA as PLATFORM_SCHEMA
5
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_MODE as ATTR_COLOR_MODE, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_EFFECT_LIST as ATTR_EFFECT_LIST, ATTR_FLASH as ATTR_FLASH, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_MAX_COLOR_TEMP_KELVIN as ATTR_MAX_COLOR_TEMP_KELVIN, ATTR_MIN_COLOR_TEMP_KELVIN as ATTR_MIN_COLOR_TEMP_KELVIN, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_SUPPORTED_COLOR_MODES as ATTR_SUPPORTED_COLOR_MODES, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_WHITE as ATTR_WHITE, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature, PLATFORM_SCHEMA as PLATFORM_SCHEMA, filter_supported_color_modes as filter_supported_color_modes
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -33,6 +33,8 @@ class LightGroup(GroupEntity, LightEntity):
33
33
  _attr_extra_state_attributes: Incomplete
34
34
  _attr_unique_id: Incomplete
35
35
  mode: Incomplete
36
+ _attr_color_mode: Incomplete
37
+ _attr_supported_color_modes: Incomplete
36
38
  def __init__(self, unique_id: str | None, name: str, entity_ids: list[str], mode: bool | None) -> None: ...
37
39
  async def async_turn_on(self, **kwargs: Any) -> None: ...
38
40
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -46,7 +48,5 @@ class LightGroup(GroupEntity, LightEntity):
46
48
  _attr_color_temp_kelvin: Incomplete
47
49
  _attr_effect_list: Incomplete
48
50
  _attr_effect: Incomplete
49
- _attr_color_mode: Incomplete
50
- _attr_supported_color_modes: Incomplete
51
51
  _attr_supported_features: Incomplete
52
52
  def async_update_group_state(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from homeassistant.components.hassio import get_os_info as get_os_info
1
+ from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -1,8 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .models import HardwareProtocol as HardwareProtocol
3
- from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
5
  from homeassistant.helpers.integration_platform import async_process_integration_platforms as async_process_integration_platforms
6
6
 
7
7
  async def async_process_hardware_platforms(hass: HomeAssistant) -> None: ...
8
- async def _register_hardware_platform(hass: HomeAssistant, integration_domain: str, platform: HardwareProtocol) -> None: ...
8
+ def _register_hardware_platform(hass: HomeAssistant, integration_domain: str, platform: HardwareProtocol) -> None: ...
@@ -18,4 +18,4 @@ class SystemStatus:
18
18
 
19
19
  async def async_setup(hass: HomeAssistant) -> None: ...
20
20
  async def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
21
- async def ws_subscribe_system_status(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
21
+ def ws_subscribe_system_status(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,4 +1,4 @@
1
- from homeassistant.components.hassio import get_os_info as get_os_info
1
+ from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -2,9 +2,10 @@ from .const import DOMAIN as DOMAIN
2
2
  from .util import get_usb_service_info as get_usb_service_info
3
3
  from homeassistant.components import usb as usb
4
4
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon, get_zigbee_socket as get_zigbee_socket, multi_pan_addon_using_device as multi_pan_addon_using_device
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
8
+ from homeassistant.helpers import discovery_flow as discovery_flow
8
9
 
9
10
  async def _async_usb_scan_done(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
10
11
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -1,9 +1,10 @@
1
1
  from .const import RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
- from homeassistant.components.hassio import get_os_info as get_os_info
2
+ from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
3
3
  from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon, get_zigbee_socket as get_zigbee_socket, multi_pan_addon_using_device as multi_pan_addon_using_device
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
7
+ from homeassistant.helpers import discovery_flow as discovery_flow
7
8
 
8
9
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
10
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -90,7 +90,7 @@ class HomeKit:
90
90
  def _async_update_accessories_hash(self) -> bool: ...
91
91
  def add_bridge_accessory(self, state: State) -> HomeAccessory | None: ...
92
92
  def _would_exceed_max_devices(self, name: str | None) -> bool: ...
93
- def add_bridge_triggers_accessory(self, device: dr.DeviceEntry, device_triggers: list[dict[str, Any]]) -> None: ...
93
+ async def add_bridge_triggers_accessory(self, device: dr.DeviceEntry, device_triggers: list[dict[str, Any]]) -> None: ...
94
94
  def async_remove_bridge_accessory(self, aid: int) -> HomeAccessory | None: ...
95
95
  async def async_configure_accessories(self) -> list[State]: ...
96
96
  async def async_start(self, *args: Any) -> None: ...
@@ -48,7 +48,7 @@ class HomeAccessory(Accessory):
48
48
  def _update_available_from_state(self, new_state: State | None) -> None: ...
49
49
  @property
50
50
  def available(self) -> bool: ...
51
- async def run(self) -> None: ...
51
+ def run(self) -> None: ...
52
52
  def async_update_event_state_callback(self, event: EventType[EventStateChangedData]) -> None: ...
53
53
  def async_update_state_callback(self, new_state: State | None) -> None: ...
54
54
  def async_update_linked_battery_callback(self, event: EventType[EventStateChangedData]) -> None: ...
@@ -9,9 +9,8 @@ from homeassistant.const import ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_D
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
10
10
  from homeassistant.data_entry_flow import FlowResult as FlowResult
11
11
  from homeassistant.helpers import entity_registry as er
12
- from homeassistant.helpers.entityfilter import CONF_EXCLUDE_DOMAINS as CONF_EXCLUDE_DOMAINS, CONF_EXCLUDE_ENTITIES as CONF_EXCLUDE_ENTITIES, CONF_INCLUDE_DOMAINS as CONF_INCLUDE_DOMAINS, CONF_INCLUDE_ENTITIES as CONF_INCLUDE_ENTITIES
13
12
  from homeassistant.loader import async_get_integrations as async_get_integrations
14
- from typing import Any
13
+ from typing import Any, Final, TypedDict
15
14
 
16
15
  CONF_CAMERA_AUDIO: str
17
16
  CONF_CAMERA_COPY: str
@@ -24,10 +23,20 @@ NEVER_BRIDGED_DOMAINS: Incomplete
24
23
  CAMERA_ENTITY_PREFIX: Incomplete
25
24
  SUPPORTED_DOMAINS: Incomplete
26
25
  DEFAULT_DOMAINS: Incomplete
27
- _EMPTY_ENTITY_FILTER: dict[str, list[str]]
26
+ CONF_INCLUDE_DOMAINS: Final[str]
27
+ CONF_INCLUDE_ENTITIES: Final[str]
28
+ CONF_EXCLUDE_DOMAINS: Final[str]
29
+ CONF_EXCLUDE_ENTITIES: Final[str]
28
30
 
31
+ class EntityFilterDict(TypedDict, total=False):
32
+ include_domains: list[str]
33
+ include_entities: list[str]
34
+ exclude_domains: list[str]
35
+ exclude_entities: list[str]
36
+
37
+ def _make_entity_filter(include_domains: list[str] | None = None, include_entities: list[str] | None = None, exclude_domains: list[str] | None = None, exclude_entities: list[str] | None = None) -> EntityFilterDict: ...
29
38
  async def _async_domain_names(hass: HomeAssistant, domains: list[str]) -> str: ...
30
- def _async_build_entites_filter(domains: list[str], entities: list[str]) -> dict[str, Any]: ...
39
+ def _async_build_entities_filter(domains: list[str], entities: list[str]) -> EntityFilterDict: ...
31
40
  def _async_cameras_from_entities(entities: list[str]) -> dict[str, str]: ...
32
41
  async def _async_name_to_type_map(hass: HomeAssistant) -> dict[str, str]: ...
33
42
 
@@ -35,7 +35,7 @@ class Camera(HomeAccessory, PyhapCamera):
35
35
  _char_doorbell_detected_switch: Incomplete
36
36
  linked_doorbell_sensor: Incomplete
37
37
  def __init__(self, hass: HomeAssistant, driver: HomeDriver, name: str, entity_id: str, aid: int, config: dict[str, Any]) -> None: ...
38
- async def run(self) -> None: ...
38
+ def run(self) -> None: ...
39
39
  def _async_update_motion_state_event(self, event: EventType[EventStateChangedData]) -> None: ...
40
40
  def _async_update_motion_state(self, new_state: State | None) -> None: ...
41
41
  def _async_update_doorbell_state_event(self, event: EventType[EventStateChangedData]) -> None: ...
@@ -20,7 +20,7 @@ class GarageDoorOpener(HomeAccessory):
20
20
  char_obstruction_detected: Incomplete
21
21
  linked_obstruction_sensor: Incomplete
22
22
  def __init__(self, *args: Any) -> None: ...
23
- async def run(self) -> None: ...
23
+ def run(self) -> None: ...
24
24
  def _async_update_obstruction_event(self, event: EventType[EventStateChangedData]) -> None: ...
25
25
  def _async_update_obstruction_state(self, new_state: State | None) -> None: ...
26
26
  def set_state(self, value: int) -> None: ...
@@ -32,7 +32,7 @@ class HumidifierDehumidifier(HomeAccessory):
32
32
  char_active: Incomplete
33
33
  linked_humidity_sensor: Incomplete
34
34
  def __init__(self, *args: Any) -> None: ...
35
- async def run(self) -> None: ...
35
+ def run(self) -> None: ...
36
36
  def async_update_current_humidity_event(self, event: EventType[EventStateChangedData]) -> None: ...
37
37
  def _async_update_current_humidity(self, new_state: State | None) -> None: ...
38
38
  def _async_update_current_humidity_value(self, current_humidity: float) -> None: ...
@@ -14,8 +14,10 @@ class DeviceTriggerAccessory(HomeAccessory):
14
14
  _remove_triggers: Incomplete
15
15
  triggers: Incomplete
16
16
  def __init__(self, *args: Any, device_triggers: list[dict[str, Any]] | None = None, device_id: str | None = None) -> None: ...
17
+ def _remove_triggers_if_configured(self) -> None: ...
18
+ async def async_attach(self) -> None: ...
19
+ def run(self) -> None: ...
17
20
  async def async_trigger(self, run_variables: dict[str, Any], context: Context | None = None, skip_condition: bool = False) -> None: ...
18
- async def run(self) -> None: ...
19
21
  def async_stop(self) -> None: ...
20
22
  @property
21
23
  def available(self) -> bool: ...
@@ -16,7 +16,6 @@ TARGET_STATE_MAP: Incomplete
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
 
18
18
  class HomeKitAlarmControlPanelEntity(HomeKitEntity, AlarmControlPanelEntity):
19
- _attr_icon: str
20
19
  _attr_supported_features: Incomplete
21
20
  def get_characteristic_types(self) -> list[str]: ...
22
21
  @property
@@ -3,6 +3,7 @@ from .connection import HKDevice as HKDevice
3
3
  from .entity import CharacteristicEntity as CharacteristicEntity
4
4
  from _typeshed import Incomplete
5
5
  from aiohomekit.model.characteristics import Characteristic as Characteristic
6
+ from collections.abc import Callable as Callable
6
7
  from dataclasses import dataclass
7
8
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -15,14 +16,17 @@ _LOGGER: Incomplete
15
16
 
16
17
  @dataclass(frozen=True)
17
18
  class HomeKitButtonEntityDescription(ButtonEntityDescription):
19
+ probe: Callable[[Characteristic], bool] | None = ...
18
20
  write_value: int | str | 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, write_value) -> None: ...
21
+ 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, probe, write_value) -> None: ...
20
22
 
21
23
  BUTTON_ENTITIES: dict[str, HomeKitButtonEntityDescription]
22
24
 
23
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
26
 
25
- class HomeKitButton(CharacteristicEntity, ButtonEntity):
27
+ class BaseHomeKitButton(CharacteristicEntity, ButtonEntity): ...
28
+
29
+ class HomeKitButton(BaseHomeKitButton):
26
30
  entity_description: HomeKitButtonEntityDescription
27
31
  def __init__(self, conn: HKDevice, info: ConfigType, char: Characteristic, description: HomeKitButtonEntityDescription) -> None: ...
28
32
  def get_characteristic_types(self) -> list[str]: ...
@@ -30,13 +34,13 @@ class HomeKitButton(CharacteristicEntity, ButtonEntity):
30
34
  def name(self) -> str: ...
31
35
  async def async_press(self) -> None: ...
32
36
 
33
- class HomeKitEcobeeClearHoldButton(CharacteristicEntity, ButtonEntity):
37
+ class HomeKitEcobeeClearHoldButton(BaseHomeKitButton):
34
38
  def get_characteristic_types(self) -> list[str]: ...
35
39
  @property
36
40
  def name(self) -> str: ...
37
41
  async def async_press(self) -> None: ...
38
42
 
39
- class HomeKitProvisionPreferredThreadCredentials(CharacteristicEntity, ButtonEntity):
43
+ class HomeKitProvisionPreferredThreadCredentials(BaseHomeKitButton):
40
44
  _attr_entity_category: Incomplete
41
45
  def get_characteristic_types(self) -> list[str]: ...
42
46
  @property
@@ -1,9 +1,13 @@
1
1
  from .const import CONTROLLER as CONTROLLER
2
2
  from .storage import async_get_entity_storage as async_get_entity_storage
3
+ from _typeshed import Incomplete
3
4
  from aiohomekit import Controller
4
5
  from homeassistant.components import bluetooth as bluetooth, zeroconf as zeroconf
5
6
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
6
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
8
 
9
+ IidTuple: Incomplete
10
+
11
+ def unique_id_to_iids(unique_id: str) -> IidTuple | None: ...
8
12
  def folded_name(name: str) -> str: ...
9
13
  async def async_get_controller(hass: HomeAssistant) -> Controller: ...
@@ -36,8 +36,6 @@ class HuaweiLteMobileConnectionBinarySensor(HuaweiLteBaseBinarySensor):
36
36
  @property
37
37
  def assumed_state(self) -> bool: ...
38
38
  @property
39
- def icon(self) -> str: ...
40
- @property
41
39
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
42
40
 
43
41
  class HuaweiLteBaseWifiStatusBinarySensor(HuaweiLteBaseBinarySensor):
@@ -45,8 +43,6 @@ class HuaweiLteBaseWifiStatusBinarySensor(HuaweiLteBaseBinarySensor):
45
43
  def is_on(self) -> bool: ...
46
44
  @property
47
45
  def assumed_state(self) -> bool: ...
48
- @property
49
- def icon(self) -> str: ...
50
46
 
51
47
  class HuaweiLteWifiStatusBinarySensor(HuaweiLteBaseWifiStatusBinarySensor):
52
48
  _attr_translation_key: str
@@ -71,5 +67,3 @@ class HuaweiLteSmsStorageFullBinarySensor(HuaweiLteBaseBinarySensor):
71
67
  def is_on(self) -> bool: ...
72
68
  @property
73
69
  def assumed_state(self) -> bool: ...
74
- @property
75
- def icon(self) -> str: ...