Temperature sensor and Infra red

Hi there;
This is my first post here!

I am portuguese, so I am sorry for any mistakes!
I am a new user in Arduino, and i am giving first steps in this wonderful world!

Recently I have made a simple program to control 4 relays with an IR remote, and displaying the state of each relay on a I2C LCD display. This program works perfectly.

Now, i want to add a DHT11 sensor, in order to also display the temperature and humidity in the LCD.
I changed the code, in order to read and display temp, however the displayed temp and humidity is always 0 (zero).

The DHT is working, as i tested it with a simple code.

Bellow is the code, that was based on several programs found in the internet.
I suspect that the problem is with the use of the IRremote library. Is it?

#include<dht11.h>
#include <IRremote.h>  
#include <Wire.h>  // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  
 
dht11 DHT11;
#define DHT11PIN 11

int RECV_PIN = 8; //Ligado ao pino do receptor IR (pino S)  
int armazenavalor = 0;  
int pinorele1 = 2; //Pino do Arduino ligado ao IN1 da placa de relés  
int pinorele2 = 3; //Pino do Arduino ligado ao IN2 da placa de relés  
int pinorele3 = 4; //Pino do Arduino ligado ao IN3 da placa de relés  
int pinorele4 = 5; //Pino do Arduino ligado ao IN4 da placa de relés  
int estadorele1 = LOW; //Armazena o estado do relé 1  
int estadorele2 = LOW; //Armazena o estado do relé 2  
int estadorele3 = LOW; //Armazena o estado do relé 3  
int estadorele4 = LOW; //Armazena o estado do relé 4  
  
IRrecv irrecv(RECV_PIN);  
decode_results results;  
  
void setup()  
{  
  pinMode(pinorele1, OUTPUT);  //Define os pino dos reles como saída  
  pinMode(pinorele2, OUTPUT);    
  pinMode(pinorele3, OUTPUT);  
  pinMode(pinorele4, OUTPUT);  
  digitalWrite(pinorele1, estadorele1); 
  digitalWrite(pinorele2, estadorele2);   
  digitalWrite(pinorele3, estadorele3);  
  digitalWrite(pinorele4, estadorele4);  
    
 Serial.begin(9600);   
  irrecv.enableIRIn(); // Inicializa o receptor IR  

 lcd.begin (16,2); // inicia display LCD para 16X2
 lcd.setBacklight(HIGH);
  lcd.setCursor(0,0);
 lcd.print("*Estado actual*");
 lcd.setCursor(0,1);
 lcd.print("Cir. desligados");
 
 delay(2000);
 lcd.clear();
     
     lcd.setCursor(0,1);
      lcd.print("Temp: ");
      lcd.print((float)DHT11.temperature,0);
      lcd.print(" oC");
      lcd.print("Humid: ");
      lcd.print((float)DHT11.humidity,0); 
      Serial.println((float)DHT11.temperature, 2);
      
}  
   
void loop()  
{  
  //Verifica se o sensor IR recebeu algum sinal
  if (irrecv.decode(&results))   
  {  
 
    Serial.println((float)DHT11.temperature, 2);
    Serial.print("Valor lido : "); 
    Serial.println(results.value, HEX);
    //Armazena o sinal recebido pelo sensor IR  
    armazenavalor = (results.value);   
    switch (armazenavalor)  
    
{
 


 

   
     case 0xFF30CF: //Verifica se a tecla 1 foi acionada  
      estadorele1 = !estadorele1;  
      //Aciona rele 1
      lcd.setCursor(0,0);
      lcd.print("Circuito A accn ");
      digitalWrite(pinorele1, estadorele1);
     
      delay(2000);
      lcd.clear();
     
      lcd.setCursor(0,1);
      lcd.print("A=");
      lcd.print(estadorele1);
      lcd.setCursor(5,1);
      lcd.print("B=");
      lcd.print(estadorele2);
      lcd.setCursor(9,1);
      lcd.print("C=");
      lcd.print(estadorele3);
      lcd.setCursor(13,1);
      lcd.print("D=");
      lcd.print(estadorele4);

      
      lcd.setCursor(0,0);
      lcd.print("Temp: ");
      lcd.print((float)DHT11.temperature,0);
      lcd.print(" oC");
      lcd.print("Humid: ");
      lcd.print((float)DHT11.humidity,0); 
    
       
      break;  
      
     case 0xFF18E7: //Verifica se a tecla 2 foi acionada  
      estadorele2 = !estadorele2;  
      lcd.setCursor(0,0);
      lcd.print("Circuito B accn ");
      //Aciona rele 2 e liga led amarelo  
      digitalWrite(pinorele2, estadorele2); 
     
      delay(2000);
      lcd.clear();
     
      lcd.setCursor(0,1);
      lcd.print("A=");
      lcd.print(estadorele1);
      lcd.setCursor(5,1);
      lcd.print("B=");
      lcd.print(estadorele2);
      lcd.setCursor(9,1);
      lcd.print("C=");
      lcd.print(estadorele3);
      lcd.setCursor(13,1);
      lcd.print("D=");
      lcd.print(estadorele4);

      lcd.setCursor(0,0);
      lcd.print("Temp: ");
      lcd.print((float)DHT11.temperature,0);
      lcd.print(" oC");
      lcd.print("Humid: ");
      lcd.print((float)DHT11.humidity,0); 
      break;  
      
     case 0xFF7A85: //Verifica se a tecla 3 foi acionada  
      estadorele3 = !estadorele3;  
      lcd.setCursor(0,0);
      lcd.print("Circuito C accn ");
      //Aciona rele 3 e liga led Verde  
      digitalWrite(pinorele3, estadorele3); 
     
      delay(2000);
      lcd.clear();
      
      lcd.setCursor(0,1);
      lcd.print("A=");
      lcd.print(estadorele1);
      lcd.setCursor(5,1);
      lcd.print("B=");
      lcd.print(estadorele2);
      lcd.setCursor(9,1);
      lcd.print("C=");
      lcd.print(estadorele3);
      lcd.setCursor(13,1);
      lcd.print("D=");
      lcd.print(estadorele4);

      lcd.setCursor(0,0);
      lcd.print("Temp: ");
      lcd.print((float)DHT11.temperature,0);
      lcd.print(" oC");
      lcd.print("Humid: ");
      lcd.print((float)DHT11.humidity,0); 
      break;  
      
     case 0xFF10EF: //Verifica se a 4 foi acionada  
      estadorele4 = !estadorele4;  
     
      lcd.setCursor(0,0);
      lcd.print("Circuito D accn ");
      //Aciona rele 4 e liga circuito 4  
      digitalWrite(pinorele4, estadorele4); 
      
      delay(2000);
      lcd.clear();
     
      lcd.setCursor(0,1);
      lcd.print("A=");
      lcd.print(estadorele1);
      lcd.setCursor(5,1);
      lcd.print("B=");
      lcd.print(estadorele2);
      lcd.setCursor(9,1);
      lcd.print("C=");
      lcd.print(estadorele3);
      lcd.setCursor(13,1);
      lcd.print("D=");
      lcd.print(estadorele4);
      
      lcd.setCursor(0,0);
      lcd.print("Temp: ");
      lcd.print((float)DHT11.temperature,0);
      lcd.print(" oC");
      lcd.print("Humid: ");
      lcd.print((float)DHT11.humidity,0); 
      break;  
      
     
}


    irrecv.resume(); //Le o próximo valor  
}
  }

Can you help me with this?
Thanks a lot!