 }
 
 void callback(char* topic, byte* payload, unsigned int length) {
+  String topicStr = String(topic);
+  unsigned long callbackTime = millis();
   String data = "";
   for (int i = 0; i < length; i++)
   {

  }
  #if DEBUG
    Serial.print("[");
    Serial.print(topic);
    Serial.print("] ");
    Serial.println(data);
  #endif

  if (String(topic) == subscriptions[0])
  {
    mqttClient.publish(String(domain + "/ack/" + thisMAC).c_str(), "ack");
  }
  else if (String(topic) == subscriptions[1])
  {
    parseRGB(data);
    setParsedRGB();

      Serial.println("Setting RGB " + data);
    #endif
  }
  else if (topicStr == subscriptions[2])
  {
    parseFade(data);
    fadeActive = true;
  }
  lastCallback = millis();
  #if DEBUG
  Serial.print("Callback prossesing time: ");
  Serial.println(millis() - callbackTime);
  #endif
}


