         if (swTrigger == LOW) {
           debug(currentMillis, F("Button switch triggered - opening door\r\n"));
           initDrive(backward, accelProfileHigh);
+          debounceIgnore = debounceIgnoreInterval;
           swTrigger = HIGH; // re-arm swTrigger
         } else {
           // maybe someone tried to pull the door open

const unsigned long debounceInterval = 2; // shift inputs into debounce register every debounceInterval ms
unsigned long debounceMillis = 0;

// TODO: use structured profiles
unsigned long ledMillis = 0;
const unsigned long ledSolidInterval = 250; // constantly update LED stripe in solid mode

  if (debounceMillis >= debounceInterval) {
    debounceMillis = 0;

    if (!debounceIgnore) {
      debounce(switchTrigger, &swTrigger, &swTriggerDeglitch, &swTriggerDebounce);
    } else {
      debounceIgnore--;
    }
 
    debounce(switchFront, &swFront, &swFrontDeglitch, &swFrontDebounce);
    debounce(switchBack, &swBack, &swBackDeglitch, &swBackDebounce);
    debounce(pirPin, &pirTrigger, &pirDeglitch, &pirDebounce);
