   }
 }
 
-void timeKeeper()
-{
-  if (digitalRead(blowerPin) == HIGH) // Runs when unit is OFF.
-  {
-    // The following records the time the blower started.
-    onHour24 = hour();
-    onHour = hourFormat12();
-    onMinute = minute();
-    onMonth = month();
-    onDay = day();
-
-    if (xStop == 0) // This variable isn't set to zero until the blower runs for the first time after ESP reset.
-    {
-      ++xStop;
-      resetTattle = 1;
-    }
-    xStart = 0;
-  }
-  else if (digitalRead(blowerPin) == LOW) // Runs when unit is ON.  DEV: Why don't I run once on state change and just lock it out?
-  {
-    // The following records the time the blower stopped.
-    offHour24 = hour();
-    offHour = hourFormat12();
-    offMinute = minute();
-    offMonth = month();
-    offDay = day();
-
-    if (xStart == 0)
-    {
-      if (xFirstRun == 0)
-      {
-        ++xFirstRun;
-        ++xStart;
-        resetTattle = 1;
-      }
-      else
-      {
-        ++xStart;
-      }
-    }
-    xStop = 0;
-  }
-
-  // Does the timing for the RA/SA split temperature alarm.
+void alarmTimer() // Does the timing for the RA/SA split temperature alarm.
+{
   if (digitalRead(blowerPin) == LOW) // Blower is running.
   {
     int secondsCount = (millis() / 1000); // Running count that the alarm will reference after the first high split is noticed.

int alarmFor = 0;                 // Provides "latching" for high split alarm counting & functionality. 0 is normal. 1 is prealarm. 5 is alarmed and lockout.
const int splitAlarmTime = 180;   // If a high split persists for this duration (in seconds), notification is sent.
int alarmTime;                    // Seconds that high split alarm has been active.
int resetHour, resetMin,          // ALSO BE MOVED to void setup() runOnce deal. Sets the date/time the hardware was reset.
    resetMonth, resetDay;

int todaysAccumRuntimeSec;            // Today's accumulated runtime in seconds - displays in app.
int todaysAccumRuntimeMin;            // Today's accumulated runtime in minutes - displays in app.
int currentCycleSec, currentCycleMin; // If HVAC is running, the duration of the current cycle (non-accumulating).
int yesterdayRuntime;                 // Sum of yesterday's runtime in minutes - displays in app.
int todaysDate;                       // Sets today's date related to things that reset at EOD.

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


      Blynk.virtualWrite(14, String(yesterdayRuntime) + " minutes");
    }

    if (todaysAccumRuntimeSec < 1)
    {
      Blynk.virtualWrite(15, "None");
