I strongly discourage the use of func_movelinear for brushes that players can interact with, it's very fussy and doesn't handle player collisions well at all, I'd use a func_tracktrain instead.
As for your problem, if you choose to stay with func_movelinear, could you not just set the speed to 0 on fully open?
If you used a func_tracktrain instead though, on the path_track that would essentially be the end position, you'd just need an output that would look like: OnPass -> Elevator entity -> Stop.