Updating docs for new release.
This commit is contained in:
@@ -2,11 +2,9 @@ sucks
|
|||||||
=====
|
=====
|
||||||
|
|
||||||
A simple command-line python script to drive a robot vacuum. Currently
|
A simple command-line python script to drive a robot vacuum. Currently
|
||||||
works only with the Ecovacs Deebot N79, as that's what I have.
|
known to work with the Ecovacs Deebot N79, M81, and M88 Pro from North
|
||||||
|
America and Europe. Does it work for your model as well? Join the
|
||||||
This only covers my simple use case. There's a lot more it could do.
|
discussion on the [sucks-users mailing list](https://groups.google.com/forum/#!forum/sucks-users).
|
||||||
If you'd like to help flesh it out, send email to my first name at
|
|
||||||
williampietri.com.
|
|
||||||
|
|
||||||
If you're curious about the protocol, I have [a rough doc](protocol.md)
|
If you're curious about the protocol, I have [a rough doc](protocol.md)
|
||||||
started. I'll happily accept pull requests for it.
|
started. I'll happily accept pull requests for it.
|
||||||
@@ -18,9 +16,8 @@ it's a vacuum.
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
My belief, so far untested, is that you just check out this code,
|
Check out this code, do `pipenv install`, and then call the script
|
||||||
do `pipenv install`, and then call the script `sucks`. If you try,
|
`sucks`. If that doesn't work for you, please [open an issue](https://github.com/wpietri/sucks/issues).
|
||||||
please let me know how it turns out.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -33,6 +30,8 @@ Step one is to log in:
|
|||||||
% sucks login
|
% sucks login
|
||||||
Ecovacs app email: [your email]
|
Ecovacs app email: [your email]
|
||||||
Ecovacs app password: [your password]
|
Ecovacs app password: [your password]
|
||||||
|
your two-letter country code: us
|
||||||
|
your two-letter contienent code: na
|
||||||
Config saved.
|
Config saved.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+11
-2
@@ -7,6 +7,15 @@ all its free time hanging out in an internet chat room.
|
|||||||
This is all taken from MITMing the Android app. The protocol is quirky
|
This is all taken from MITMing the Android app. The protocol is quirky
|
||||||
enough that I wouldn't be shocked if the iPhone app does it differently.
|
enough that I wouldn't be shocked if the iPhone app does it differently.
|
||||||
|
|
||||||
|
## Location
|
||||||
|
|
||||||
|
It appears that Ecovacs have broken up their API servers by location. Some
|
||||||
|
are designated by country, others by continent. All appear to use the
|
||||||
|
two-letter ISO codes, but at this time it doesn't look like all codes
|
||||||
|
map to valid servers. If you're in, say, Australia and are trying to
|
||||||
|
get this to work, I'd love a packet capture of DNS requests to see what
|
||||||
|
the app does there.
|
||||||
|
|
||||||
## HTTPS
|
## HTTPS
|
||||||
|
|
||||||
There are two sorts of URLs in the basic login flow. The first set use
|
There are two sorts of URLs in the basic login flow. The first set use
|
||||||
@@ -54,13 +63,13 @@ examples with the private information removed:
|
|||||||
|
|
||||||
A clean command:
|
A clean command:
|
||||||
```
|
```
|
||||||
<iq id="TXID" to="ROBOTID@126.ecorobot.net/atom" from="USERID@ecouser.net/RESOURCEID" type="set"><query xmlns="com:ctl"><ctl td="Clean"><clean type="auto" speed="standard"/></ctl></query></iq>
|
<iq id="TXID" to="ROBOTID@MODELID.ecorobot.net/atom" from="USERID@ecouser.net/RESOURCEID" type="set"><query xmlns="com:ctl"><ctl td="Clean"><clean type="auto" speed="standard"/></ctl></query></iq>
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
A charge command:
|
A charge command:
|
||||||
```
|
```
|
||||||
<iq id="TXID" to="ROBOTID@126.ecorobot.net/atom" from="USERID@ecouser.net/RESOURCEID" type="set"><query xmlns="com:ctl"><ctl td="Charge"><charge type="go"/></ctl></query></iq>
|
<iq id="TXID" to="ROBOTID@MODELID.ecorobot.net/atom" from="USERID@ecouser.net/RESOURCEID" type="set"><query xmlns="com:ctl"><ctl td="Charge"><charge type="go"/></ctl></query></iq>
|
||||||
```
|
```
|
||||||
|
|
||||||
Focusing on the core ctl elements, this is a sampling of commands seen on the wire after punching all the app buttons:
|
Focusing on the core ctl elements, this is a sampling of commands seen on the wire after punching all the app buttons:
|
||||||
|
|||||||
Reference in New Issue
Block a user