 
     Serial.println("Main> Initializing... ");
 
+    // Calculate the number of times we chack to see if the temp has changed
+    // before we forcefully send the data to the server even if the temp
+    // has not changed.
+    TEMP_LOOP_CNT_THRESHOLD = (FORCE_SEND_TEMP_INTERVAL_MS / LOOP_DELAY_MS);
+
+    Serial.printlnf("Main> Loop delay %f (S), %d (MS).", (LOOP_DELAY_MS / 1000), LOOP_DELAY_MS);
+    Serial.printlnf("Main> Time delay before send %f (S), %d (MS)", (FORCE_SEND_TEMP_INTERVAL_MS / 1000), FORCE_SEND_TEMP_INTERVAL_MS);
+    Serial.printlnf("Main> Check temp counter threshold (MAX counter value): %d", TEMP_LOOP_CNT_THRESHOLD);
+
     led.init();
     led.disable();
     led.setColor(YELLOW);
+
+    RGB.control(true);
+    RGB.brightness(0);
+    RGB.control(false);
 
     Serial.print("Main> My device id: ");
     Serial.println(myDeviceId);

    // If the temp has not changed (+/- .5 degrees) no need to send the data
    // However, if the counter reaches 10, then send the data anyway
    // to notify the server that you are still alive :)
    if (round(celcius) != round(currentTempC) || counter > 10) {
      led.setColor(BLUE);
      currentTempC = celcius;
      Serial.println("Main> Sending temp data to server.");
      if (! client.SendTemperatureData(celcius, fahrenheit)) {
        Serial.println("Main> Failed to send data to server, will try again next time");
      }


      // If it has failed 5 times to send the data, then assume the service is
      // down and put the system in an error state
      if(counter > TEMP_LOOP_CNT_THRESHOLD + 5){
        Serial.println("Main> Failed to send data to the server several times.  Putting system in error state.");
        is_server_available = false;
      }
    }
    else{
      counter = counter + 1;
    }
  }

  led.setColor(GREEN);
  Serial.flush();
  delay(LOOP_DELAY_MS);
}
