oven-lab / tuya_cloud_map_extractor

Tuya cloud vacuum map extractor for Home Assistant
MIT License
21 stars 5 forks source link

[BUG] - Unknown Error #8

Open pscott9598 opened 6 months ago

pscott9598 commented 6 months ago

Describe the bug I have successfully created the tuya integration and I see my vacuum in home assistant and configured the api service mentioned in the your github guide for sweep. When I go to enter the values in the tuya extractor I get an unknown error. I am using the Lidar Rubot brand smart vac and I can see the map with the mobile app and I see on the tuya dev options that it can pull the map somehow but I can't figure it out (I am not that savy and tried to edit your code with chatgpt and I am way over my head)

See error in logs please,

Log details (ERROR) This error originated from a custom integration. Logger: custom_components.tuya_cloud_map_extractor.config_flow Source: custom_components/tuya_cloud_map_extractor/config_flow.py:58 Integration: Tuya Cloud Map Extractor (documentation, issues) First occurred: 9:32:33 PM (4 occurrences) Last logged: 10:44:28 PM

list index out of range Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 971, in json return complexjson.loads(self.text, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/simplejson/init.py", line 514, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/simplejson/decoder.py", line 386, in decode obj, end = self.raw_decode(s) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/simplejson/decoder.py", line 416, in raw_decode return self.scan_once(s, idx=_w(s, idx).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 26, in download_map data = response.json() ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 975, in json raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 58, in async_step_user info = await validate(self.hass, user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 95, in validate await hass.async_add_executor_job( File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 92, in get_map header, map = download_map(map_link) ^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 51, in download_map header["roominfo"] = decode_roomArr(mapRoomArr) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/v1.py", line 51, in decode_roomArr roomCount = _hexStringToNumber(mapRoomArr.hex()[2:4])[0]


IndexError: list index out of range

**Expected behavior**
When I enter my values it would work.

Thank you for this integration. 
oven-lab commented 6 months ago

It seems your vaccuum doesn't have any rooms set up. No problems with that, I'll add handling for it!

pscott9598 commented 6 months ago

It seems your vaccuum doesn't have any rooms set up. No problems with that, I'll add handling for it!

Thank you a ton for the quick reply. You are amazing! I spent hours with chatgpt trying to get a work around going with no luck. I will make sure to buy you coffee when the update gets pushed.

oven-lab commented 6 months ago

Try out version v1.2.0b2. Go to redownload and then select show beta releases in hacs and it should show up.

There could be something else to fix, but i think that should be it.

pscott9598 commented 6 months ago

Try out version v1.2.0b2. Go to redownload and then select show beta releases in hacs and it should show up.

There could be something else to fix, but i think that should be it.

Hello! Thank you for the quick update. It looks like to have gotten passed the unknown error and now my card is saying the camera is off and not displaying the map properly, could be a user error on my part of the setup. Any suggestions? (See photo)

Screen Shot 2023-12-10 at 4 14 09 PM
randomscot22 commented 6 months ago

May I ask which vacuum robot (Brand / Model) is being used here ?

oven-lab commented 6 months ago

If you want, you could enable debug logging and send me the logs so i can look at it:

Enable debug logging: Enable debug

Call service camera.turn_on camera tunr_on

Disable debug logging: Disable debug

If the logs are not downloaded automatically, download the logs: Download logs

And upload them here.

pscott9598 commented 6 months ago

Hello! Thank you for the reply! I have attached the logs you have requested. A side note.. I CANNOT figure out how to only have it clean certian rooms. I have an automation setup to trigger a clean cycle but I only want it for the "office" named on my map.

Thanks again for everything. home-assistant_tuya_2023-12-15T03-38-18.684Z.log

I have a "Rubot R1" vacuum.

pscott9598 commented 6 months ago

Unsupported data type. Include the following data in a github issue to request the data format to be added: 200b'AAA/AQGTASQG/QPJAAUAAAAAAABy6wB+H/8BAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9FUP//////'b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vYWUyNmU5LTkzODMyMzE4LXR1eWFmNzI5MzkyNTNjZGRkZTljL2NvbW1vbi9sYXlvdXQvbGF5LmJpbj9DQz1kODQ4ZWY3NjEyYTI0ZDRjOGM1Y2VmNTM4YjljMjJiYiZDUz1hZWM4YmJlY2E5Y2E0NmY1NjIzNDJhMzJhYWU4MDY3ZDM2NzJhZTQxNDg2Yzc1NTU5YjY0MzFkZDQxNzU0MmU0JkNFPTE3MDI2MDkzMjUxODgmQ0E9VjEmQ1I9Mid9LCB7J21hcF90eXBlJzogMSwgJ21hcF91cmwnOiAnaHR0cHM6Ly90eS11cy1zdG9yYWdlLXBlcm1hbmVudC5pb3RiaW5nLmNvbS9hZTI2ZTktOTM4MzIzMTgtdHV5YWY3MjkzOTI1M2NkZGRlOWMvY29tbW9uL3JvdXRlL3JvdS5iaW4/Q0M9ZDg0OGVmNzYxMmEyNGQ0YzhjNWNlZjUzOGI5YzIyYmImQ1M9ZGZhNmFiMTczYmE4YWNhNTE4Nzc3ODEyMGI3MjBlMzI2MDcwMTljM2EyYTQyYjAzMzllNmVmMGYyNWI4ODc0ZSZDRT0xNzAyNjA5MzI1MTkzJkNBPVYxJkNSPTInfV19' Thank you! Unsupported data type. Include the following data in a github issue to request the data format to be added: 200b'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'b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vYWUyNmU5LTkzODMyMzE4LXR1eWFmNzI5MzkyNTNjZGRkZTljL2NvbW1vbi9sYXlvdXQvbGF5LmJpbj9DQz1kODQ4ZWY3NjEyYTI0ZDRjOGM1Y2VmNTM4YjljMjJiYiZDUz1hZWM4YmJlY2E5Y2E0NmY1NjIzNDJhMzJhYWU4MDY3ZDM2NzJhZTQxNDg2Yzc1NTU5YjY0MzFkZDQxNzU0MmU0JkNFPTE3MDI2MDkzMjUxODgmQ0E9VjEmQ1I9Mid9LCB7J21hcF90eXBlJzogMSwgJ21hcF91cmwnOiAnaHR0cHM6Ly90eS11cy1zdG9yYWdlLXBlcm1hbmVudC5pb3RiaW5nLmNvbS9hZTI2ZTktOTM4MzIzMTgtdHV5YWY3MjkzOTI1M2NkZGRlOWMvY29tbW9uL3JvdXRlL3JvdS5iaW4/Q0M9ZDg0OGVmNzYxMmEyNGQ0YzhjNWNlZjUzOGI5YzIyYmImQ1M9ZGZhNmFiMTczYmE4YWNhNTE4Nzc3ODEyMGI3MjBlMzI2MDcwMTljM2EyYTQyYjAzMzllNmVmMGYyNWI4ODc0ZSZDRT0xNzAyNjA5MzI1MTkzJkNBPVYxJkNSPTInfV19' Thank you! Unsupported data type. Include the following data in a github issue to request the data format to be added: 200b'AABCAQGTASQG/QPJAAUHCANoAABy6wB+H/8BAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9FUP//////'b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vYWUyNmU5LTkzODMyMzE4LXR1eWFmNzI5MzkyNTNjZGRkZTljL2NvbW1vbi9sYXlvdXQvbGF5LmJpbj9DQz1kODQ4ZWY3NjEyYTI0ZDRjOGM1Y2VmNTM4YjljMjJiYiZDUz0xMWRhOTFiOTZmNWIyZGNiN2RmOTRkODNmNzZkMTExNDFkY2Q2MmFiNDFiMTc4MjdiMDBiMjFlYmI3NWI2YTEyJkNFPTE3MDI2MTU2NjU2MDcmQ0E9VjEmQ1I9Mid9LCB7J21hcF90eXBlJzogMSwgJ21hcF91cmwnOiAnaHR0cHM6Ly90eS11cy1zdG9yYWdlLXBlcm1hbmVudC5pb3RiaW5nLmNvbS9hZTI2ZTktOTM4MzIzMTgtdHV5YWY3MjkzOTI1M2NkZGRlOWMvY29tbW9uL3JvdXRlL3JvdS5iaW4/Q0M9ZDg0OGVmNzYxMmEyNGQ0YzhjNWNlZjUzOGI5YzIyYmImQ1M9M2NkN2FjYmRlMDk1OGJkZDFiMTEwMDcxMTZjN2FhOTFiYzU3MjI4ODQ2NDY4ZjQ3ZmZhMWVkZjhiZGQ5ZjlmYyZDRT0xNzAyNjE1NjY1NjExJkNBPVYxJkNSPTInfV0sICdzdWNjZXNzJzogVHJ1ZSwgJ3QnOiAxNzAyNjEyMDY1NjEzLCAndGlkJzogJ2I1MTdlNDM0OWFmYzExZWViZjZiNTI3NGU5MGY1YTU2J30=' Thank you! Unsupported data type. Include the following data in a github issue to request the data format to be added: 200b'AABCAQGTASQG/QPJAAUAAAAAAABy6wB+H/8BAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9FUP//////'b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vYWUyNmU5LTkzODMyMzE4LXR1eWFmNzI5MzkyNTNjZGRkZTljL2NvbW1vbi9sYXlvdXQvbGF5LmJpbj9DQz1kODQ4ZWY3NjEyYTI0ZDRjOGM1Y2VmNTM4YjljMjJiYiZDUz04NmY1YTJmNTdkNjI2YTIxYmZjYzAxZDAwMmVhMmZiYzQ5YWI5MDYyNjE0ZDBlOTQ0MmM0ZjRmYzQwMTJjNjQ4JkNFPTE3MDI2MTU2NjgxNjAmQ0E9VjEmQ1I9Mid9LCB7J21hcF90eXBlJzogMSwgJ21hcF91cmwnOiAnaHR0cHM6Ly90eS11cy1zdG9yYWdlLXBlcm1hbmVudC5pb3RiaW5nLmNvbS9hZTI2ZTktOTM4MzIzMTgtdHV5YWY3MjkzOTI1M2NkZGRlOWMvY29tbW9uL3JvdXRlL3JvdS5iaW4/Q0M9ZDg0OGVmNzYxMmEyNGQ0YzhjNWNlZjUzOGI5YzIyYmImQ1M9YTY1MDY0MTJkMWJjYTgxYTI2NGVkMTlhNWY2NzdlMDk4ZGI0ZTkxNWUzNmYzMjM1ODcyOWQ3ZWRlOTM4ODRkZiZDRT0xNzAyNjE1NjY4MTYzJkNBPVYxJkNSPTInfV0sICdzdWNjZXNzJzogVHJ1ZSwgJ3QnOiAxNzAyNjEyMDY4MTY1LCAndGlkJzogJ2I2OWQ4NGQ1OWFmYzExZWU4ZDQ1MWUxNWEwODkyYWI0J30=' Thank you! Unsupported data type. Include the following data in a github issue to request the data format to be added: 500b'PEVycm9yPgo8Q29kZT5TZXJ2ZXJFcnJvcjwvQ29kZT4KPE1lc3NhZ2U+U2VydmVyIEVycm9yLCBwbHMgY29udGFjdCBzZXJ2aWNlIHByb3ZpZGVyPC9NZXNzYWdlPgo8L0Vycm9yPg=='b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vYWUyNmU5LTkzODMyMzE4LXR1eWFmNzI5MzkyNTNjZGRkZTljL2NvbW1vbi9sYXlvdXQvbGF5LmJpbj9DQz1kODQ4ZWY3NjEyYTI0ZDRjOGM1Y2VmNTM4YjljMjJiYiZDUz1hZWM4YmJlY2E5Y2E0NmY1NjIzNDJhMzJhYWU4MDY3ZDM2NzJhZTQxNDg2Yzc1NTU5YjY0MzFkZDQxNzU0MmU0JkNFPTE3MDI2MDkzMjUxODgmQ0E9VjEmQ1I9Mid9LCB7J21hcF90eXBlJzogMSwgJ21hcF91cmwnOiAnaHR0cHM6Ly90eS11cy1zdG9yYWdlLXBlcm1hbmVudC5pb3RiaW5nLmNvbS9hZTI2ZTktOTM4MzIzMTgtdHV5YWY3MjkzOTI1M2NkZGRlOWMvY29tbW9uL3JvdXRlL3JvdS5iaW4/Q0M9ZDg0OGVmNzYxMmEyNGQ0YzhjNWNlZjUzOGI5YzIyYmImQ1M9ZGZhNmFiMTczYmE4YWNhNTE4Nzc3ODEyMGI3MjBlMzI2MDcwMTljM2EyYTQyYjAzMzllNmVmMGYyNWI4ODc0ZSZDRT0xNzAyNjA5MzI1MTkzJkNBPVYxJkNSPTInfV19' Thank you!

oven-lab commented 6 months ago

Should work in version v1.2.0b7 and forward. Don't hesitate to add the logs if it doesn't.

pscott9598 commented 6 months ago

Screenshot_20231216_224225_Tuya Smart

Screen Shot 2023-12-16 at 10 40 39 PM

Hello! thanks for the quick update. We are definitely making home-assistant_tuya_cloud_map_extractor_2023-12-17T03-43-18.962Z.log progress! I see a map now that is colored but the live location is off from what the actual map is currently. I have attached some photos of an example and I stopped and started the vacuum with debug mode on and attached the log data as well.

(One photo is my home assistant and the other is what I see from the TUYA app)

Edit: I tried finding a donate or buy me coffee link and could not find one. Happy to send you something if you got a link!

oven-lab commented 6 months ago

That is very weird. I added increased debug logging in the latest release, if you want to go through the same steps as earlier.

pscott9598 commented 6 months ago

Hello! I have attached the new debug log after I have updated the integration to the latest version. I let the vacuum go for awhile to gather the data.

ps found your coffee link! home-assistant_tuya_cloud_map_extractor_2023-12-17T23-16-49.047Z.log

oven-lab commented 6 months ago

Thank you, both for the log file, and for the donation.

I didn't get enough from the logfile sadly. But i should be able to fix it if you update to v1.2.0 and try again.

I also saw that you mentioned not being able to clean a specific room. Is it overall, or just in HomeAssistant. And if it is the latter, are you running the official tuya integration or the localtuya one?

pscott9598 commented 6 months ago

No problem! You are the only one trying to figure out the tuya map. People all over the internet are having the same problem from what I have read.

I have attached another log file and photo, the vacuum map shows correctly but when the vacuum is clean the cleaning path is not displayed over the vacuum mao correct and seems to be off from centered together. (see photo)

Regarding the cleaning of specific room. I am able to use the tuya official app and use the "select room" option in the app then click on the map to select what rooms I want to clean specifically and that works great. But in home assistant the option to clean specific rooms is not available anywhere from what I can tell. I have tried looking at the tuya docs regarding this to build my own service but I have tried for hours with trial and error with no progress at all. I am not very good at writing yamls and such so it has been a challenge. I have looked all over the internet for solutions and only found people having the exact same problem as myself. If you could help that would be huge for the tuya vacuum people like myself!

Screen Shot 2023-12-20 at 11 52 34 AM

home-assistant_tuya_cloud_map_extractor_2023-12-20T17-00-50.309Z.log

Hanz74 commented 4 months ago

Hello,

when trying to configure my "MEDION Robot S12 SW (MD20041)" I'm getting "An unknown error occured. See logs for details.". I just accidentally found out that it's possible to integrate the device with Home Assistant over Tuya, now I'm curious to see if it's possible to retrieve a map as well :-)

The following I found in the logs:

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.tuya_cloud_map_extractor.config_flow Source: custom_components/tuya_cloud_map_extractor/config_flow.py:57 Integration: tuya_cloud_map_extractor (documentation, issues) First occurred: 14:02:10 (4 occurrences) Last logged: 14:34:14

list index out of range Traceback (most recent call last): File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 57, in async_step_user headers, image = await validate(self.hass, user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 214, in validate return await hass.async_add_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 131, in get_map raise e File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 127, in get_map map_link = link["result"][0]["map_url"]


IndexError: list index out of range

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.tuya_cloud_map_extractor.tuya_vacuum_map_extractor.main
Source: custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py:130
Integration: tuya_cloud_map_extractor (documentation, issues)
First occurred: 14:02:10 (4 occurrences)
Last logged: 14:34:14

Encountered an error, please include the following data in your github issue: b'eyJyZXN1bHQiOiBbXSwgInN1Y2Nlc3MiOiB0cnVlLCAidCI6IDE3MDcwNTE3MzA0MjQsICJ0aWQiOiAiOWI4NDRmNjdjMzVkMTFlZTg0Yzc3MmZkMGJiZmNiMjMifQ=='
ffharaujo commented 4 months ago

My log show this error:

Este erro originou-se de uma integração personalizada.

Logger: custom_components.tuya_cloud_map_extractor.tuya_vacuum_map_extractor.main Source: custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py:147 Integration: Tuya Cloud Map Extractor (documentation, issues) First occurred: 23:17:41 (1 occurrences) Last logged: 23:17:41

Unsupported data type. Include the following data in a github issue to request the data format to be added: 200b'AB4BBQBgAF8AjAJiAFwCgAJOH/8BAP/////XFPkBAA/vBEQi+fABAANnAA9mAD4EYAACAgABZgAPZAA6CmAAAAIAD2AA//8eAZMCDwIALQ9zAgcPoAIABBMABAgABwIADxMAAAACAA/TAggOMgAe+RMABQIADxsABA9gABoPAgAgD2AA/////8cHNQYPAAYZDwIAFgBgAA89BQsPAAYCDwIAFgFeAA9gAH8PpAYEAQIAA7MAAgIAAw0AD10GCA8gAQIDNwAPAgACCXwAAykAD2AAHQ8CABYEYAAPYQAKCZIADwIAGwNgAB/wYABHP////2AASQDBAQ9gAEcAXwMCYAAPIQEJD4ABJxH5PAABBAAAyQAPAgAEACAADwIAIwJgAAACAA/AAEkAAgAPYABKAocBDwIABg8gAe4PAQMMDyAB/0sAnAIAAgAPngIGD4ABKwBAAA8CAA0ExQUPAgATCC4AD2AAFA1ZAAhEAA8CAAkPYAAlDwIAFQB5AQQCAA8mAQcPAAMoBjsAD8sACAYlAA8CAB0HSAEPYABCFvCbAA9gAMkG5gACTQcPAgAXBjoADyABCQOnAQRqAg8CAAUPdwAAD2AAEwg5AAazBwwCAAZMAAYCAAYUAA/AAAkGMAAAKAAGNAAKAgAPGAABBhQAD2AAyQPmAAEHAA8gAUEFMQIAkgMBBgAPAgABBSYACgIAAysAD4ABFQ8CAB0B9QAAmAAPQAVBAFgAA2EAD8AARgAuAQBoAA/AAEQEAgAPwABFBAIAD2AA/yoAAwIPAgAuD0ACBw8CAP///0RQ//////8='b'eydyZXN1bHQnOiBbeydtYXBfdHlwZSc6IDAsICdtYXBfdXJsJzogJ2h0dHBzOi8vdHktdXMtc3RvcmFnZS1wZXJtYW5lbnQuaW90YmluZy5jb20vNmMwZmIyLTM4OTA0NzktMTIzd2JlNzE5NGVkOGFhYmFhNjEvY29tbW9uL2xheW91dC9sYXkuYmluP0NDPWQ4NDhlZjc2MTJhMjRkNGM4YzVjZWY1MzhiOWMyMmJiJkNTPTBhNmI4YmUzMmRiNzg2ZmVjMTU4ZTdkYjJhYzMwNDRhMTVkODEzMmE1NWMwMjY4N2Y4ODg3ZGQ4NjA3YjMyZjkmQ0U9MTcwNzEwMzA2MDY1NiZDQT1WMSZDUj0yJ30sIHsnbWFwX3R5cGUnOiAxLCAnbWFwX3VybCc6ICdodHRwczovL3R5LXVzLXN0b3JhZ2UtcGVybWFuZW50LmlvdGJpbmcuY29tLzZjMGZiMi0zODkwNDc5LTEyM3diZTcxOTRlZDhhYWJhYTYxL2NvbW1vbi9yb3V0ZS9yb3UuYmluP0NDPWQ4NDhlZjc2MTJhMjRkNGM4YzVjZWY1MzhiOWMyMmJiJkNTPTA2ZmVmODk3MTM3NmFiOTRlZmQ4OWY1ZDAyOTc3NzJjNzdlNGVhOTRmNTg0YWQyYjM0OTkwNmZhOTJmODQ3NTcmQ0U9MTcwNzEwMzA2MDY2NCZDQT1WMSZDUj0yJ30sIHsnbWFwX3R5cGUnOiAzLCAnbWFwX3VybCc6ICdodHRwczovL3R5LXVzLXN0b3JhZ2UtcGVybWFuZW50LmlvdGJpbmcuY29tLzZjMGZiMi0zODkwNDc5LTEyM3diZTcxOTRlZDhhYWJhYTYxL2NvbW1vbi9yb3V0ZS9uYXYuYmluP0NDPWQ4NDhlZjc2MTJhMjRkNGM4YzVjZWY1MzhiOWMyMmJiJkNTPWM5NmU4YWE3OGMxZDNlZjZkMmExMDBhNDJkYTM1Zjc3ZTRjZTQ0YjZmNjUyZTlhMjAwMDdiZTk2ODI0ZWJhZDAmQ0U9MTcwNzEwMzA2MDY2NyZDQT1WMSZDUj0yJ31dLCAnc3VjY2Vzcyc6IFRydWUsICd0JzogMTcwNzA5OTQ2MDY2OSwgJ3RpZCc6ICdiY2Y4MGI1MWMzY2MxMWVlYWYwYTY2MDc4ZGIxM2QxMyd9' Thank you!

SvenMartin81 commented 4 months ago

hi, i have a similar fault....normaly the integration should have been access to the cloud. I inserted the correct IP in the Tuya cloud. What is my fault?

Logger: custom_components.tuya_cloud_map_extractor.config_flow Source: custom_components/tuya_cloud_map_extractor/config_flow.py:57 Integration: tuya_cloud_map_extractor (documentation, issues) First occurred: 19:17:39 (4 occurrences) Last logged: 19:18:50

('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502659853, 'tid': '8269fde1c77711eea1957edaaa357452'}) ('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502661264, 'tid': '8344ff1bc77711ee9d7cfe8b4d072f7e'}) ('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502706249, 'tid': '9e161a4cc77711ee99065aa890dc07f7'}) ('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502730047, 'tid': 'ac450530c77711ee99065aa890dc07f7'}) Traceback (most recent call last): File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 57, in async_step_user headers, image = await validate(self.hass, user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 214, in validate return await hass.async_add_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 124, in get_map link = get_download_link(server, client_id, secret_key, device_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/tuya.py", line 68, in get_download_link raise RuntimeError("Request failed - Response: ", response) RuntimeError: ('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502659853, 'tid': '8269fde1c77711eea1957edaaa357452'})

oven-lab commented 4 months ago

hi, i ahve asimilar fault....normaly the integration should have been access to the cloud. I inserted the correct IP in the Tuya cloud. What is my fault?

Logger: custom_components.tuya_cloud_map_extractor.config_flow

Source: custom_components/tuya_cloud_map_extractor/config_flow.py:57

Integration: tuya_cloud_map_extractor (documentation, issues)

First occurred: 19:17:39 (4 occurrences)

Last logged: 19:18:50

('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502659853, 'tid': '8269fde1c77711eea1957edaaa357452'})

('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502661264, 'tid': '8344ff1bc77711ee9d7cfe8b4d072f7e'})

('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502706249, 'tid': '9e161a4cc77711ee99065aa890dc07f7'})

('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502730047, 'tid': 'ac450530c77711ee99065aa890dc07f7'})

Traceback (most recent call last):

File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 57, in async_step_user

headers, image = await validate(self.hass, user_input)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 214, in validate

return await hass.async_add_executor_job(

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run

result = self.fn(*self.args, **self.kwargs)

         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 124, in get_map

link = get_download_link(server, client_id, secret_key, device_id)

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/tuya.py", line 68, in get_download_link

raise RuntimeError("Request failed - Response: ", response)

RuntimeError: ('Request failed - Response: ', {'code': 28841101, 'msg': 'No permissions. This API is not subscribed.', 'success': False, 't': 1707502659853, 'tid': '8269fde1c77711eea1957edaaa357452'})

Check that you have subscribed to the robot vacuum api.

Dazer95 commented 4 months ago

I’m getting an unknown error once I fill in the details too. That’s running V1.2.1. I have sweeping robot open service enabled in APIs. I tried installing 1.2.0b7 with no luck. I get the same unknown error

here are my log entries. Most recent is first

Logger: tuya_sharing Source: /usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py:138 First occurred: 10:01:17 PM (9 occurrences) Last logged: 10:05:16 PM

on message error = 105 on message error = 104

Logger: tuya_sharing Source: /usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py:138 First occurred: 9:34:00 PM (55 occurrences) Last logged: 9:51:59 PM

on message error = 104 on message error = 105 on message error = 5

This error originated from a custom integration.

Logger: custom_components.tuya_cloud_map_extractor.config_flow Source: custom_components/tuya_cloud_map_extractor/config_flow.py:57 Integration: Tuya Cloud Map Extractor (documentation, issues) First occurred: 9:45:19 PM (22 occurrences) Last logged: 9:45:32 PM

Invalid leading whitespace, reserved character(s), or returncharacter(s) in header value: ' 77gwnq5xvss8xsctfgsu' Traceback (most recent call last): File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 57, in async_step_user headers, image = await validate(self.hass, user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/config_flow.py", line 214, in validate return await hass.async_add_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/main.py", line 124, in get_map link = get_download_link(server, client_id, secret_key, device_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/tuya.py", line 39, in get_download_link response = tuyarequest( ^^^^^^^^^^^^ File "/config/custom_components/tuya_cloud_map_extractor/tuya_vacuum_map_extractor/tuya.py", line 31, in tuyarequest return requests.get(url=server + url, headers=headers, timeout=2.5).json() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 575, in request prep = self.prepare_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 486, in prepare_request p.prepare( File "/usr/local/lib/python3.12/site-packages/requests/models.py", line 369, in prepare self.prepare_headers(headers) File "/usr/local/lib/python3.12/site-packages/requests/models.py", line 491, in prepare_headers check_header_validity(header) File "/usr/local/lib/python3.12/site-packages/requests/utils.py", line 1040, in check_header_validity _validate_header_part(header, value, 1) File "/usr/local/lib/python3.12/site-packages/requests/utils.py", line 1056, in _validate_header_part raise InvalidHeader( requests.exceptions.InvalidHeader: Invalid leading whitespace, reserved character(s), or returncharacter(s) in header value: ' 77gwnq5xvss8xsctfgsu'