The counter starts at zero. When you activate a button by any means, the button adds 1 to the counter. When you deactivate a button, the button subtracts 1 from the counter. When the counter reaches the maximum value 2, it opens the door and sets the minimum value as 1. When the counter reaches this minimum value, it closes the door and clears the minimum value.
This scenario can be easily adapted to have more requirements, different requirements, or different actions.