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
@@ -44,7 +44,7 @@ class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
44
44
  async def _async_create_or_error(self, user_input: dict[str, Any], importing: bool) -> tuple[dict[str, str] | None, ConfigFlowResult | None]: ...
45
45
  async def async_step_discovered_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
46
  async def async_step_manual_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
- async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
47
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
48
48
  def _url_already_configured(self, url: str) -> bool: ...
49
49
 
50
50
  class InvalidAuth(HomeAssistantError): ...
@@ -21,6 +21,6 @@ class Enigma2ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
21
21
  OPTIONS_KEYS: Incomplete
22
22
  async def validate_user_input(self, user_input: dict[str, Any]) -> dict[str, str] | None: ...
23
23
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
- async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
24
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
25
25
  @staticmethod
26
26
  def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler: ...
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import ClimateAction, ClimateFanMode, ClimateInfo, ClimateMode, ClimatePreset, ClimateState, ClimateSwingMode, EntityInfo as EntityInfo
@@ -2,7 +2,7 @@ from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryDa
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
5
- from collections.abc import Awaitable, Callable as Callable, Coroutine
5
+ from collections.abc import Awaitable as Awaitable, Callable as Callable, Coroutine
6
6
  from homeassistant.const import EntityCategory as EntityCategory
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -10,10 +10,8 @@ from homeassistant.helpers import entity_platform as entity_platform
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity import Entity as Entity
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
- from typing import Any, Concatenate, Generic, ParamSpec, TypeVar
13
+ from typing import Any, Concatenate, Generic, TypeVar
14
14
 
15
- _R = TypeVar('_R')
16
- _P = ParamSpec('_P')
17
15
  _InfoT = TypeVar('_InfoT', bound=EntityInfo)
18
16
  _EntityT = TypeVar('_EntityT', bound='EsphomeEntity[Any,Any]')
19
17
  _StateT = TypeVar('_StateT', bound=EntityState)
@@ -21,6 +19,7 @@ _StateT = TypeVar('_StateT', bound=EntityState)
21
19
  def async_static_info_updated(hass: HomeAssistant, entry_data: RuntimeEntryData, platform: entity_platform.EntityPlatform, async_add_entities: AddEntitiesCallback, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT], infos: list[EntityInfo]) -> None: ...
22
20
  async def platform_async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry, async_add_entities: AddEntitiesCallback, *, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT]) -> None: ...
23
21
  def esphome_state_property(func: Callable[[_EntityT], _R]) -> Callable[[_EntityT], _R | None]: ...
22
+ def esphome_float_state_property(func: Callable[[_EntityT], float | None]) -> Callable[[_EntityT], float | None]: ...
24
23
  def convert_api_error_ha_error(func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
25
24
 
26
25
  ICON_SCHEMA: Incomplete
@@ -32,6 +31,7 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
32
31
  _state: _StateT
33
32
  _has_state: bool
34
33
  _entry_data: Incomplete
34
+ _states: Incomplete
35
35
  _device_info: Incomplete
36
36
  _key: Incomplete
37
37
  _state_type: Incomplete
@@ -4,6 +4,7 @@ from .dashboard import async_get_dashboard as async_get_dashboard
4
4
  from _typeshed import Incomplete
5
5
  from aioesphomeapi import APIClient as APIClient, APIVersion, DeviceInfo, EntityInfo as EntityInfo, EntityState as EntityState, UserService
6
6
  from bleak_esphome.backend.device import ESPHomeBluetoothDevice as ESPHomeBluetoothDevice
7
+ from collections import defaultdict
7
8
  from collections.abc import Callable as Callable, Iterable
8
9
  from dataclasses import dataclass
9
10
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -32,7 +33,7 @@ class RuntimeEntryData:
32
33
  title: str
33
34
  client: APIClient
34
35
  store: ESPHomeStorage
35
- state: dict[type[EntityState], dict[int, EntityState]] = ...
36
+ state: defaultdict[type[EntityState], dict[int, EntityState]] = ...
36
37
  stale_state: set[tuple[type[EntityState], int]] = ...
37
38
  info: dict[type[EntityInfo], dict[int, EntityInfo]] = ...
38
39
  services: dict[int, UserService] = ...
@@ -46,6 +46,7 @@ class ESPHomeManager:
46
46
  def _send_home_assistant_state(self, entity_id: str, attribute: str | None, state: State | None) -> None: ...
47
47
  def _send_home_assistant_state_event(self, attribute: str | None, event: Event[EventStateChangedData]) -> None: ...
48
48
  def async_on_state_subscription(self, entity_id: str, attribute: str | None = None) -> None: ...
49
+ def async_on_state_request(self, entity_id: str, attribute: str | None = None) -> None: ...
49
50
  def _handle_pipeline_finished(self) -> None: ...
50
51
  async def _handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings, wake_word_phrase: str | None) -> int | None: ...
51
52
  async def _handle_pipeline_stop(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import EntityInfo as EntityInfo, MediaPlayerEntityState, MediaPlayerInfo, MediaPlayerState as EspMediaPlayerState
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import EntityInfo as EntityInfo, NumberInfo, NumberMode as EsphomeNumberMode, NumberState
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
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
@@ -22,7 +22,7 @@ class FeedReaderConfigFlow(ConfigFlow, domain=DOMAIN):
22
22
  def show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None, description_placeholders: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
23
23
  def abort_on_import_error(self, url: str, error: str) -> ConfigFlowResult: ...
24
24
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
- async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
26
26
  async def async_step_reconfigure(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
27
  async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
@@ -14,4 +14,5 @@ class FileSizeCoordinator(DataUpdateCoordinator[dict[str, int | float | datetime
14
14
  def __init__(self, hass: HomeAssistant, unresolved_path: str) -> None: ...
15
15
  def _get_full_path(self) -> pathlib.Path: ...
16
16
  def _update(self) -> os.stat_result: ...
17
+ async def _async_setup(self) -> None: ...
17
18
  async def _async_update_data(self) -> dict[str, float | int | datetime]: ...
@@ -22,4 +22,4 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
22
22
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
23
  async def async_step_creation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
24
  async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
25
- async def async_step_import(self, data: dict[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
@@ -1,5 +1,5 @@
1
1
  from . import FritzBoxDeviceEntity as FritzBoxDeviceEntity, FritzboxDataUpdateCoordinator as FritzboxDataUpdateCoordinator
2
- from .const import COLOR_MODE as COLOR_MODE, COLOR_TEMP_MODE as COLOR_TEMP_MODE, LOGGER as LOGGER
2
+ from .const import COLOR_MODE as COLOR_MODE, LOGGER as LOGGER
3
3
  from .coordinator import FritzboxConfigEntry as FritzboxConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
@@ -7,25 +7,22 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
8
  from typing import Any
9
9
 
10
- SUPPORTED_COLOR_MODES: Incomplete
11
-
12
10
  async def async_setup_entry(hass: HomeAssistant, entry: FritzboxConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
11
 
14
12
  class FritzboxLight(FritzBoxDeviceEntity, LightEntity):
15
13
  _supported_hs: Incomplete
14
+ _attr_supported_color_modes: Incomplete
16
15
  def __init__(self, coordinator: FritzboxDataUpdateCoordinator, ain: str) -> None: ...
17
16
  @property
18
17
  def is_on(self) -> bool: ...
19
18
  @property
20
19
  def brightness(self) -> int: ...
21
20
  @property
22
- def hs_color(self) -> tuple[float, float] | None: ...
21
+ def hs_color(self) -> tuple[float, float]: ...
23
22
  @property
24
- def color_temp_kelvin(self) -> int | None: ...
23
+ def color_temp_kelvin(self) -> int: ...
25
24
  @property
26
25
  def color_mode(self) -> ColorMode: ...
27
- @property
28
- def supported_color_modes(self) -> set[ColorMode]: ...
29
26
  async def async_turn_on(self, **kwargs: Any) -> None: ...
30
27
  async def async_turn_off(self, **kwargs: Any) -> None: ...
31
28
  _attr_max_color_temp_kelvin: Incomplete
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfReactivePower as UnitOfReactivePower, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -0,0 +1,12 @@
1
+ from .const import API_TIMEOUT as API_TIMEOUT, CONF_EUROPE as CONF_EUROPE, FGLAIR_APP_ID as FGLAIR_APP_ID, FGLAIR_APP_SECRET as FGLAIR_APP_SECRET
2
+ from .coordinator import FGLairCoordinator as FGLairCoordinator
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
7
+
8
+ PLATFORMS: list[Platform]
9
+ FGLairConfigEntry = ConfigEntry[FGLairCoordinator]
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool: ...
@@ -0,0 +1,53 @@
1
+ from . import FGLairConfigEntry as FGLairConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import FGLairCoordinator as FGLairCoordinator
4
+ from _typeshed import Incomplete
5
+ from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC as FujitsuHVAC
6
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
7
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+ from typing import Any
13
+
14
+ HA_TO_FUJI_FAN: Incomplete
15
+ FUJI_TO_HA_FAN: Incomplete
16
+ HA_TO_FUJI_HVAC: Incomplete
17
+ FUJI_TO_HA_HVAC: Incomplete
18
+ HA_TO_FUJI_SWING: Incomplete
19
+ FUJI_TO_HA_SWING: Incomplete
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
+
23
+ class FGLairDevice(CoordinatorEntity[FGLairCoordinator], ClimateEntity):
24
+ _attr_temperature_unit: Incomplete
25
+ _attr_precision = PRECISION_HALVES
26
+ _attr_target_temperature_step: float
27
+ _attr_has_entity_name: bool
28
+ _attr_name: Incomplete
29
+ _enable_turn_on_off_backwards_compatibility: bool
30
+ _attr_unique_id: Incomplete
31
+ _attr_device_info: Incomplete
32
+ _attr_supported_features: Incomplete
33
+ def __init__(self, coordinator: FGLairCoordinator, device: FujitsuHVAC) -> None: ...
34
+ @property
35
+ def device(self) -> FujitsuHVAC: ...
36
+ @property
37
+ def available(self) -> bool: ...
38
+ async def async_set_fan_mode(self, fan_mode: str) -> None: ...
39
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
40
+ async def async_set_swing_mode(self, swing_mode: str) -> None: ...
41
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
42
+ _attr_fan_mode: Incomplete
43
+ _attr_fan_modes: Incomplete
44
+ _attr_hvac_mode: Incomplete
45
+ _attr_hvac_modes: Incomplete
46
+ _attr_swing_mode: Incomplete
47
+ _attr_swing_modes: Incomplete
48
+ _attr_min_temp: Incomplete
49
+ _attr_max_temp: Incomplete
50
+ _attr_current_temperature: Incomplete
51
+ _attr_target_temperature: Incomplete
52
+ def _set_attr(self) -> None: ...
53
+ def _handle_coordinator_update(self) -> None: ...
@@ -0,0 +1,18 @@
1
+ from .const import API_TIMEOUT as API_TIMEOUT, CONF_EUROPE as CONF_EUROPE, DOMAIN as DOMAIN, FGLAIR_APP_ID as FGLAIR_APP_ID, FGLAIR_APP_SECRET as FGLAIR_APP_SECRET
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.helpers import aiohttp_client as aiohttp_client
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
10
+ STEP_USER_DATA_SCHEMA: Incomplete
11
+ STEP_REAUTH_DATA_SCHEMA: Incomplete
12
+
13
+ class FGLairConfigFlow(ConfigFlow, domain=DOMAIN):
14
+ _reauth_entry: ConfigEntry | None
15
+ async def _async_validate_credentials(self, user_input: dict[str, Any]) -> dict[str, str]: ...
16
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
18
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,7 @@
1
+ from _typeshed import Incomplete
2
+ from ayla_iot_unofficial.fujitsu_consts import FGLAIR_APP_ID as FGLAIR_APP_ID, FGLAIR_APP_SECRET as FGLAIR_APP_SECRET
3
+
4
+ API_TIMEOUT: int
5
+ API_REFRESH: Incomplete
6
+ DOMAIN: str
7
+ CONF_EUROPE: str
@@ -0,0 +1,15 @@
1
+ from .const import API_REFRESH as API_REFRESH
2
+ from _typeshed import Incomplete
3
+ from ayla_iot_unofficial import AylaApi as AylaApi
4
+ from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
+
9
+ _LOGGER: Incomplete
10
+
11
+ class FGLairCoordinator(DataUpdateCoordinator[dict[str, FujitsuHVAC]]):
12
+ api: Incomplete
13
+ def __init__(self, hass: HomeAssistant, api: AylaApi) -> None: ...
14
+ async def _async_setup(self) -> None: ...
15
+ async def _async_update_data(self) -> dict[str, FujitsuHVAC]: ...
@@ -0,0 +1,15 @@
1
+ from .const import CONF_EXPIRATION as CONF_EXPIRATION
2
+ from .coordinator import FytaCoordinator as FytaCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.util.dt import async_get_time_zone as async_get_time_zone
8
+
9
+ _LOGGER: Incomplete
10
+ PLATFORMS: Incomplete
11
+ FytaConfigEntry = ConfigEntry[FytaCoordinator]
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,22 @@
1
+ from . import FytaConfigEntry as FytaConfigEntry
2
+ from .const import CONF_EXPIRATION as CONF_EXPIRATION, DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Mapping
5
+ from fyta_cli.fyta_models import Credentials as Credentials
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
+ from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
9
+ from typing import Any
10
+
11
+ _LOGGER: Incomplete
12
+ DATA_SCHEMA: Incomplete
13
+
14
+ class FytaConfigFlow(ConfigFlow, domain=DOMAIN):
15
+ credentials: Credentials
16
+ _entry: FytaConfigEntry | None
17
+ VERSION: int
18
+ MINOR_VERSION: int
19
+ async def async_auth(self, user_input: Mapping[str, Any]) -> dict[str, str]: ...
20
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
22
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,2 @@
1
+ DOMAIN: str
2
+ CONF_EXPIRATION: str
@@ -0,0 +1,18 @@
1
+ from . import FytaConfigEntry as FytaConfigEntry
2
+ from .const import CONF_EXPIRATION as CONF_EXPIRATION
3
+ from _typeshed import Incomplete
4
+ from fyta_cli.fyta_connector import FytaConnector as FytaConnector
5
+ from fyta_cli.fyta_models import Plant
6
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
+
11
+ _LOGGER: Incomplete
12
+
13
+ class FytaCoordinator(DataUpdateCoordinator[dict[int, Plant]]):
14
+ config_entry: FytaConfigEntry
15
+ fyta: Incomplete
16
+ def __init__(self, hass: HomeAssistant, fyta: FytaConnector) -> None: ...
17
+ async def _async_update_data(self) -> dict[int, Plant]: ...
18
+ async def renew_authentication(self) -> bool: ...
@@ -0,0 +1,10 @@
1
+ from . import FytaConfigEntry as FytaConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: FytaConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,20 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import FytaCoordinator as FytaCoordinator
3
+ from _typeshed import Incomplete
4
+ from fyta_cli.fyta_models import Plant as Plant
5
+ from homeassistant.components.sensor import SensorEntityDescription as SensorEntityDescription
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
+
10
+ class FytaPlantEntity(CoordinatorEntity[FytaCoordinator]):
11
+ _attr_has_entity_name: bool
12
+ plant_id: Incomplete
13
+ _attr_unique_id: Incomplete
14
+ _attr_device_info: Incomplete
15
+ entity_description: Incomplete
16
+ def __init__(self, coordinator: FytaCoordinator, entry: ConfigEntry, description: SensorEntityDescription, plant_id: int) -> None: ...
17
+ @property
18
+ def plant(self) -> Plant: ...
19
+ @property
20
+ def available(self) -> bool: ...
@@ -0,0 +1,29 @@
1
+ from . import FytaConfigEntry as FytaConfigEntry
2
+ from .coordinator import FytaCoordinator as FytaCoordinator
3
+ from .entity import FytaPlantEntity as FytaPlantEntity
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import datetime
7
+ from fyta_cli.fyta_models import Plant as Plant
8
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfConductivity as UnitOfConductivity, UnitOfTemperature as UnitOfTemperature
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.typing import StateType as StateType
13
+ from typing import Final
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class FytaSensorEntityDescription(SensorEntityDescription):
17
+ value_fn: Callable[[Plant], StateType | datetime]
18
+ 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: ...
19
+
20
+ PLANT_STATUS_LIST: list[str]
21
+ PLANT_MEASUREMENT_STATUS_LIST: list[str]
22
+ SENSORS: Final[list[FytaSensorEntityDescription]]
23
+
24
+ async def async_setup_entry(hass: HomeAssistant, entry: FytaConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
25
+
26
+ class FytaPlantSensor(FytaPlantEntity, SensorEntity):
27
+ entity_description: FytaSensorEntityDescription
28
+ @property
29
+ def native_value(self) -> StateType | datetime: ...
@@ -11,7 +11,6 @@ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity,
11
11
  from typing import Any
12
12
 
13
13
  PLATFORMS: Incomplete
14
- CONFIG_SCHEMA: Incomplete
15
14
  _LOGGER: Incomplete
16
15
  GlancesConfigEntry = ConfigEntry[GlancesDataUpdateCoordinator]
17
16
 
@@ -23,9 +23,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
23
23
  def logger(self) -> logging.Logger: ...
24
24
  @property
25
25
  def extra_authorize_data(self) -> dict[str, Any]: ...
26
- flow_impl: Incomplete
27
26
  external_data: Incomplete
28
- async def async_step_import(self, info: dict[str, Any]) -> ConfigFlowResult: ...
29
27
  async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
28
  async def async_step_creation(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
29
  async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
@@ -10,5 +10,4 @@ class GPSDConfigFlow(ConfigFlow, domain=DOMAIN):
10
10
  VERSION: int
11
11
  @staticmethod
12
12
  def test_connection(host: str, port: int) -> bool: ...
13
- async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
14
13
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -3,15 +3,14 @@ from .const import DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
+ from datetime import datetime
6
7
  from gps3.agps3threaded import AGPS3mechanism as AGPS3mechanism
7
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
- from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
9
- 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
9
+ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_MODE as ATTR_MODE, ATTR_TIME as ATTR_TIME, EntityCategory as EntityCategory, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
14
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
+ from homeassistant.helpers.typing import StateType as StateType
15
14
  from typing import Any
16
15
 
17
16
  _LOGGER: Incomplete
@@ -24,14 +23,12 @@ _MODE_VALUES: Incomplete
24
23
 
25
24
  @dataclass(frozen=True, kw_only=True)
26
25
  class GpsdSensorDescription(SensorEntityDescription):
27
- value_fn: Callable[[AGPS3mechanism], str | None]
26
+ value_fn: Callable[[AGPS3mechanism], StateType | datetime]
28
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: ...
29
28
 
30
29
  SENSOR_TYPES: tuple[GpsdSensorDescription, ...]
31
- PLATFORM_SCHEMA: Incomplete
32
30
 
33
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: GPSDConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
34
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
35
32
 
36
33
  class GpsdSensor(SensorEntity):
37
34
  _attr_has_entity_name: bool
@@ -41,6 +38,6 @@ class GpsdSensor(SensorEntity):
41
38
  agps_thread: Incomplete
42
39
  def __init__(self, agps_thread: AGPS3mechanism, unique_id: str, description: GpsdSensorDescription) -> None: ...
43
40
  @property
44
- def native_value(self) -> str | None: ...
41
+ def native_value(self) -> StateType | datetime: ...
45
42
  @property
46
- def extra_state_attributes(self) -> dict[str, Any]: ...
43
+ def extra_state_attributes(self) -> dict[str, Any] | None: ...
@@ -1,10 +1,15 @@
1
- from .const import RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
1
+ from .const import FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
2
+ from _typeshed import Incomplete
2
3
  from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
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.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon
5
+ from homeassistant.components.homeassistant_hardware.util import ApplicationType as ApplicationType, guess_firmware_type as guess_firmware_type
4
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
5
7
  from homeassistant.core import HomeAssistant as HomeAssistant
6
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
7
9
  from homeassistant.helpers import discovery_flow as discovery_flow
8
10
 
11
+ _LOGGER: Incomplete
12
+
9
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
14
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,31 +1,53 @@
1
- from .const import DOMAIN as DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
1
+ import abc
2
+ from .const import DOMAIN as DOMAIN, FIRMWARE as FIRMWARE, RADIO_DEVICE as RADIO_DEVICE, ZHA_DOMAIN as ZHA_DOMAIN, ZHA_HW_DISCOVERY_DATA as ZHA_HW_DISCOVERY_DATA
3
+ from .hardware import BOARD_NAME as BOARD_NAME
2
4
  from _typeshed import Incomplete
5
+ from abc import ABC, abstractmethod
3
6
  from homeassistant.components.hassio import HassioAPIError as HassioAPIError, async_get_yellow_settings as async_get_yellow_settings, async_reboot_host as async_reboot_host, async_set_yellow_settings as async_set_yellow_settings
4
- from homeassistant.components.homeassistant_hardware import silabs_multiprotocol_addon as silabs_multiprotocol_addon
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
+ from homeassistant.components.homeassistant_hardware.firmware_config_flow import BaseFirmwareConfigFlow as BaseFirmwareConfigFlow, BaseFirmwareOptionsFlow as BaseFirmwareOptionsFlow
8
+ from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import OptionsFlowHandler as MultiprotocolOptionsFlowHandler, SerialPortSettings as MultiprotocolSerialPortSettings
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_HARDWARE as SOURCE_HARDWARE
6
10
  from homeassistant.core import callback as callback
7
- from homeassistant.helpers import selector as selector
11
+ from homeassistant.helpers import discovery_flow as discovery_flow, selector as selector
8
12
  from typing import Any
9
13
 
10
14
  _LOGGER: Incomplete
11
15
  STEP_HW_SETTINGS_SCHEMA: Incomplete
12
16
 
13
- class HomeAssistantYellowConfigFlow(ConfigFlow, domain=DOMAIN):
17
+ class HomeAssistantYellowConfigFlow(BaseFirmwareConfigFlow, domain=DOMAIN):
14
18
  VERSION: int
19
+ MINOR_VERSION: int
20
+ _device: Incomplete
21
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...
15
22
  @staticmethod
16
- def async_get_options_flow(config_entry: ConfigEntry) -> HomeAssistantYellowOptionsFlow: ...
23
+ def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
17
24
  async def async_step_system(self, data: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
+ def _async_flow_finished(self) -> ConfigFlowResult: ...
18
26
 
19
- class HomeAssistantYellowOptionsFlow(silabs_multiprotocol_addon.OptionsFlowHandler):
27
+ class BaseHomeAssistantYellowOptionsFlow(OptionsFlow, ABC, metaclass=abc.ABCMeta):
20
28
  _hw_settings: dict[str, bool] | None
21
- async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
+ @abstractmethod
22
30
  async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
31
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
+ async def async_step_on_supervisor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
33
  async def async_step_hardware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
34
  async def async_step_reboot_menu(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
35
  async def async_step_reboot_now(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
36
  async def async_step_reboot_later(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
+
38
+ class HomeAssistantYellowMultiPanOptionsFlowHandler(BaseHomeAssistantYellowOptionsFlow, MultiprotocolOptionsFlowHandler):
39
+ async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
27
40
  async def async_step_multipan_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
- async def _async_serial_port_settings(self) -> silabs_multiprotocol_addon.SerialPortSettings: ...
41
+ async def _async_serial_port_settings(self) -> MultiprotocolSerialPortSettings: ...
29
42
  async def _async_zha_physical_discovery(self) -> dict[str, Any]: ...
30
43
  def _zha_name(self) -> str: ...
31
44
  def _hardware_name(self) -> str: ...
45
+ async def async_step_flashing_complete(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
+
47
+ class HomeAssistantYellowOptionsFlowHandler(BaseHomeAssistantYellowOptionsFlow, BaseFirmwareOptionsFlow):
48
+ _hardware_name: Incomplete
49
+ _device: Incomplete
50
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...
51
+ async def async_step_main_menu(self, _: None = None) -> ConfigFlowResult: ...
52
+ async def async_step_firmware_settings(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
53
+ def _async_flow_finished(self) -> ConfigFlowResult: ...
@@ -3,3 +3,5 @@ from _typeshed import Incomplete
3
3
  DOMAIN: str
4
4
  RADIO_DEVICE: str
5
5
  ZHA_HW_DISCOVERY_DATA: Incomplete
6
+ FIRMWARE: str
7
+ ZHA_DOMAIN: str
@@ -46,7 +46,7 @@ class HomeKitConfigFlow(ConfigFlow, domain=DOMAIN):
46
46
  async def async_step_pairing(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
47
  async def _async_add_entries_for_accessory_mode_entities(self, last_assigned_port: int) -> None: ...
48
48
  async def async_step_accessory(self, accessory_input: dict[str, Any]) -> ConfigFlowResult: ...
49
- async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
49
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
50
50
  def _async_current_names(self) -> set[str]: ...
51
51
  def _async_available_name(self, requested_name: str) -> str: ...
52
52
  def _async_is_unique_name_port(self, user_input: dict[str, Any]) -> bool: ...
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.sensor import DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.const import ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, Platform as Platform, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfVolume as UnitOfVolume
9
+ from homeassistant.const import ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfReactivePower as UnitOfReactivePower, UnitOfVolume as UnitOfVolume
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback