fix inverted assertion in button listeners, implement per-elevator-auto-mode