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
|
||||
works only with the Ecovacs Deebot N79, as that's what I have.
|
||||
|
||||
This only covers my simple use case. There's a lot more it could do.
|
||||
If you'd like to help flesh it out, send email to my first name at
|
||||
williampietri.com.
|
||||
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
|
||||
discussion on the [sucks-users mailing list](https://groups.google.com/forum/#!forum/sucks-users).
|
||||
|
||||
If you're curious about the protocol, I have [a rough doc](protocol.md)
|
||||
started. I'll happily accept pull requests for it.
|
||||
@@ -18,9 +16,8 @@ it's a vacuum.
|
||||
|
||||
## Installation
|
||||
|
||||
My belief, so far untested, is that you just check out this code,
|
||||
do `pipenv install`, and then call the script `sucks`. If you try,
|
||||
please let me know how it turns out.
|
||||
Check out this code, do `pipenv install`, and then call the script
|
||||
`sucks`. If that doesn't work for you, please [open an issue](https://github.com/wpietri/sucks/issues).
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -33,6 +30,8 @@ Step one is to log in:
|
||||
% sucks login
|
||||
Ecovacs app email: [your email]
|
||||
Ecovacs app password: [your password]
|
||||
your two-letter country code: us
|
||||
your two-letter contienent code: na
|
||||
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
|
||||
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
|
||||
|
||||
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:
|
||||
```
|
||||
<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:
|
||||
```
|
||||
<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:
|
||||
|
||||
Reference in New Issue
Block a user