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
@@ -14,7 +14,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry, as
14
14
 
15
15
  class AutomowerButtonEntity(AutomowerAvailableEntity, ButtonEntity):
16
16
  _attr_translation_key: str
17
- _attr_entity_registry_enabled_default: bool
18
17
  _attr_unique_id: Incomplete
19
18
  def __init__(self, mower_id: str, coordinator: AutomowerDataUpdateCoordinator) -> None: ...
20
19
  @property
@@ -12,4 +12,4 @@ class HydrawiseConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  async def _create_or_update_entry(self, username: str, password: str, *, on_failure: Callable[[str], ConfigFlowResult]) -> ConfigFlowResult: ...
13
13
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
14
  def _show_form(self, error_type: str | None = None) -> ConfigFlowResult: ...
15
- async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
15
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -38,6 +38,7 @@ class _IntentCardData(TypedDict):
38
38
  content: template.Template
39
39
 
40
40
  class ScriptIntentHandler(intent.IntentHandler):
41
+ slot_schema: Incomplete
41
42
  intent_type: Incomplete
42
43
  config: Incomplete
43
44
  description: Incomplete
@@ -1,4 +1,3 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .coordinator import IslamicPrayerDataUpdateCoordinator as IslamicPrayerDataUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -6,7 +5,6 @@ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE a
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
6
 
8
7
  PLATFORMS: Incomplete
9
- CONFIG_SCHEMA: Incomplete
10
8
  _LOGGER: Incomplete
11
9
  IslamicPrayerTimesConfigEntry = ConfigEntry[IslamicPrayerDataUpdateCoordinator]
12
10
 
@@ -1,7 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
3
3
  from homeassistant.components.climate import FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_MEDIUM as FAN_MEDIUM, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST
4
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, CURRENCY_CENT as CURRENCY_CENT, CURRENCY_DOLLAR as CURRENCY_DOLLAR, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, POWER_VOLT_AMPERE_REACTIVE as POWER_VOLT_AMPERE_REACTIVE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, SERVICE_LOCK as SERVICE_LOCK, SERVICE_UNLOCK as SERVICE_UNLOCK, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_LOCKED as STATE_LOCKED, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING, STATE_PROBLEM as STATE_PROBLEM, STATE_UNKNOWN as STATE_UNKNOWN, STATE_UNLOCKED as STATE_UNLOCKED, UV_INDEX as UV_INDEX, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, CURRENCY_CENT as CURRENCY_CENT, CURRENCY_DOLLAR as CURRENCY_DOLLAR, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, SERVICE_LOCK as SERVICE_LOCK, SERVICE_UNLOCK as SERVICE_UNLOCK, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_LOCKED as STATE_LOCKED, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING, STATE_PROBLEM as STATE_PROBLEM, STATE_UNKNOWN as STATE_UNKNOWN, STATE_UNLOCKED as STATE_UNLOCKED, UV_INDEX as UV_INDEX, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
5
5
 
6
6
  _LOGGER: Incomplete
7
7
  DOMAIN: str
@@ -5,7 +5,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow
5
5
  from homeassistant.const import CONF_ELEVATION as CONF_ELEVATION, CONF_LANGUAGE as CONF_LANGUAGE, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_TIME_ZONE as CONF_TIME_ZONE
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, LocationSelector as LocationSelector, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig
8
- from homeassistant.helpers.typing import ConfigType as ConfigType
9
8
  from typing import Any
10
9
 
11
10
  LANGUAGE: Incomplete
@@ -19,7 +18,7 @@ class JewishCalendarConfigFlow(ConfigFlow, domain=DOMAIN):
19
18
  @staticmethod
20
19
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowWithConfigEntry: ...
21
20
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
- async def async_step_import(self, import_config: ConfigType | None) -> ConfigFlowResult: ...
21
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
23
22
 
24
23
  class JewishCalendarOptionsFlowHandler(OptionsFlowWithConfigEntry):
25
24
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,3 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .coordinator import JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -6,7 +5,8 @@ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PA
6
5
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
7
 
8
+ JVCConfigEntry = ConfigEntry[JvcProjectorDataUpdateCoordinator]
9
9
  PLATFORMS: Incomplete
10
10
 
11
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: JVCConfigEntry) -> bool: ...
@@ -1,15 +1,13 @@
1
- from . import JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import JVCConfigEntry as JVCConfigEntry, JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
3
2
  from .entity import JvcProjectorEntity as JvcProjectorEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
7
 
10
8
  ON_STATUS: Incomplete
11
9
 
12
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
11
 
14
12
  class JvcBinarySensor(JvcProjectorEntity, BinarySensorEntity):
15
13
  _attr_translation_key: str
@@ -10,7 +10,7 @@ class JvcProjectorConfigFlow(ConfigFlow, domain=DOMAIN):
10
10
  VERSION: int
11
11
  _reauth_entry: ConfigEntry | None
12
12
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
- async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
13
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
14
14
  async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
15
15
 
16
16
  class InvalidHost(Exception): ...
@@ -1,9 +1,8 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from . import JVCConfigEntry as JVCConfigEntry
2
2
  from .entity import JvcProjectorEntity as JvcProjectorEntity
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Iterable
5
5
  from homeassistant.components.remote import RemoteEntity as RemoteEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -12,7 +11,7 @@ from typing import Any
12
11
  COMMANDS: Incomplete
13
12
  _LOGGER: Incomplete
14
13
 
15
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
15
 
17
16
  class JvcProjectorRemote(JvcProjectorEntity, RemoteEntity):
18
17
  _attr_name: Incomplete
@@ -1,11 +1,9 @@
1
- from . import JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import JVCConfigEntry as JVCConfigEntry, JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
3
2
  from .entity import JvcProjectorEntity as JvcProjectorEntity
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Awaitable, Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
9
  from jvcprojector import JvcProjector as JvcProjector
@@ -19,7 +17,7 @@ class JvcProjectorSelectDescription(SelectEntityDescription):
19
17
  OPTIONS: Final[dict[str, dict[str, str]]]
20
18
  SELECTS: Final[list[JvcProjectorSelectDescription]]
21
19
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
21
 
24
22
  class JvcProjectorSelectEntity(JvcProjectorEntity, SelectEntity):
25
23
  entity_description: JvcProjectorSelectDescription
@@ -1,16 +1,14 @@
1
- from . import JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import JVCConfigEntry as JVCConfigEntry, JvcProjectorDataUpdateCoordinator as JvcProjectorDataUpdateCoordinator
3
2
  from .entity import JvcProjectorEntity as JvcProjectorEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.const import EntityCategory as EntityCategory
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
8
 
11
9
  JVC_SENSORS: Incomplete
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
12
 
15
13
  class JvcSensor(JvcProjectorEntity, SensorEntity):
16
14
  entity_description: Incomplete
@@ -1,10 +1,10 @@
1
1
  from . import KNXModule as KNXModule
2
- from .const import CONTROLLER_MODES as CONTROLLER_MODES, CURRENT_HVAC_ACTIONS as CURRENT_HVAC_ACTIONS, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN, PRESET_MODES as PRESET_MODES
2
+ from .const import CONTROLLER_MODES as CONTROLLER_MODES, CURRENT_HVAC_ACTIONS as CURRENT_HVAC_ACTIONS, DATA_KNX_CONFIG as DATA_KNX_CONFIG, DOMAIN as DOMAIN
3
3
  from .knx_entity import KnxYamlEntity as KnxYamlEntity
4
4
  from .schema import ClimateSchema as ClimateSchema
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant import config_entries as config_entries
7
- from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY
7
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode
8
8
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -15,7 +15,6 @@ from xknx.devices import Climate as XknxClimate, Device as XknxDevice
15
15
 
16
16
  ATTR_COMMAND_VALUE: str
17
17
  CONTROLLER_MODES_INV: Incomplete
18
- PRESET_MODES_INV: Incomplete
19
18
 
20
19
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
20
  def _create_climate(xknx: XKNX, config: ConfigType) -> XknxClimate: ...
@@ -23,9 +22,11 @@ def _create_climate(xknx: XKNX, config: ConfigType) -> XknxClimate: ...
23
22
  class KNXClimate(KnxYamlEntity, ClimateEntity):
24
23
  _device: XknxClimate
25
24
  _attr_temperature_unit: Incomplete
25
+ _attr_translation_key: str
26
26
  _enable_turn_on_off_backwards_compatibility: bool
27
27
  _attr_entity_category: Incomplete
28
28
  _attr_supported_features: Incomplete
29
+ _attr_preset_modes: Incomplete
29
30
  _attr_target_temperature_step: Incomplete
30
31
  _attr_unique_id: Incomplete
31
32
  default_hvac_mode: Incomplete
@@ -51,8 +52,6 @@ class KNXClimate(KnxYamlEntity, ClimateEntity):
51
52
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
52
53
  @property
53
54
  def preset_mode(self) -> str | None: ...
54
- @property
55
- def preset_modes(self) -> list[str] | None: ...
56
55
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
57
56
  @property
58
57
  def extra_state_attributes(self) -> dict[str, Any] | None: ...
@@ -1,7 +1,7 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Awaitable, Callable
3
3
  from enum import Enum
4
- from homeassistant.components.climate import HVACAction as HVACAction, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP
4
+ from homeassistant.components.climate import HVACAction as HVACAction, HVACMode as HVACMode
5
5
  from homeassistant.const import Platform as Platform
6
6
  from typing import Final, TypedDict
7
7
  from xknx.telegram import Telegram
@@ -89,4 +89,3 @@ SUPPORTED_PLATFORMS_YAML: Final[Incomplete]
89
89
  SUPPORTED_PLATFORMS_UI: Final[Incomplete]
90
90
  CONTROLLER_MODES: Final[Incomplete]
91
91
  CURRENT_HVAC_ACTIONS: Final[Incomplete]
92
- PRESET_MODES: Final[Incomplete]
@@ -8,7 +8,7 @@ from homeassistant.helpers.storage import Store as Store
8
8
  from typing import Final
9
9
  from xknx import XKNX as XKNX
10
10
  from xknx.dpt import DPTBase
11
- from xknx.telegram.address import DeviceAddressableType as DeviceAddressableType
11
+ from xknx.telegram.address import DeviceAddressableType as DeviceAddressableType, GroupAddressType
12
12
  from xknxproject.models import DPTType as DPTType, Device as Device, GroupAddress as GroupAddressModel, KNXProject as KNXProjectModel, ProjectInfo as ProjectInfo
13
13
 
14
14
  _LOGGER: Incomplete
@@ -40,3 +40,4 @@ class KNXProject:
40
40
  async def process_project_file(self, xknx: XKNX, file_id: str, password: str) -> None: ...
41
41
  async def remove_project_file(self) -> None: ...
42
42
  async def get_knxproject(self) -> KNXProjectModel | None: ...
43
+ def get_address_format(self) -> GroupAddressType: ...
@@ -5,6 +5,7 @@ from .storage.const import CONF_DATA as CONF_DATA
5
5
  from .storage.entity_store_schema import CREATE_ENTITY_BASE_SCHEMA as CREATE_ENTITY_BASE_SCHEMA, UPDATE_ENTITY_BASE_SCHEMA as UPDATE_ENTITY_BASE_SCHEMA
6
6
  from .storage.entity_store_validation import EntityStoreValidationException as EntityStoreValidationException, EntityStoreValidationSuccess as EntityStoreValidationSuccess, validate_entity_data as validate_entity_data
7
7
  from .telegrams import SIGNAL_KNX_TELEGRAM as SIGNAL_KNX_TELEGRAM, TelegramDict as TelegramDict
8
+ from collections.abc import Awaitable, Callable
8
9
  from homeassistant.components import panel_custom as panel_custom, websocket_api as websocket_api
9
10
  from homeassistant.components.http import StaticPathConfig as StaticPathConfig
10
11
  from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM
@@ -12,22 +13,29 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
12
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
14
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED
14
15
  from homeassistant.util.ulid import ulid_now as ulid_now
15
- from typing import Final
16
+ from typing import Any, Final, overload
16
17
  from xknx.telegram import Telegram as Telegram
17
18
 
18
19
  URL_BASE: Final[str]
19
20
 
20
21
  async def register_panel(hass: HomeAssistant) -> None: ...
21
- def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
22
- async def ws_get_knx_project(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
23
- async def ws_project_file_process(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
24
- async def ws_project_file_remove(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
25
- def ws_group_monitor_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
22
+ KnxWebSocketCommandHandler = Callable[[HomeAssistant, KNXModule, websocket_api.ActiveConnection, dict[str, Any]], None]
23
+ KnxAsyncWebSocketCommandHandler = Callable[[HomeAssistant, KNXModule, websocket_api.ActiveConnection, dict[str, Any]], Awaitable[None]]
24
+
25
+ @overload
26
+ def provide_knx(func: KnxAsyncWebSocketCommandHandler) -> websocket_api.const.AsyncWebSocketCommandHandler: ...
27
+ @overload
28
+ def provide_knx(func: KnxWebSocketCommandHandler) -> websocket_api.const.WebSocketCommandHandler: ...
29
+ def ws_info(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
30
+ async def ws_get_knx_project(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
31
+ async def ws_project_file_process(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
32
+ async def ws_project_file_remove(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
33
+ def ws_group_monitor_info(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
26
34
  def ws_subscribe_telegram(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
27
35
  def ws_validate_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
28
- async def ws_create_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
29
- async def ws_update_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
30
- async def ws_delete_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
31
- def ws_get_entity_entries(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
32
- def ws_get_entity_config(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
33
- def ws_create_device(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
36
+ async def ws_create_entity(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
37
+ async def ws_update_entity(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
38
+ async def ws_delete_entity(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
39
+ def ws_get_entity_entries(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
40
+ def ws_get_entity_config(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
41
+ def ws_create_device(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
@@ -5,6 +5,7 @@ class LawnMowerActivity(StrEnum):
5
5
  PAUSED = 'paused'
6
6
  MOWING = 'mowing'
7
7
  DOCKED = 'docked'
8
+ RETURNING = 'returning'
8
9
 
9
10
  class LawnMowerEntityFeature(IntFlag):
10
11
  START_MOWING = 1
@@ -1,8 +1,9 @@
1
1
  import pypck
2
- from .const import CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONNECTION as CONNECTION, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONNECTION as CONNECTION, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
3
  from .helpers import AddressType as AddressType, DeviceConnectionType as DeviceConnectionType, InputType as InputType, async_update_config_entry as async_update_config_entry, generate_unique_id as generate_unique_id, get_device_model as get_device_model, import_lcn_config as import_lcn_config, register_lcn_address_devices as register_lcn_address_devices, register_lcn_host_device as register_lcn_host_device
4
4
  from .schemas import CONFIG_SCHEMA as CONFIG_SCHEMA
5
5
  from .services import SERVICES as SERVICES
6
+ from .websocket import register_panel_and_ws_api as register_panel_and_ws_api
6
7
  from _typeshed import Incomplete
7
8
  from collections.abc import Callable as Callable
8
9
  from homeassistant import config_entries as config_entries
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, SETPOINTS as SETPOINTS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, DOMAIN as DOMAIN, SETPOINTS as SETPOINTS
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE
@@ -9,7 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
12
 
12
- def create_lcn_binary_sensor_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
13
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
13
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
15
 
15
16
  class LcnRegulatorLockSensor(LcnEntity, BinarySensorEntity):
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_SETPOINT as CONF_SETPOINT
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_SETPOINT as CONF_SETPOINT, DOMAIN as DOMAIN
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, UnitOfTemperature as UnitOfTemperature
@@ -12,7 +13,7 @@ from typing import Any
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
- def create_lcn_climate_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
16
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
18
19
  class LcnClimate(LcnEntity, ClimateEntity):
@@ -1,16 +1,25 @@
1
- from .const import CONF_DIM_MODE as CONF_DIM_MODE, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, DOMAIN as DOMAIN
1
+ from .const import CONF_DIM_MODE as CONF_DIM_MODE, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, DIM_MODES as DIM_MODES, DOMAIN as DOMAIN
2
2
  from .helpers import purge_device_registry as purge_device_registry, purge_entity_registry as purge_entity_registry
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_IMPORT as SOURCE_IMPORT
5
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
4
+ from homeassistant import config_entries as config_entries
5
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_BASE as CONF_BASE, CONF_DEVICES as CONF_DEVICES, CONF_ENTITIES as CONF_ENTITIES, CONF_HOST as CONF_HOST, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
7
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
+ from typing import Any
8
11
 
9
12
  _LOGGER: Incomplete
13
+ CONFIG_DATA: Incomplete
14
+ USER_DATA: Incomplete
15
+ CONFIG_SCHEMA: Incomplete
16
+ USER_SCHEMA: Incomplete
10
17
 
11
- def get_config_entry(hass: HomeAssistant, data: ConfigType) -> ConfigEntry | None: ...
12
- async def validate_connection(host_name: str, data: ConfigType) -> ConfigType: ...
18
+ def get_config_entry(hass: HomeAssistant, data: ConfigType) -> config_entries.ConfigEntry | None: ...
19
+ async def validate_connection(data: ConfigType) -> str | None: ...
13
20
 
14
- class LcnFlowHandler(ConfigFlow, domain=DOMAIN):
21
+ class LcnFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
15
22
  VERSION: int
16
- async def async_step_import(self, data: ConfigType) -> ConfigFlowResult: ...
23
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
24
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
25
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
@@ -5,6 +5,7 @@ PLATFORMS: Incomplete
5
5
  DOMAIN: str
6
6
  DATA_LCN: str
7
7
  DEFAULT_NAME: str
8
+ ADD_ENTITIES_CALLBACKS: str
8
9
  CONNECTION: str
9
10
  CONF_HARDWARE_SERIAL: str
10
11
  CONF_SOFTWARE_SERIAL: str
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_MOTOR as CONF_MOTOR, CONF_REVERSE_TIME as CONF_REVERSE_TIME
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_MOTOR as CONF_MOTOR, CONF_REVERSE_TIME as CONF_REVERSE_TIME, DOMAIN as DOMAIN
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.cover import CoverEntity as CoverEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES
@@ -12,7 +13,7 @@ from typing import Any
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
- def create_lcn_cover_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
16
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
18
19
  class LcnOutputsCover(LcnEntity, CoverEntity):
@@ -22,6 +22,7 @@ def register_lcn_host_device(hass: HomeAssistant, config_entry: ConfigEntry) ->
22
22
  def register_lcn_address_devices(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
23
23
  async def async_update_device_config(device_connection: DeviceConnectionType, device_config: ConfigType) -> None: ...
24
24
  async def async_update_config_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
25
+ def get_device_config(address: AddressType, config_entry: ConfigEntry) -> ConfigType | None: ...
25
26
  def has_unique_host_names(hosts: list[ConfigType]) -> list[ConfigType]: ...
26
27
  def is_address(value: str) -> tuple[AddressType, str]: ...
27
28
  def is_states_string(states_string: str) -> list[str]: ...
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DIMMABLE as CONF_DIMMABLE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUT as CONF_OUTPUT, CONF_TRANSITION as CONF_TRANSITION, OUTPUT_PORTS as OUTPUT_PORTS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DIMMABLE as CONF_DIMMABLE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUT as CONF_OUTPUT, CONF_TRANSITION as CONF_TRANSITION, DOMAIN as DOMAIN, OUTPUT_PORTS as OUTPUT_PORTS
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES
@@ -12,7 +13,7 @@ from typing import Any
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
- def create_lcn_light_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
16
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
18
19
  class LcnOutputLight(LcnEntity, LightEntity):
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUTS as CONF_OUTPUTS, CONF_REGISTER as CONF_REGISTER, CONF_TRANSITION as CONF_TRANSITION, OUTPUT_PORTS as OUTPUT_PORTS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUTS as CONF_OUTPUTS, CONF_REGISTER as CONF_REGISTER, CONF_TRANSITION as CONF_TRANSITION, DOMAIN as DOMAIN, OUTPUT_PORTS as OUTPUT_PORTS
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.scene import Scene as Scene
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SCENE as CONF_SCENE
@@ -12,7 +13,7 @@ from typing import Any
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
- def create_lcn_scene_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
16
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
18
19
  class LcnScene(LcnEntity, Scene):
@@ -5,6 +5,7 @@ from homeassistant.components.climate import DEFAULT_MAX_TEMP as DEFAULT_MAX_TEM
5
5
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COVERS as CONF_COVERS, CONF_HOST as CONF_HOST, CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SCENE as CONF_SCENE, CONF_SENSORS as CONF_SENSORS, CONF_SOURCE as CONF_SOURCE, CONF_SWITCHES as CONF_SWITCHES, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, UnitOfTemperature as UnitOfTemperature
6
6
  from homeassistant.helpers.typing import VolDictType as VolDictType
7
7
 
8
+ ADDRESS_SCHEMA: Incomplete
8
9
  DOMAIN_DATA_BINARY_SENSOR: VolDictType
9
10
  DOMAIN_DATA_CLIMATE: VolDictType
10
11
  DOMAIN_DATA_COVER: VolDictType
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, LED_PORTS as LED_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, DOMAIN as DOMAIN, LED_PORTS as LED_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.sensor import SensorEntity as SensorEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
@@ -9,7 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
12
 
12
- def create_lcn_sensor_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
13
+ def add_lcn_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
13
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
15
 
15
16
  class LcnVariableSensor(LcnEntity, SensorEntity):
@@ -1,7 +1,8 @@
1
1
  from . import LcnEntity as LcnEntity
2
- from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUT as CONF_OUTPUT, OUTPUT_PORTS as OUTPUT_PORTS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_OUTPUT as CONF_OUTPUT, DOMAIN as DOMAIN, OUTPUT_PORTS as OUTPUT_PORTS
3
3
  from .helpers import DeviceConnectionType as DeviceConnectionType, InputType as InputType, get_device_connection as get_device_connection
4
4
  from _typeshed import Incomplete
5
+ from collections.abc import Iterable
5
6
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
8
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES
@@ -12,7 +13,7 @@ from typing import Any
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
- def create_lcn_switch_entity(hass: HomeAssistant, entity_config: ConfigType, config_entry: ConfigEntry) -> LcnEntity: ...
16
+ def add_lcn_switch_entities(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
18
 
18
19
  class LcnOutputSwitch(LcnEntity, SwitchEntity):
@@ -0,0 +1,25 @@
1
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_HARDWARE_SERIAL as CONF_HARDWARE_SERIAL, CONF_HARDWARE_TYPE as CONF_HARDWARE_TYPE, CONF_SOFTWARE_SERIAL as CONF_SOFTWARE_SERIAL, CONNECTION as CONNECTION, DOMAIN as DOMAIN
2
+ from .helpers import DeviceConnectionType as DeviceConnectionType, async_update_device_config as async_update_device_config, generate_unique_id as generate_unique_id, get_device_config as get_device_config, get_device_connection as get_device_connection, get_resource as get_resource, purge_device_registry as purge_device_registry, purge_entity_registry as purge_entity_registry, register_lcn_address_devices as register_lcn_address_devices
3
+ from .schemas import ADDRESS_SCHEMA as ADDRESS_SCHEMA, DOMAIN_DATA_BINARY_SENSOR as DOMAIN_DATA_BINARY_SENSOR, DOMAIN_DATA_CLIMATE as DOMAIN_DATA_CLIMATE, DOMAIN_DATA_COVER as DOMAIN_DATA_COVER, DOMAIN_DATA_LIGHT as DOMAIN_DATA_LIGHT, DOMAIN_DATA_SCENE as DOMAIN_DATA_SCENE, DOMAIN_DATA_SENSOR as DOMAIN_DATA_SENSOR, DOMAIN_DATA_SWITCH as DOMAIN_DATA_SWITCH
4
+ from collections.abc import Awaitable, Callable
5
+ from homeassistant.components import panel_custom as panel_custom, websocket_api as websocket_api
6
+ from homeassistant.components.http import StaticPathConfig as StaticPathConfig
7
+ from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection, AsyncWebSocketCommandHandler as AsyncWebSocketCommandHandler
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DEVICES as CONF_DEVICES, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
+ from typing import Any, Final
12
+
13
+ AsyncLcnWebSocketCommandHandler = Callable[[HomeAssistant, ActiveConnection, dict[str, Any], ConfigEntry], Awaitable[None]]
14
+ URL_BASE: Final[str]
15
+
16
+ async def register_panel_and_ws_api(hass: HomeAssistant) -> None: ...
17
+ def get_config_entry(func: AsyncLcnWebSocketCommandHandler) -> AsyncWebSocketCommandHandler: ...
18
+ async def websocket_get_device_configs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
19
+ async def websocket_get_entity_configs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
20
+ async def websocket_scan_devices(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
21
+ async def websocket_add_device(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
22
+ async def websocket_delete_device(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
23
+ async def websocket_add_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
24
+ async def websocket_delete_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, config_entry: ConfigEntry) -> None: ...
25
+ async def async_create_or_update_device_in_config_entry(hass: HomeAssistant, device_connection: DeviceConnectionType, config_entry: ConfigEntry) -> None: ...
@@ -12,7 +12,7 @@ class LidarrConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
13
  entry: Incomplete
14
14
  def __init__(self) -> None: ...
15
- async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
15
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
16
16
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
17
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
 
@@ -1,13 +1,17 @@
1
1
  from .const import PLATFORMS as PLATFORMS
2
+ from .utils import async_get_client_session as async_get_client_session
3
+ from aiohttp import ClientSession as ClientSession
4
+ from dataclasses import dataclass
2
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
6
  from homeassistant.const import CONF_HOST as CONF_HOST
4
7
  from homeassistant.core import HomeAssistant as HomeAssistant
5
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
9
  from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
8
10
 
11
+ @dataclass
9
12
  class LinkPlayData:
10
13
  bridge: LinkPlayBridge
14
+ def __init__(self, bridge) -> None: ...
11
15
  LinkPlayConfigEntry = ConfigEntry[LinkPlayData]
12
16
 
13
17
  async def async_setup_entry(hass: HomeAssistant, entry: LinkPlayConfigEntry) -> bool: ...
@@ -1,11 +1,15 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .utils import async_get_client_session as async_get_client_session
2
3
  from _typeshed import Incomplete
4
+ from aiohttp import ClientSession as ClientSession
3
5
  from homeassistant.components import zeroconf as zeroconf
4
6
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
7
9
  from typing import Any
8
10
 
11
+ _LOGGER: Incomplete
12
+
9
13
  class LinkPlayConfigFlow(ConfigFlow, domain=DOMAIN):
10
14
  data: Incomplete
11
15
  def __init__(self) -> None: ...