Serial Input Basics: example 5, question

It's interesting that there are no other errors with the data except for the tail end. More robust error checking with check sums, could be incorporated, and might not be a bad idea.

As a quick test with your current code, to both fix the error and see where it is, you could try the following

if (newData == true) {
  if (receivedChars[24] != '.')
  {
    Serial.println("Missing .");
    receivedChars[24] = '.';
  }
  if (receivedChars[25] != '\0')
  {
    receivedChars[25] = '\0';
    Serial.println("Missing NULL");
  }
  strcpy(tempChars, receivedChars);
  // this temporary copy is necessary to protect the original data
  //   because strtok() used in parseData() replaces the commas with \0
  //
  // Serial.println(receivedChars); // serial monitor output; not usefull on ESP8266
  // Serial.println();
  parseData();
  // useParsedData(); // still issue with execution and timing (9/5/2018); solved: use in irrigationCommand();
  // thingSpeak();
  newData = false;
}