Skip to content

"Auto" IP address detection does not work when localtuya is installed #408

Open
@make-all

Description

@make-all

Describe the bug
When IP address is set to "Auto", tinytuya uses device discovery in the background to find the IP address. If localtuya is installed, it already has the ports required for Tuya discovery open, so trying to open them fails.

To Reproduce

  1. install localtuya
  2. add a new Tuya Local device with IP address set to "Auto"

Expected behavior
Users expect things to just work, even though there is a technical explanation for this.

Additional context

The below exception is now caught in main, but the core problem remains (just is more gracefully handled now).

Logger: aiohttp.server
Source: custom_components/tuya_local/device.py:69
Integration: Tuya Local (documentation, issues)
First occurred: 11:12:52 (1 occurrences)
Last logged: 11:12:52

Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 145, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 253, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 335, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/tuya_local/config_flow.py", line 41, in async_step_user
self.device = await async_test_connection(user_input, self.hass)
File "/config/custom_components/tuya_local/config_flow.py", line 175, in async_test_connection
device = TuyaLocalDevice(
File "/config/custom_components/tuya_local/device.py", line 69, in init
self._api = tinytuya.Device(dev_id, address, local_key)
File "/usr/local/lib/python3.10/site-packages/tinytuya/core.py", line 732, in init
raise Exception("Unable to find device on network (specify IP address)")
Exception: Unable to find device on network (specify IP address)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwontfixThis will not be worked on

    Projects

    Status

    🏗 Stalled

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions