-
-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full support for Deebot T20 Omni #441
Comments
Screenshots |
Thanks a lot 😍. It will take some time to implement them all :) As the cleaning mode is important for you, I gave it a quick look and have some questions:
What is the |
I don't know about bdTaskID but I performed the follwing tests. They all worked I think that if you put the same value as in ts, it'll work fine 😄 |
Can you test what happens if we omit |
Yes, I tested and bdTaskID is not needed at all |
I realized that I'd need two other functionalities. The second one would be the washing moping pads (in "station start action" file) because of course, before putting the robot on another floor where there is no station, one need to ask the robot to wet and clean the pads. |
I confirm that bdTaskID is not necessary for both commands above. I put 6000 (min) for the "cleaning pads interval" and the robot seemed to accept it. I think adding 30 and 60 min would be perfect (or allowing any input as a parameter). I'll make some tests to confirm that if I put 60, the robot do clean using the mops for >15min without returning to the station (I don't have a house big enough for the robot to clean 60 min straight so if it cleans for >15min I'll consider the test to be a success 😆 ) |
Thank you so much to both of you for working on this. Not sure how I can help but let me know where to tip :) |
I confirm that putting 60min (or any value) for the cleaning pads interval works fine to avoid deebot to return cleaning the mopping pads while cleaning a floor where there is no station. |
I will add the commands after I have changed the whole lib and integration to use device capabilities as not all devices support all features/commands. For example my bot does not support V2 commands and newer support only support V2 commands |
I understand, no problem. I thought I could simply use hard coded restful commands to perform the actions and change settings I wanted but unfortunately the token changes with time. Is there a variable where I can get it from your integration somehow? |
There is no easy way to get it as the token is refreshed automatically in the authenticator. But I think it would be easier if you add the missing commands to this integration and add support for the T20. Could you please review the PR's and maybe also test it? As I'm currently a little bit short on time, could you add the remaining commands to the library following the example above? One PR per command please as this helps reviewing it. Please feel free to comment, if you need any help. |
I want to test your code however could you please provide me some hints or guidance as to how to install the version including the pull requests into my HA? If I understand correctly, I need somehow to take your project into my github, then I need to merge your pull requests and then install that into my HA? |
Currently it is not possible to install a PR directly with HACS. For each PR, the bot will create a zip file, which must be downloaded and extract in |
I downloaded the zip file from this link Then I went to HA through samba share and replaced the content from config\custom_components\deebot with the content of the zip file. I restarted the Home assistant virtual machine. I don't see a "work mode" anywhere Did I do something wrong? No option to set work mode in device No Vacuum: service related to a work mode (not complete list in screenshot) |
It looks the same for me when I tried. I get this error in the logs:
|
It is fixed in the library. Otherwise comment here :) Thanks for testing. |
Perfect to hear, so I can merge it the next days. @schmoogol Can I ask you to test if the T20 supports the
If the command is supported, you should get something similar to event_type: deebot_custom_command
data:
name: getNetInfo
response:
header:
[REMOVED as not relevant]
body:
code: 0
msg: ok
data:
IP: [REMOVED]
ssid: [REMOVED]
rssi: "-68"
wkVer: 0.1.2
mac: [REMOVED] The only interesting part is located under data->response->body->data. It would be nice to share all field names with their value type (int, float, string,...) Could you please repeat the above steps with the command Thanks in advance :) With these commands, I can retrieve the mac address which allow to link the vacuum with other device entires like unifi and co |
Could you tell me where to find the updated files to be installed? |
The event_type: deebot_custom_command
data:
name: getNetInfo
response:
header:
[REMOVED]
body:
code: 0
msg: ok
data:
ip: 192.168.123.456
ssid: MySSID
rssi: "-53"
wkVer: 0.1.2
mac: 12:A3:B4:56:78:91 event_type: deebot_custom_command
data:
name: getWifiList
response:
header:
[REMOVED]
body:
code: 0
msg: OK
data:
mac: 12:A3:B4:56:78:91
list:
- ssid: MySSID
rssi: 67
ip: 192.168.123.456
mask: 255.255.255.0
state: ok
@NEVdataDyne, you shouldn't have to manually add any additional files. I ran the |
@schmoogol Thanks for testing :) As the PR is merged, the branch doesn't exist anymore, but the feature is already on dev, so you can easily install via hacs the "dev" version |
Hello, Because I want to understand everything, I have (too many?) questions... I tried to execute the "pip uninstall deebot-client" command. I am running HA in a VM on ESXi and on the virtual screen I get the HA CLI, not the ssh one. I made some researches and I am still confused between HA installations where some people can run ssh commands and some people can't. Also I didn't find a clear answer as to how I need to force the uninstall without using "pip uninstall deebot-client". Anyway, I did install the dev version using HACS, rebooted HA and I get the same error schmoogol had before you fixed it. I suppose I really need to either find a way to run pip uninstall or find an alternative? |
I think the HA CLI should be the same as using ssh but keeping in mind that HA OS runs everything in docker containers. As the uninstall command needs to be run inside the HA container you could try I'm not exactly sure how VM installs work but on my Pi install I have to use the 'Advanced SSH & Web Terminal' add-on with protection mode off to run commands within containers. |
You need to access the terminal where HA is running. I'm not familiar with ESXi and therefore I cannot give you hints there... |
Got it working, thanks for the explainations! I thought all this docker discussions were due to people running HomeAssistant unsing a docker container and since I am using a VM I didn't think it applied to me... |
I created PR #339, as you will probably notice... I had close to no clue of what I was doing so I don't know if my work is helpful or not. I wanted the cleaning pads interval to be a integer that could be freely set between 1 and 60, I tried to do something like that combining what you did with the work mode and the volume setting but... it was probably so wrong that wouldn't have helped at all. Then I decided to copy the work mode and went for four predifined values, the three provided by ecovacs and one with 60 min interval so the robot basically never go to the station to clean the pads. If what I did did help, the next one I'd like to do is the clean mop action and empty dust bin action but these are very different from work mode so I'd need some guidance |
Each PR will help as I cannot implement all custom on my own :) I left some comments directly in the PR :) |
@edenhaus Could you please implement the base station "Washing moping pads" action so I have an example? I really don't know where to start with this one. |
Yes but not within the next two weeks as I have no time. |
I tried installing the beta version to see if I could get the map and other functions working for the T20, however I’m throwing this error in the logs, any idea? `Logger: deebot_client.commands.json.common No response received for command "getCachedMapInfo". This can happen if the device has network issues or does not support the command |
Have you read the thread above and the other issues? There is still a lot missing, including the map, I think this is the same issue as DeebotUniverse/Deebot-4-Home-Assistant#268 |
Could someone who has some time implement the "Washing moping pads (with hot water)" in "Ecovacs T20 Station start action.txt" so I have an example of a "press button" action? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
https://github.com/home-assistant/core/blob/dev/homeassistant/components/ecovacs/button.py |
@edenhaus I can see some implementation of buttons but my level in coding is so low, the only way I can develop something is to see exactly what someone had to add in every file of the project and do something similar. |
wash pad and hot air drying button/option would be good. love everyone's work on this btw, as so far, its proving to be a better alternative than having to use the deebot app in terms of flexibility. :) |
Is there an existing issue for this?
Is your feature request related to a problem?
No
Suggested solution
I'd like for the HA integration to support the "cleaning mode" option of the T20. (this is what is important for me)
However I extracted all options into files with corresponding jsons so it is possible to implement support for all the T20 options and actions.
All files contain options to define how all future cleanings will be performed.
One exception is the "Station start action" file where these jsons are command for the station to perform an action.
Update 2023-10-25 : Added action "Wash station sink" in file "Ecovacs T20 Station start action.txt"
Update 2023-11-03 : Added "Ecovacs T20 Reset dust bag life span.txt"
Update 2023-11-14 : Added get commands
The text was updated successfully, but these errors were encountered: