   }
 }
 
-BLYNK_WRITE(V20) // App button to reset hardware // THIS WORKING RIGHT HAS SOMETHING TO DO WITH GPIO0. Worked when I had DS18B20 on that pin!
+BLYNK_WRITE(V20) // App button to reset hardware
 {
   int pinData = param.asInt();
 

  // END EEPROM WRITEBACK ROUTINE

  timer.setInterval(2500L, sendTemps);        // Temperature sensor polling and app display refresh interval.
  timer.setInterval(2500L, sendStatus);       // Unit run status polling interval (for app Current Status display only).
  timer.setInterval(1000L, countRuntime);     // Counts blower runtime for daily accumulation displays.
  timer.setInterval(1000L, totalRuntime);     // Counts blower runtime for daily EEPROM storage.
  timer.setInterval(500L, timeKeeper);        // Track a cycle start/end time for app display.
  timer.setInterval(15432L, sfUpdate);        // ~15 sec run status updates to data.sparkfun.com

  heartbeatOn();


void countRuntime()
{
  if (year() != 1970) // Doesn't start until RTC is set correctly.
  {

    // Below gives me leading zeros on minutes and AM/PM.
    if (minute() > 9 && hour() > 11) {
      currentTimeDate = String(hourFormat12()) + ":" + minute() + "PM on " + month() + "/" + day();
    }
    else if (minute() < 10 && hour() > 11) {
      currentTimeDate = String(hourFormat12()) + ":0" + minute() + "PM on " + month() + "/" + day();
    }
    else if (minute() > 9 && hour() < 12) {
      currentTimeDate = String(hourFormat12()) + ":" + minute() + "AM on " + month() + "/" + day();
    }
    else if (minute() < 10 && hour() < 12) {
      currentTimeDate = String(hourFormat12()) + ":0" + minute() + "AM on " + month() + "/" + day();
    }

    if (daySet == FALSE) { // Sets the date (once per hardware restart) now that RTC is correct.
      todaysDate = day();
      daySet = TRUE;
    }

    if (digitalRead(blowerPin) == LOW && todaysDate == day()) // Accumulates seconds unit is running today.
