Problems with code. DS18B20, ESP8266 and Thinkspeak

Hello. I am new to arduino, just trying to graps the programming language.
I try to connect a DS18B20 via ESP8266 to Thinkspeak.

I found some code on the net and try to modify it to my needs, but I only get the value "0" at my thinkspeak account.

Can anyone help me what is wrong with my code?

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 8
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

/-----------------ESP8266 Serial WiFi Module---------------/
#define SSID "XXXXXXX" // "SSID-WiFiname"
#define PASS "XXXXXXX" // "password"
#define IP "184.106.153.149"// thingspeak.com ip
String msg = "GET /update?key=XXXXXXX"; //change it with your key...
/-----------------------------------------------------------/

//Variables
float tempF;
String tempC;
int error;

void setup()
{
Serial.begin(115200); //or use default 115200.

Serial.println("AT");
delay(5000);
if(Serial.find("OK")){
connectWiFi();
}
}

void loop(){
//Read temperature and humidity values from DHT sensor:
start: //label
error=0;
sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0);

char buffer[10];
String tempF = dtostrf(tempC, 4, 1, buffer);

delay(10000);

updateTemp();
//Resend if transmission is not completed
if (error==1){
goto start; //go to label "start"
}

delay(30000); //Update every 15 min 900000 30000
}

void updateTemp(){
String cmd = "AT+CIPSTART="TCP","";
cmd += IP;
cmd += "",80";
Serial.println(cmd);
delay(2000);
if(Serial.find("Error")){
return;
}
cmd = msg ;
cmd += "&field1="; //field 1 for temperature
cmd += tempF;
cmd += "\r\n";
Serial.print("AT+CIPSEND=");
Serial.println(cmd.length());
if(Serial.find(">")){
Serial.print(cmd);
}
else{
Serial.println("AT+CIPCLOSE");
//Resend...
error=1;
}
}

boolean connectWiFi(){
Serial.println("AT+CWMODE=1");
delay(2000);
String cmd="AT+CWJAP="";
cmd+=SSID;
cmd+="","";
cmd+=PASS;
cmd+=""";
Serial.println(cmd);
delay(5000);
if(Serial.find("OK")){
return true;
}else{
return false;
}
}