Comments (18)
The requests look a little different than those from the vacuum cleaner, some have a V2 at the end but not all.
This is certainly the reason why the mower is found, but you cannot control it with the current ha integration.
I still don't fully understand how client.py works here. But I'll try to understand the code, for everyone who is faster or already knows what they're doing: https://gitlab.com/goat-g1/rest-api-dumps
from client.py.
As you see from the logs, many commands are not implemented yet in this library. To support the G1 first we need to add this commands and verify that we have at least covered the basic methods.
If there is a better way to get this info, let me know
The easiest would be to log the traffic between the app and the ecovacs server by a mitmproxy as want do know, which commands the app will send.
The mower support in HA will be discussed in home-assistant/architecture#894 and the first PR home-assistant/core#93623
from client.py.
Hi, I got the basic functions to work. The thing that doesn't work is the map.
I don't have a deboot vacuum cleaner and was only able to test it with a Goat G1. Before I open the PR, it would be great if someone with a vacuum cleaner and another goat could test it out.
Repo: https://github.com/tobiaskuntzsch/Deebot-4-Home-Assistant.git
(Client: https://github.com/tobiaskuntzsch/client.py)
I had difficulties importing the json commands, so i make this quick fix. If anyone has a tip what I did wrong? ;-)
https://github.com/tobiaskuntzsch/Deebot-4-Home-Assistant/blob/1245c4ba68652973fd9f438c259d92938942f504/custom_components/deebot/vacuum.py#L7
from client.py.
I had difficulties importing the json commands, so i make this quick fix. If anyone has a tip what I did wrong? ;-) tobiaskuntzsch/Deebot-4-Home-Assistant@
1245c4b
/custom_components/deebot/vacuum.py#L7
I refactored the client a lot for adding support XML based robots. The "Deebot-4-Home-assistant" needs still be updated to that change and use the new DeviceCapabilities
from client.py.
Bit hard to test with 10cm of snow on the ground... :)
from client.py.
If there is a better way to get this info, let me know
from client.py.
I'm happy to help out and spend some time on this. Are there any guides for doing this as I'm relatively new to this kind of thing (intercepting the traffic)
from client.py.
Yeah it's easier if you have a rooted Android phone. There are a few mitm proxies, there's one which you can load from desktop too, I used that.
from client.py.
I have packet capture in my Android. And I just install my Goat G1.
Can I help you ?
from client.py.
Please analyze the request from the ecovacs app. Not sure if the call the same endpoints as the vacuum cleaner...
If yes you should see some call to the endpoint iot/devmanager.do
and than verify the body of the request. It should be json and the command name should be stored with the key cmdName
(More details about the request can be found here)
It could also be that the G1 used different endpoint so please analyze the requests :)
from client.py.
I ordered 2 additional beacons because my land is in U. I am waiting to receive them to complete the configuration of the robot.
from client.py.
Nobody can say me how to captur my Goat G1 to send you results ?
from client.py.
@tobiaskuntzsch You can contact me over Discord for help. My username is edenhaus
And thanks a lot for the dump :D
from client.py.
@tobiaskuntzsch It is fine to open directly a PR and than I can directly write my feedback their :) I'm happy to add support for the G1
from client.py.
@dogmatic69 Are you planning to open a PR to add support for it? I'm happy to review it :)
from client.py.
I would but have no previous experience with reverse engineering the traffic. I'll see if I get some time over christmas perhaps.
from client.py.
If you can control the goat over HA, you have done everything right :) Also if it works only partly we can add it
from client.py.
That's true :)
from client.py.
Related Issues (20)
- TypeError: 'type' object is not subscriptable HOT 3
- Map generation fails if virtual boundary lines created HOT 2
- No sensors working for X1 Omni HOT 2
- Trying to get data from GOAT G1 mower HOT 4
- Port to official HA integration HOT 13
- Map renderer crash due to off by one error HOT 2
- AttributeError: 'ProactorEventLoop' object has no attribute 'add_reader' HOT 3
- Command "getMapSubSet" was not successfully: {'ret': 'fail', 'errno': 500, 'debug': 'wait for response timed out'} HOT 3
- Add support for ECOVACS DEEBOT TEO OMNI HOT 16
- Add support for Windows users HOT 2
- Full support for Deebot T20 Omni HOT 39
- Please add support for Ecovacs X2 Omni HOT 13
- Add Mopping Mode selection HOT 5
- Support of yeedi vacuums HOT 7
- Add support for Air Purification Robot Z1 HOT 1
- Clean / dirty water tanks levels HOT 4
- rcp not supportet found in debug log HOT 1
- Advanced Mode not working with X2 Omni, maybe other types too HOT 2
- Possible issue with example code on unsupported device
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from client.py.