       Serial.print(size);
       Serial.println(" bytes");
 
-      bool success = uploadTelegram(telegramReader.getBuffer(), size);
-      if (success) {
-        setLed(false);
-      }
+      uploadTelegram(telegramReader.getBuffer(), size);
 
       telegramReader.reset();
     }

    Serial.print(READ_TIMEOUT_MILLIS);
    Serial.println(" ms");
    telegramReader.reset();
    setLed(false);
  }

  int b = P1_INPUT.read();

      "\r\n");
  httpsClient.write(buffer, size);

  // "HTTPS/1.1 ", we stop reading after the space.
  while (true) {
    byte b = httpsClient.read();
    if (b < 0) {
      httpsClient.stop();
      flashNumber(SERVER_READ_ERROR);
      return false;
    }
    if (b == ' ') {
      break;
    }
  }
  // "200 ", we stop reading after the space.
  int statusCode = 0;
  while (true) {
    byte b = httpsClient.read();
    if (b < 0) {
      httpsClient.stop();
      flashNumber(SERVER_READ_ERROR);
      return false;
    }
    if (!isDigit(b)) {
      break;
    }
    statusCode = (statusCode * 10) + (b - '0');
    if (statusCode > 999) {
      httpsClient.stop();
      flashNumber(SERVER_PROTOCOL_ERROR);
      return false;
    }
  }
  if (statusCode != 200) {
    Serial.print("Non-success HTTP response code from server: ");
    Serial.print(statusCode);
    Serial.print(" ");
    // "OK" or whatever descriptive message there is.
    while (true) {
      int b = httpsClient.read();
      if (b < 0) {
        httpsClient.stop();
        flashNumber(SERVER_READ_ERROR);
        return false;
      }
      if (b == '\r') {
        break;
      }
      Serial.write((byte) b);
    }
    Serial.println();
    httpsClient.stop();
    if (statusCode == 400) {
      flashNumber(TELEGRAM_CHECKSUM_ERROR);
      return false;
    } else {
      flashNumber(SERVER_RESPONSE_ERROR);
      delay(500);
      flashNumber(statusCode);
      return false;
    }
  }

  Serial.print("Uploaded telegram of ");
  Serial.print(size);
  Serial.println(" bytes");
  flashNumber(NO_ERROR);

  return true;
}
