   if (digitalRead(blowerPin) == HIGH && startFlag == TRUE) {          // OFF, but was running
     stopTimeDate = currentTimeDate;                                   // Set off time.
     Blynk.virtualWrite(16, String("HVAC OFF since ") + stopTimeDate); // Write to app.
+    Blynk.setProperty(V0, "color", "#808080");
+    Blynk.setProperty(V1, "color", "#808080");
+    Blynk.setProperty(V16, "color", "#808080");
 
     if ( (filterChangeHours - currentFilterHours ) <= 0 && changeFilterAlarm == FALSE) {
       Blynk.email(myEmail, "CHANGE A/C FILTER", "Change the A/C filter (20x25x1 1085 microparticle/MERV 11) and reset the timer.");

const int filterChangeHours = 300L;   // Duration in hours between filter changes. Up for debate and experimentation!
bool changeFilterAlarm = FALSE;       // TRUE if filter needs to be changed, until reset.

double tempRA, tempSA;    // Return and supply air temperatures

const int eeIndex = 0;          // This is the EEPROM address location that keeps track of next EEPROM address available for storing a single blower cycle runtime.
int eeCurrent = 1;              // This is the next EEPROM address location that cycle runtime will be stored to.
int eeWBsum;                    // This is the sum of all EEPROM addresses (total runtime stored).
int eeTodaysStartsCount;        // Records how many times the unit has started today.

void setup()
{

  terminal.flush();
}

BLYNK_WRITE(V20) // App button to reset hardware
{
  int pinData = param.asInt();
