       break;
     case OVERLOAD:
       red = LED_FAST; green = LED_OFF;
+      break;
+    case NOCONN:
+      red = LED_FAST; green = LED_FAST;
       break;
     case WRONGFRONTSWITCHSETTING:
       red = LED_SLOW; green = LED_ON;

#endif

typedef enum {
  SWERROR, OUTOFORDER,     // some error - machine disabled.
  OVERLOAD,                 // current overload protection has tripped. Machine disabled.
  WRONGFRONTSWITCHSETTING,   // The switch on the front is in the 'on' setting; this blocks the operation of the on/off switch.
  DENIED,                    // we got a denied from the master -- flash an LED and then return to WAITINGFORCARD
  CHECKING,                  // we are are waiting for the master to respond -- flash an LED and then return to WAITINGFORCARD
  WAITINGFORCARD,            // waiting for card.
  ENERGIZED,                 // Got the OK; go to RUNNING once the green button at the back is pressed & operator switch is on.
  RUNNING,                   // Running - go to DUSTEXTRACT once the front switch is set to 'off' or to WAITINGFORCARD if red is pressed.
  DUSTEXTRACT                     // Letting dust control do its thing; then drop back to ENERGIZED.
} machinestates_t;

#ifdef DEBUG
// 229,884
char machinestateNames = {
  "Software Error", "Out of order",
  "Current overload tripped",
  "Operator switch in wrong position",
  "Tag Denied",

  return NULL;
}

void reconnectMQTT() {

  Debug.print("Attempting MQTT connection (State : ");
  Debug.print(state2str(client.state()));
