¿Esta bien mi programación de if?

Hola amigos quisiera saber si esta parte del código esta bien, lo demás si me sirve, si me muestra la temperatura y todo.

la parte de este código consiste en que tengo una placa calefactora que tiene que prender cuando aya 28 grados, apagarse cuando este a 30 grados, (en 29 debe estar apagada por que es la temperatura ideal), lo controlo por relé, por medio del pin 7

TemEncendidoPlaca: 28°
TemApagadoPlaca : 30°c

temp = sensor de temp

// control de placa

 if (temp < TemEncendidoPlaca){  //Se enciende placa
    digitalWrite(7,HIGH);
    }
    
    if (temp > TemEncendidoPlaca, temp < TemApagadoPlaca){ //placa apagada por temperatura ideal
    digitalWrite(7,LOW);
    }

   if (temp > TemApagadoPlaca){  // Se apaga placa por exceso de temperatura. 
    digitalWrite(7,LOW);
    }
    
  delay(3000);

}

No estoy seguro si esta parte del codigo esta bien escrita

  if (temp > TemEncendidoPlaca, temp < TemApagadoPlaca){ //placa apagada por temperatura ideal
    digitalWrite(7,LOW);
    }

Ahi digo que el pin 7 debe estar apagado si la temperatura es menor que 30 y mayor que 28

esta correcto como lo escribí?

gracias por sus respuestas. saludos.

Hola.
Primero la contestación a la pregunta. Las condiciones se pueden unir mediante or (||) o and (&&). En tu caso lo quieres unir con and:

  if (temp > TemEncendidoPlaca && temp < TemApagadoPlaca){ //placa apagada por temperatura ideal
    digitalWrite(7,LOW);
    }

Ahora, lo que veo ilógico. Haces tres if:

Si temperatura menor que temperatura de encendido, enciende.
Si temperatura mayor que temperatura de encendido y menor que temperatura de apagado, apaga.
Si temperatura mayor que temperatura de apagado, apaga.

Tal como dices, se reduciría fácilmente a dos:
Si temperatura menor que temperatura de encendido, enciende.
Si temperatura mayor que temperatura de encendido, apaga.

O mejor aún, a un if/else:
Si temperatura menor que temperatura de encendido, enciende, y si no, apaga.

if (temp < TemEncendidoPlaca){ //placa apagada por temperatura ideal
    digitalWrite(7, HIGH);
} else {
    digitalWrite(7, LOW);
}

Saludos

Parte del codigo seria

 if (temp >= TempIdeal){ //placa apagada por temperatura ideal
    digitalWrite(7,LOW);   
  }else{
   digitalWrite(7, HIGH);
  }

Pero para un control de temperatura deberías usar un control PID, hay varios post dedicados a esto. Busca en el foro e implementalo.

Ejemplo Control temperatura con pid

No, no está correcto ese if. Cuando quieres utilizar más de una condición, debes hacerlo con and y or.

Pero en este caso, no es necesario ese if, ya que con las dos condiciones que pusiste debería funcionar bien, solo faltaría anidarlas con un else if

if (temp < TemEncendidoPlaca){  //Se enciende placa
    digitalWrite(7,HIGH);
} else if (temp > TemApagadoPlaca){  // Se apaga placa por exceso de temperatura. 
	digitalWrite(7,LOW);
}

También, es recomendable que utilices la función millis en vez de delay.