 
       unsigned long now = millis();
 
-      if ((now > lastUpdateTime + 60000 || now < lastUpdateTime) && strncmp(eagle_data, "RUNTIME", 7) != 0 && strchr(eagle_data, ':') != NULL) {
+      if ((now > lastUpdateTime + 60000 || now < lastUpdateTime) && strncmp(eagle_data, "RUNTIME", 7) != 0 && (eagle_data[1] == ':' || eagle_data[2] == ':')) {
         if (postToPhant()) {
           lastUpdateTime = now;
         }
       }
+
+      // Reset the data.  Hitting an LF should always do this, succesful send or not
+      data_index = 0;
+      eagle_data[data_index] = '\0';
     } else if (c != '\r') {
       // Capture everything else (but not a CR)
       if (data_index < 80) {

    }
  }

  // Delays allow the ESP8266 to perform critical tasks
  // defined outside of the sketch. These tasks include
  // setting up, and maintaining, a WiFi connection.
  delay(100);

  while (Serial.available()) {
    char c = Serial.read();



  phant.add("ambient_t", dht.readTemperature(true));

  // Now connect to data.sparkfun.com, and post our data:
  WiFiClient client;

