Sending data from DHT11 to Xively using Xbees [SOLVED]

The network code should only be called when started==true && ended == true;
If I see it correctly now every loop it tries t send the data to Xively.

you can improve your code by defining separate function for separate steps.

void handleINcomingSerial()
{
  //start of code to read from transmitter
  while(Serial.available() > 0)
  {
    char aChar = Serial.read();
    if(aChar == '<')
    {
      started = true;
      index = 0;
      inData[index] = '\0';
    }
    else if(aChar == '>')
    {
      ended = true;
    }
    else if(started)
    {
      inData[index] = aChar;
      index++;
      inData[index] = ',';
    }
  }  
}

void printValues()
{
  // Use the value
  if(inData[0] == 'T')
  {
    inData[0] = ' ';
    int temp = atoi(inData);
    Serial.println(" ");
    Serial.print("Temp:");
    Serial.print(inData);
    Serial.print("C");
    Serial.println(" ");
  }
  else if(inData[0] == 'H')
  {
    inData[0] = ' ';
    int hum = atoi(inData); 
    Serial.println(" ");
    Serial.print("Humidity:");
    Serial.print(inData);
    Serial.print("%");
    Serial.println(" ");
  }
}

void sendoToXively()
{
  datastreams[0].setFloat(temp);
  datastreams[1].setFloat(hum);
  
  Serial.print("Read sensor value temp ");
  Serial.println(datastreams[0].getFloat());
  Serial.print("Read sensor value hum ");
  Serial.println(datastreams[1].getFloat());


  Serial.println("Uploading it to Xively");
  int ret = xivelyclient.put(feed, xivelyKey);
  Serial.print("xivelyclient.put returned ");
  Serial.println(ret);

  Serial.println();
}


void loop() 
{
  handleIncomingSerial();



  if(started && ended)
  {
    printValues();
    
    sendoToXively();

    started = false;
    ended = false;
    index = 0;
    inData[index] = '\0';
  }

  delay(15000);
}