DeebotUniverse / Deebot-4-Home-Assistant

Home Assistant integration for deebot vacuums
https://deebot.readthedocs.io/integrations/home-assistant/
GNU General Public License v3.0
180 stars 41 forks source link

T8 Max Support #91

Open tianlong1266 opened 2 years ago

tianlong1266 commented 2 years ago

Checks

The problem

i already install the deebot-4-home-assistant in the hacs and the integration. and i already input my user name and password information, but when i tap the next button, it can't show any device in my account,and it can't go to next step because it ask me to choose one device at least.my account is a chinese account ,i use the short ID to sign in the accout.and my phone app can control my device. how do i do next? thank you for your answer.

On which deebot vacuum you have the issue?

Deebot (OZMO) T8 series (deebot t8 max)

Which version of the Deebot component are you using?

1.0.0

Which version of Home Assistant are you using?

2021.12.9

What type of installation are you running?

Home Assistant OS

Country

cn

Continent

ww

Instance type

Cloud

Anything in the logs that might be useful for us?

nothing

Additional information

edenhaus commented 2 years ago

Please activate debug logs and attach them here. Without I cannot help you

tianlong1266 commented 2 years ago

attach

thank you for your reply. i'm a rookie player of homeassistant,i'm not sure where is the debug logs.but i find some log message about deebot 4 homeassistant.if this message is not you need,please tell me how to find the debug logs.thank you very much. image 2022-01-14 17:36:30 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration deebot which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-01-14 17:36:30 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

edenhaus commented 2 years ago

You can find more information, how you enable debug logs on the link paged of my previous commit.

tianlong1266 commented 2 years ago

thank you for your reply.i find how to enable debug logs.and i restart the homeassistant after i add the code in the configuration.yaml.the logs is too much code.half code is the black color,the other is the orange color.the orange code is about 1529 pages in the mircosoft word.i try to install the deebot 4 homeassistant in the integration ,and the logs add more code.i just paste these code which have the 'deebot' key words.if you need to me give you more code,please tell me.thank you very much.

2022-01-14 23:13:25 DEBUG (MainThread) [deebot_client.authentication] No cached credentials, performing login
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] Start login to EcovacsAPI
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] calling login api
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] got {'code': '0000', 'msg': '操作成功', 'time': 1642173206248, 'data': {'uid': '[REMOVED]', 'accessToken': '[REMOVED]', 'userName': '[REMOVED]', 'email': '[REMOVED]', 'mobile': '[REMOVED]', 'isNew': None, 'loginName': '[REMOVED]', 'ucUid': '[REMOVED]', 'hasMobile': '[REMOVED]', 'isNewThirdAccount': None}, 'success': True}
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] calling auth api
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] got {'code': '0000', 'msg': '操作成功', 'time': 1642173206496, 'data': {'authCode': '[REMOVED]', 'ecovacsUid': '[REMOVED]'}, 'success': True}
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] calling api users/user.do with {'edition': 'ECOGLOBLE', 'userId': '[REMOVED]', 'token': '[REMOVED]', 'realm': 'ecouser.net', 'resource': 'C49TK4FQ', 'org': 'ECOCN', 'last': '', 'country': 'Chinese', 'todo': 'loginByItToken'}
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] got {'todo': 'result', 'result': 'ok', 'userId': '[REMOVED]', 'resource': 'C49TK4FQ', 'token': '[REMOVED]', 'last': 604800000}
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] Switching to shorter UID
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client.authentication] Login to EcovacsAPI successfully
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] calling api appsvr/app.do with {'userid': '[REMOVED]', 'todo': 'GetGlobalDeviceList'}
2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] got {'code': 0, 'todo': 'result', 'ret': 'ok', 'devices': []}
edenhaus commented 2 years ago

Please read general information about HA logging (as written in the liked page) and how you access the log file. Only the UI gives different color per level (orange = warning). As your pasted log contains no warnings, I assume you have some other issues, which has nothing to do with this integration.

2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] calling api appsvr/app.do with {'userid': '[REMOVED]', 'todo': 'GetGlobalDeviceList'} 2022-01-14 23:13:26 DEBUG (MainThread) [deebot_client._api_client] got {'code': 0, 'todo': 'result', 'ret': 'ok', 'devices': []}

The api is not returning any device. This is also the reason, why you can‘t select one via the UI. Probably the api has changed for some newer devices or maybe only for china (as in China you can login by phone). As I don‘t have your model nor I have a chinese account I cannot help you, sorry. Someone with the technical skills and a chinese account needs to analyse the requests send by the app and find out, which has be changed. Unfortunately ecovacs is not documenting their api at least it is not public available and therefore you need to analyse the requests the app performs.

Edo78 commented 2 years ago

I have a T8 with a chinese account and it works flawlessly.

edenhaus commented 2 years ago

Whats the different of the T8 and T8 Max? I didn‘t find any information about the max (at least not in a language I can understand)

mrbungle64 commented 2 years ago

@edenhaus

Translated via Google Translate from Vietnamese 😉 https://robothutbui.vn/ecovacs-deebot-ozmo-t8-max

Ecovacs Deebot T8 Max is a low-cost version of the new and most advanced Ecovacs T8 Series. Despite the lower price tag of the standard version, the T8 Max is definitely an affordable choice. T8 Max uses a triple camera system with Ecovacs' proprietary Truedetect 3D technology. Challenging even the smallest space and obstacles.

Edit: It looks like a version of the T8 distributed in Vietnam https://zulihome.vn/ecovacs-deebot-ozmo-t8-max/

tianlong1266 commented 2 years ago

dear edenhaus,thank you for your help.can you give me your private e-mail,i can give you my chinese accout and password.

edenhaus commented 2 years ago

Contact me on Discord edenhaus#4703

abhi08638 commented 2 years ago

@edenhaus

I have the same issue where my device list is empty (using a Deebot N79s). This model works using the normal ecovacs integration and it was in the supported list on the DeebotUniverse site so I assumed it would work here is as well. I've attached the relevant logs and it looks as though the component just excludes these models from the list saying they are not supported.

2022-02-07 10:38:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [547732187168] Received {'type': 'frontend/get_translations', 'language': 'en', 'category': 'config', 'integration': 'deebot', 'id': 42}
2022-02-07 10:38:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [547732187168] Received {'type': 'frontend/get_translations', 'language': 'en', 'category': 'title', 'integration': 'deebot', 'id': 43}
2022-02-07 10:38:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [547732187168] Sending {"id": 42, "type": "result", "success": true, "result": {"resources": {"component.deebot.config.abort.already_configured": "Already configured", "component.deebot.config.error.cannot_connect": "Can't connect to the ecovacs API", "component.deebot.config.error.invalid_auth": "Invalid username or password", "component.deebot.config.error.unknown": "Unknown error", "component.deebot.config.error.invalid_country": "Country code should be two letter code, ex: us, uk, etc ", "component.deebot.config.error.invalid_continent": "Continent code should be two letter code, ex: ww, eu, etc ", "component.deebot.config.error.select_robots": "Please select at least 1 robot", "component.deebot.config.step.user.data.password": "Password", "component.deebot.config.step.user.data.username": "E-mail or ShortID", "component.deebot.config.step.user.data.country": "Country", "component.deebot.config.step.user.data.continent": "Continent", "component.deebot.config.step.robots.data.devices": "Devices", "component.deebot.config.step.user_advanced.description": "Please select \"Bumper\" ONLY if you have a working bumper instance already. Otherwise, select \"Cloud\" please."}}}
2022-02-07 10:38:04 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [547732187168] Sending {"id": 43, "type": "result", "success": true, "result": {"resources": {"component.deebot.title": "Deebot 4 Home Assistant"}}}
2022-02-07 10:38:19 DEBUG (MainThread) [deebot_client.authentication] No cached credentials, performing login
2022-02-07 10:38:19 DEBUG (MainThread) [deebot_client.authentication] Start login to EcovacsAPI
2022-02-07 10:38:19 DEBUG (MainThread) [deebot_client.authentication] calling login api
2022-02-07 10:38:20 DEBUG (MainThread) [deebot_client.authentication] got {'code': '0000', 'msg': '操作成功', 'time': 1644248300029, 'data': {'uid': '[REMOVED]', 'accessToken': '[REMOVED]', 'userName': '[REMOVED]', 'email': '[REMOVED]', 'mobile': '[REMOVED]', 'isNew': None, 'loginName': '[REMOVED]', 'ucUid': '[REMOVED]'}, 'success': True}
2022-02-07 10:38:20 DEBUG (MainThread) [deebot_client.authentication] calling auth api
2022-02-07 10:38:20 DEBUG (MainThread) [deebot_client.authentication] got {'code': '0000', 'msg': '操作成功', 'time': 1644248300638, 'data': {'authCode': '[REMOVED]', 'ecovacsUid': '[REMOVED]'}, 'success': True}
2022-02-07 10:38:20 DEBUG (MainThread) [deebot_client._api_client] calling api users/user.do with {'edition': 'ECOGLOBLE', 'userId': '[REMOVED]', 'token': '[REMOVED]', 'realm': 'ecouser.net', 'resource': 'VU2HZJSO', 'org': 'ECOWW', 'last': '', 'country': 'US', 'todo': 'loginByItToken'}
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client._api_client] got {'todo': 'result', 'result': 'ok', 'userId': '[REMOVED]', 'resource': 'VU2HZJSO', 'token': '[REMOVED]', 'last': 604800000}
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client.authentication] Switching to shorter UID
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client.authentication] Login to EcovacsAPI successfully
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client._api_client] calling api appsvr/app.do with {'userid': '[REMOVED]', 'todo': 'GetGlobalDeviceList'}
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client._api_client] got {'code': 0, 'todo': 'result', 'ret': 'ok', 'devices': [{'did': '[REMOVED]', 'name': 'E000P8U2318605473158', 'class': '155', 'resource': 'atom', 'nick': 'Apollo', 'company': 'eco-legacy', 'deviceName': 'DEEBOT N79S/SE', 'icon': 'https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d', 'ota': False, 'UILogicId': 'ECO_INTL_155', 'materialNo': '702-0000-0164', 'pid': '5cce893813afb7000195d6af', 'product_category': 'DEEBOT', 'model': 'DN622', 'updateInfo': {'needUpdate': False, 'changeLog': ''}, 'status': 2, 'bindTs': 0}, {'did': '[REMOVED]', 'name': 'E000P8U2318606954946', 'class': '155', 'resource': 'atom', 'nick': 'Ranger', 'company': 'eco-legacy', 'deviceName': 'DEEBOT N79S/SE', 'icon': 'https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d', 'ota': False, 'UILogicId': 'ECO_INTL_155', 'materialNo': '702-0000-0164', 'pid': '5cce893813afb7000195d6af', 'product_category': 'DEEBOT', 'model': 'DN622', 'updateInfo': {'needUpdate': False, 'changeLog': ''}, 'status': 2, 'bindTs': 0}]}
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client.api_client] Skipping device as it is not supported: {'did': '[REMOVED]', 'name': 'E000P8U2318605473158', 'class': '155', 'resource': 'atom', 'nick': 'Apollo', 'company': 'eco-legacy', 'deviceName': 'DEEBOT N79S/SE', 'icon': 'https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d', 'ota': False, 'UILogicId': 'ECO_INTL_155', 'materialNo': '702-0000-0164', 'pid': '5cce893813afb7000195d6af', 'product_category': 'DEEBOT', 'model': 'DN622', 'updateInfo': {'needUpdate': False, 'changeLog': ''}, 'status': 2, 'bindTs': 0}
2022-02-07 10:38:21 DEBUG (MainThread) [deebot_client.api_client] Skipping device as it is not supported: {'did': '[REMOVED]', 'name': 'E000P8U2318606954946', 'class': '155', 'resource': 'atom', 'nick': 'Ranger', 'company': 'eco-legacy', 'deviceName': 'DEEBOT N79S/SE', 'icon': 'https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d', 'ota': False, 'UILogicId': 'ECO_INTL_155', 'materialNo': '702-0000-0164', 'pid': '5cce893813afb7000195d6af', 'product_category': 'DEEBOT', 'model': 'DN622', 'updateInfo': {'needUpdate': False, 'changeLog': ''}, 'status': 2, 'bindTs': 0}
mrbungle64 commented 2 years ago

@abhi08638

it was in the supported list on the DeebotUniverse site so I assumed it would work here is as well

Please check the "Model support" site again

The Deebot N79 series is supported by the ecovacs-deebot.js library, but not by the deebot-client library.

"Note: Which library is used by a integration can be found under the projects page."

abhi08638 commented 2 years ago

@mrbungle64 ah I see that now, I misunderstood. I thought the component would choose the library based on the model. Thanks for clarification!

edenhaus commented 2 years ago

@tianlong1266 You did not contact me on Discord... I changed this issue into a feature request. Everyone feel free to analyse it and open a PR 😊

DungAT98 commented 2 years ago

Hi, currently I'm using Deebot T8 max and having the same issue. Can I contact you in discord? I'll send you my ecovacs id for testing @edenhaus

lacafjh commented 2 years ago

I have a T8 with a chinese account and it works flawlessly.

I received 'Invalid username or password' with a Chinese account.

ID - EXXXXXXX Password - **************** country - cn continent - ww (also tried with as)

Can you tell me if you filled in the four items like this? Did you make any other changes manually?

Edo78 commented 2 years ago

Can you tell me if you filled in the four items like this? Did you make any other changes manually?

I did the same (maybe I used uppercase CN as country, not sure). The first thing that pop in my head is the use of some special character in the password (eg. -)

lacafjh commented 2 years ago

I did the same (maybe I used uppercase CN as country, not sure). The first thing that pop in my head is the use of some special character in the password (eg. -)

I just manually deleted the entire integration folder in desperation and reinstalled it. When I saw the reminder email of your reply, I thought, since others can then I'll try again. If that doesn't work, I'll try the upper case. That's when the miracle happened, it worked! Thank you dude, for responding so promptly and giving me the confidence to keep trying!

DungAT98 commented 2 years ago

@edenhaus can you send me your discord account. I used edenhaus#4703 but it not found

edenhaus commented 2 years ago

@edenhaus can you send me your discord account. I used edenhaus#4703 but it not found

I only have this account. Screenshot_20220322-081007

hyq023488 commented 2 years ago

科沃斯空气净化器能添加进去,不能控制

iapYang commented 1 year ago

It seems that the max version is somehow built with TmallGenie,currently I have a T10 and a T9 Max,and only show T10, maybe the max version need a different url to fetch