   {
     Blynk.virtualWrite(0, "ERR");       // ...there's an error, then display ERR, otherwise...
   }
-  else{
+  else {
     Blynk.virtualWrite(0, "OFF");       // ...display OFF.
   }
 

        break;
      }
    case 9: {                             // Liv-controlled heating
        controlMode = 1;
        controllingSpace = "LK";
        coolingMode = 0;
        controllingTemp = tempLK;
        Blynk.setProperty(V39, "label", String("Setpoint: ") + setpointTemp + ". Controlled by LK (currently " + tempLK + "F).");
        digitalWrite(fanRelay, HIGH);
        digitalWrite(coolingRelay, HIGH);
        digitalWrite(heatingRelay, HIGH);
        digitalWrite(bypassRelay, LOW);
        break;
      }
    default: {
        break;

int fanRelay = 16;      // WeMos pin D0.
int bypassRelay = 0;    // WeMos pin D3.

int controlSplit = 2;   // Predefined value of how much I want to heat or cool above/below setpoint.
int controllingTemp;
int setpointTemp;
String controllingSpace;
bool coolingMode;       // 1 = cooling. 0 = heating.
bool controlMode;
int tempKK, tempLK, tempAT;

long controlStart;
long controlRuntime;
long heatControlTimeout = 600000; // 600000 millis = 10 minutes
long coolControlTimeout = 120000000; // 120000000 millis = 20 minutes
bool controlLatch = FALSE;

bool blynkFlag;
int blynkDisconnectCount;
bool ranOnce;

void setup()
{
