Control automático de temperatura con alarma.

Para poder aconsejarte te pido que coloques los enlaces de tus librerías.

Lo mas aconsejable es que lo hagas en el propio código de este modo

#include <boarddefs.h>            // http:www.dondeseaqueeste.com
#include <IRremote.h>
#include <IRremoteInt.h>                  // esta tambien 
#include <ir_Lego_PF_BitStreamEncoder.h>     // esta tambien es importante

Errores que voy encontrando

  1. Cuando presentes un código en un foro por favor usa la identación. Eso de poner todo pegado dificulta el seguir el código y solo nos trae trabajo a quienes queremos ayudarte para poder justamente separar las cosas.

if(Temp>25);   // <=== ERROR
  {

Aca has puesto un ; con lo cual la linea no se ejecuta cuando Temp > 25 quita ese ;

  1. Esta es una versión un poco mas limpia no demasiado de tu código. Podríamos incluso hacer que muestre las temperaturas de manera mas continua pero que siga tomando los controles indicados cada 10 min y promedio de 1 hora. Digo para saber donde estas parada. Porque las cosas pueden cambiar y no presetarás atención a esos cambios.
#include <boarddefs.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
#include <LiquidCrystal.h>

float promedio = 0.0;
int analog = A0;
int analog1 = A1;
LiquidCrystal lcd(12, 11, 5, 4, 6, 2);
int Temp  = 0;
int Temp2 = 0;
#define rele 10
int tiempo = 1000;
IRsend irsend; 

//---------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
Serial.begin(9600);
pinMode(rele, OUTPUT);
digitalWrite(rele,HIGH);
}

//---------------------------------------------------------------------------------------------
void loop() {

  Temp  = analogRead(analog);
  Temp  = (500.0*Temp)/1023.0;
  Temp2 = analogRead(analog1);
  Temp2 = (500.0*Temp2)/1023.0;
  
  Serial.print("Interior: ");
  Serial.print(Temp);
  Serial.print("°C");
  Serial.print("\t");
  Serial.print("Exterior: ");
  Serial.print(Temp2);
  Serial.print("°C");
  Serial.print("\n");

  lcd.setCursor(0,0);
  lcd.print("Interior: ");
  lcd.setCursor(10,0);
  lcd.print(Temp);
  lcd.setCursor(12,0);
  lcd.print(" C");

  lcd.setCursor(0,2);
  lcd.print("Exterior: ");
  lcd.setCursor(10,1);
  lcd.print(Temp2);
  lcd.setCursor(13,1);
  lcd.print("C");

  //--------------------------------------------------------------------------------------------
  
  if (Temp>25) {
      Calculo_promedio();
      if (promedio >21.0) {
          irsend.sendNEC(0x8C60003A, 32); //Codigo de encendido a 23°C
          Serial.println("Enviando código de encendido");
          Serial.print("Promedio: ");
          Serial.print(promedio);
          Serial.print("\n");
      }
      //------------------------------------------------------------------------------------------------
      else 
      if (promedio <16.0) {
          irsend.sendNEC(0x8080003A, 32); //Codigo de apagado a 16°C
          Serial.println("Enviando código de apagado");
          Serial.println("Promedio= ");
          Serial.print(promedio);
      }

  }//Se enciende la alarma
  Calculo_promedio();
  if (promedio > 25.0){
      digitalWrite(rele, LOW);
  }
  else {
      digitalWrite(rele, HIGH);
  }

}


void Calculo_promedio() {
    unsigned long lectura = 0;

    for (int i=0; i<6; i++) {
        delay(tiempo);
        Temp = analogRead(analog);
        Temp = (500.0*Temp)/1023.0;
        lectura++ = Temp;  
    }
    
    promedio = lectura/6;
}