milo526 / homebridge-tuya-web

Hoobs and Homebridge plugin for Tuya devices using Home Assistant Tuya Web Api
MIT License
217 stars 93 forks source link

Lightstrip show in Smartlife app but don't in Home app #526

Closed hbkmanbass closed 1 year ago

hbkmanbass commented 1 year ago

Hello,

I have a trouble with a Lightstrip show and can be control in Smartlife app but don't show at all in the Home app

This is this product

https://ja.aliexpress.com/item/1005003264716508.html?spm=a2g0o.new_account_index.0.0.4a49429btxGpgY&gatewayAdapt=glo2jpn

The error is

[TuyaWebPlatform] Tried overwriting device config for: "eb8b60eb2bbcbb61801fgs" which is not a valid device-id or device-name.

Thanks in advance,

excalibur25 commented 1 year ago

Hi, same issue here. It is a Lightstrip from LSC company. All other devices from that company are working eg light bulbs, sensors etc. Same error message for me. Is this a general issue currently?

milo526 commented 1 year ago

Please post the result of the steps under "How to check whether the api this library uses can control your device".

Without this it is hard for me to help you with regards to this specific issue.

excalibur25 commented 1 year ago

Please post the result of the steps under "How to check whether the api this library uses can control your device".

Without this it is hard for me to help you with regards to this specific issue.

If I run the script provided it came up with following error

Getting credentials Traceback (most recent call last): File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connection.py", line 169, in _new_conn conn = connection.create_connection( File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/util/connection.py", line 73, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen httplib_response = self._make_request( File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 382, in _make_request self._validate_conn(conn) File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn conn.connect() File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connection.py", line 353, in connect conn = self._new_conn() File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connection.py", line 181, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f44f74441c0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/adapters.py", line 439, in send resp = conn.urlopen( File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen retries = retries.increment( File "/opt/virtualenvs/python3/lib/python3.8/site-packages/urllib3/util/retry.py", line 574, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='px1.tuyaeu.com', port=443): Max retries exceeded with url: /homeassistant/auth.do (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f44f74441c0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "main.py", line 16, in auth_response = requests.post( File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/api.py", line 117, in post return request('post', url, data=data, json=json, kwargs) File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, kwargs) File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/sessions.py", line 542, in request resp = self.send(prep, send_kwargs) File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/sessions.py", line 655, in send r = adapter.send(request, kwargs) File "/opt/virtualenvs/python3/lib/python3.8/site-packages/requests/adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='px1.tuyaeu.com', port=443): Max retries exceeded with url: /homeassistant/auth.do (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f44f74441c0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) 

excalibur25 commented 1 year ago

Hi, I checked back with Tuya developer support and they checked the device. It is supported for HA Plugin and everthing should be working. Which informations do you need to add the device to this plugin?

error. [TuyaWebPlatform] Tried overwriting device config for: "bfe720648069c69711fba8" which is not a valid device-id or device-name.

milo526 commented 1 year ago

Please try running the script I requested above again, it seems like there was a temporary issue with the domain of tuya; hopefully, that is resolved now. I really need the output of that script to help you.

excalibur25 commented 1 year ago

your right it is running now. But the device is not listed there. I will check with Tuya support again to check the device. Thank you very much

excalibur25 commented 1 year ago

Still no progress. Tuya support double checked the device ID and told me that the device is properly supported by Home Assistant API. But when I run the script the device is not listed unfortunately :-(

milo526 commented 1 year ago

Still no progress. Tuya support double checked the device ID and told me that the device is properly supported by Home Assistant API. But when I run the script the device is not listed unfortunately :-(

I'm sorry; I don't know what wou want to hear, but if the device isn't present, there is no way for this plugin to control the device.

excalibur25 commented 1 year ago

No problem at all. Thank you for all your effort and the well running plugin. I just want to keep everyone on track that Tuya support unfortunately was not able to help here.

TheWojtek commented 3 months ago

Here's the results of running the script on my HB VM:

Got devices { 'header': {'code': 'SUCCESS', 'payloadVersion': 1}, 'payload': { 'devices': [ { 'data': {'online': True, 'state': True}, 'dev_type': 'switch', 'ha_type': 'switch', 'icon': 'https://images.tuyaeu.com/smart/icon/001451370140532cRrxW/1598506478e0360ae32bb.jpg', 'id': 'bfe57d3970658b********', 'name': 'Heating'}, { 'data': {'online': True, 'state': True}, 'dev_type': 'switch', 'ha_type': 'switch', 'icon': 'https://images.tuyaeu.com/smart/icon/001451370140532cRrxW/1598506478e0360ae32bb.jpg', 'id': 'bfdbb9bb72c26d********', 'name': 'IT'}, { 'data': {'online': True, 'state': True}, 'dev_type': 'switch', 'ha_type': 'switch', 'icon': 'https://images.tuyaeu.com/smart/icon/ay15514171606841shdd/1596766788b450de7739e.jpg', 'id': 'bf5cc633479f78********', 'name': 'Living room'}, { 'data': {'online': True, 'state': False}, 'dev_type': 'switch', 'ha_type': 'switch', 'icon': 'https://images.tuyaeu.com/smart/icon/ay15514171606841shdd/1596766788b450de7739e.jpg', 'id': 'bf599cdc52fb0d********', 'name': 'Bedroom'}, { 'data': {}, 'dev_type': 'scene', 'ha_type': 'scene', 'id': 'imIPVttZ********', 'name': 'Turn\xa0on\xa0the\xa0power\xa0' 'at\xa0sunset'}, { 'data': {}, 'dev_type': 'scene', 'ha_type': 'scene', 'id': 'SV0xm1XS********', 'name': 'Turn\xa0on\xa0the\xa0power\xa0' "when\xa0I'm back"}], 'scenes': []}}

@milo526 I understand what was written above - since the device does not show up in the script (ID: bfda839***aed0vvhl) it won't be present in the HB interface. How on Earth can the Tuya app control it? Do they have their own unexposed APIs?

milo526 commented 3 months ago

@milo526 I understand what was written above - since the device does not show up in the script (ID: bfda839***aed0vvhl) it won't be present in the HB interface. How on Earth can the Tuya app control it? Do they have their own unexposed APIs?

The tuya app uses a different API indeed; it is exposed; but not used by this plugin. The "official" tuya homebridge plugin does use that API and probably will support your device.

There are a few problems with the other API that makes it that this plugin doesn't use that API.