eupy/protocol.md

73 lines
1.6 KiB
Markdown

Eufy RoboVac 11s IR protocol
============================
## Timings
| Timings | High | Low |
|---------:|-------:|------:|
| Preamble | 3ms | 3ms |
|Logical 0 | 400µs | 600µs |
|Logical 1 | 400µs | 1.6ms |
| Trailer | 400µs | 20ms |
Carrier frequency: 38kHz
Frame: (Preamble + 48bits + Trailer) * 3
Format: `68CCHHMMSSKK` (Hex, MSB first)
## Frame contents
Section| Description
:-----:|:-------------
CC | command
HH | hour
MM | minute
SS | schedule (in quarters of an hour from midnight, 0xff=off)
KK | checksum (sum of all bytes in the frame modulo 256)
CC | Command
:------:|:--------
`1c` | Max power
`1d` | BoostIQ
`1e` | Standard power
`2f` | Forward
`3f` | Turn CCW
`4f` | Stop cleaning
`5d` | Auto cleaning
`6f` | Turn CW
`7f` | Backward
`8c` | Spot cleaning
`9c` | Edge cleaning
`ad` | Room cleaning
`bf` | Set time
`cf` | Set schedule
`df` | Clear schedule
`ef` | Return to base
## Examples
| Hex | Description
|:--------------:|:---------------------------
| `685d0f272823` | Start
| `684f0f272815` | Stop
| `68bf11242884` | Time (5:36pm)
| `68bf112b288b` | Time (5:43pm)
| `68cf13202892` | Schedule 10:00am
| `68cf132b299e` | Schedule 10:15am
| `68cf13305fd9` | Schedule 11:45pm
| `68df1336ff8f` | Schedule off
| `685d1406ffde` | Start
| `681c1419ffb0` | Power (BoostIQ->Max)
| `681e141effb7` | Power (Max->Standard)
| `681d141effb6` | Power (Standard->BoostIQ)
| `682f142effd8` | Up
| `687f142eff28` | Down
| `683f142effe8` | Left
| `686f142eff18` | Right
| `688c1504ff0c` | Spot
| `689c1508ff20` | Edge
| `68ad150cff35` | Room
| `68ef1510ff7b` | Base