String kette erzeugen

so hier der eingesbatelte Code mit dem Fehler
invalid conversion from char to char

ich habe die zeile wo das passiert mit ########### gekennzeichnet
das ist der Code von Dir ich habe nur den namen geändert

#include <Ethernet.h>
#include <SPI.h>
// Tiny RTC (DS1307)
#include <Wire.h>    // I2C-Bibliothek einbinden
#include "RTClib.h"  // RTC-Bibliothek einbinden

RTC_DS1307 RTC;      // RTC Modul
//Room_Sesnor DHT22
#include "DHT.h" 
#define DHTPIN 9     
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22

DHT dht(DHTPIN, DHTTYPE);

//Ethernet_Shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 2, 105 };
byte server[] = { 192, 168, 2, 104 }; // Google
//Connect mysql 
char url[]  = "/test_db/db_conect_2.php";
char key[]  = "pass";
char host[] = "192.168.2.104";	// DOMAIN eingeben!

EthernetClient client;

#define echoPin 4 // Echo Pin
#define trigPin 3 // Trigger Pin
#define LEDPin 13 // Onboard LED
      
int maximumRange = 200; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance

void setup()
{
  
  // Initialisiere I2C  
  Wire.begin();
  //Clock
  // Initialisiere RTC
  RTC.begin();
         if (! RTC.isrunning()) {
                // Aktuelles Datum und Zeit setzen, falls die Uhr noch nicht läuft
                RTC.adjust(DateTime(__DATE__, __TIME__));
                Serial.println("Echtzeituhr wurde gestartet und auf Systemzeit gesetzt.");
          }
            else {
              
              Serial.println("Echtzeituhr laeuft bereits.");

          }
  
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  client.connect(server, 80);
  Serial.println("DHT22 - Test!");
  dht.begin();
  delay(1000);
  // Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  // pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
}
boolean requestSent;
void loop()
{
  //clock
  DateTime now=RTC.now(); // aktuelle Zeit abrufen
  show_time_and_date(now);  // Datum und Uhrzeit ausgeben
  delay(10000); // 30 Sekunden warten bis zur nächsten Ausgabe
  
  // Room_temp_and_hum
  float hum = dht.readHumidity();     //Luftfeuchte auslesen
  float temp = dht.readTemperature();  //Temperatur auslesen
  Serial.println("connecting...");
  float Water_1_sum;
  //float Water_1;
   Water_1_sum=Water_1();
  Serial.println("jetzt der wasserstand"); 
  Serial.println(Water_1_sum);
  Serial.println("jetzt die temp ==>:");
  Serial.println(temp);
  Serial.println("jetzt die Luftfeuchte ==>:"); 
  Serial.println(hum);
  daten_senden(temp,hum,Water_1_sum);
 
 
  
  // testen
 
}

void show_time_and_date(DateTime datetime){
  
  // Wochentag, Tag.Monat.Jahr
  //Serial.print(get_day_of_week(datetime.dayOfWeek()));
  //Serial.print(", ");
  if(datetime.day()<10)Serial.print(0);
  Serial.print(datetime.day(),DEC);
  Serial.print(".");
  if(datetime.month()<10)Serial.print(0);
  Serial.print(datetime.month(),DEC);
  Serial.print(".");
  Serial.println(datetime.year(),DEC);
  
  // Stunde:Minute:Sekunde
  if(datetime.hour()<10)Serial.print(0);
  Serial.print(datetime.hour(),DEC);
  Serial.print(":");
  if(datetime.minute()<10)Serial.print(0);
  Serial.print(datetime.minute(),DEC);
  Serial.print(":");
  if(datetime.second()<10)Serial.print(0);
  Serial.println(datetime.second(),DEC);
}

//char url, float temp, float hum, char key, char host
void daten_senden(float temp, float hum, float Water_1_sum){
   if (client.connected()) {
    Serial.println("connected");
   // client.println("GET /test_db/arduino_push_data.php?TEMP=$temp&HUM="hum"&key=21baisao06 HTTP/1.0");
    //client.println();  
    //float W_Dist;
   // float W_1_Dist;
   // int a;
    //Serial.println(W_Dist());
    Serial.print("Verbunden...sende Daten...");
    client.print("GET ");
    client.print(url);
    client.print("?TEMP=");
    client.print(temp);
    client.print("&");
    client.print("&HUM=");
    client.print(hum);
    client.print("&water_1=");
    client.print(Water_1_sum);
    client.print("&func=1");
    client.print("&TEST=1");
    client.print("&key=");
    client.print(key);
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.println(host);
    client.println();
    Serial.println("fertig!");
    
     static boolean read;
     
    byte maxReads = 10; //Seconds
    while ((maxReads-- > 0) && client.connected())              // Antwort des Servers lesen
    {
      delay(1000);
      // response vom Server abfragen um Daten aus der Datenbank zu ermitteln
      while (client.available())
        { 
       
        
          char response = client.read();
        
            static char text[81];
            static byte charcount=0;
            if(response == '@'){
                read = true;
            }
            
            if(read)
            {
              if (response>=32 && charcount<sizeof(text)-1) 
              
                  if (response>=32 )
                  {
                    text[charcount]=response;
                    charcount++;
                  }
                  else if (response==10) 
                  {
                    charcount=0;
                    //read = false;
                    Serial.print(text);
                  }
            }
         
        
         
          Serial.print(response);       
          requestSent = true;
          
          ///ab hier testen
          
          if(requestSent = true)
          {
            char* strPtr = response;        //habe das Serial im Namen mal weggelassen, da es nicht Serial ist
                                                  // hier kommt der Fehler #####################
            if (strPtr!=NULL) 
            {
               parseString(strPtr);
               requestSent = false;
            }
          }  
 
          }
       
        
         
        }
      
    
  } else {
    Serial.println("connection failed");
  }
          if (client.available()) {
            char c = client.read();
            Serial.print(c);
          }

          if (!client.connected()) {
            Serial.println();
            Serial.println("disconnecting.");
            client.stop();
            for(;;)
              ;
            }
}




float Water_1()
{
  int duration;
  float  distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(500);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2.0) / 29.1;
 
    //Serial.print(distance);
    //Serial.println(" cm");
   return distance;
}

Und bitte lass uns nur den String zerlegen
ich will endlich das Ergebnis haben... ich steige sonst nicht durch
wie gesagt die Feinheiten werde ich dann schon noch durch lesen usw. erarbeiten.

Das mit dem array habe ich auch nicht begriffen
ich möchte ja aus der funktion daten_senden alle daten erhalten

ich stelle mir das so vor

ich rufe die funktion auf
in_dem_array_soll_alles_stehen =daten_senden(temp,hum,Water_1_sum);
oder
in_dem_array_soll_noch_noch_mehr_stehen =daten_senden(temp,hum,Water_1_sum, Water_2_sum, Water_3_sum);

das array in_dem_array_soll_alles_stehen
soll dann intern so aussehen
array in_dem_array_soll_alles_stehen[temp]
array in_dem_array_soll_alles_stehen[hum]

array in_dem_array_soll_alles_stehen[Water_1_sum]

usw.
wenn es in der Form
temp = in_dem_array_soll_alles_stehen[0]
hum = in_dem_array_soll_alles_stehen[1]
usw.
geliefert wird wäre das auch ok

das müsste doch gehen oder.

ja ich kenne den unterschied zwischen char, char* usw noch überhaupt nicht.
ich finde dazu in dem gallileo buch auch nichts bzw. keine Beispiel-gegenüberstellung damit es für mich leichetr wird zu begreifen
bei mir ist es so.
ich muss zwei/drei sachen gegenüberstellen und dann verstehe ich auch den Unterschied und begreife eher was das mit den Zeigern etc, zu bedeuten hat.

Der andere dem reicht es wenn er hier was liest und dort was liest. Bei mir ist das leider nicht so.
ich brauche es anhand von Beispielen gegenübergestellt