   index = 0;
   lastIndex = -1;
   
+  // Reprovision If Needed
+  if( errorCount >= reprovisionAfter ){
+    if( exosite.provision("exosite", "oc-kta-223", macString) ){
+      errorCount = 0;
+    }
+  }
+  
   // Setup Values to Write
   for(int i = 0; i < 4; i++){
     writeString += String(Opto_Aliases[i]) + "=" + digitalRead(Optos[i]) + "&";

  Serial.print(F("Connecting to Exosite..."));

  if(exosite.writeRead(writeString, readString, returnString)){
    Serial.println(F("Success"));
    for(;;){
      index = returnString.indexOf("=", lastIndex+1);

      }
    }
  }else{
    errorCount++;
    Serial.println(F("Error Communicating with Exosite"));
  }
  
