Relays + Ethernet Shield

Yes, it's Arduino UNO. mmm... I don't understand what you're telling me... Could you post me anymore? I post my code with some changes I've done. I've added sensors..and I want for example that when humidity is lower than x%, led1 turns on and this change can be shown in the wabe page. How it would be?

#include <math.h>
#include <Wire.h>
#include <Servo.h>
#include <SPI.h>
#define DS1307_I2C_ADDRESS 0x68
#include "RTClib.h" // Incluye la librería RTClib
RTC_DS1307 RTC; // Crea el objeto RTC
#include <SPI.h>  //Importamos librería comunicación SPI
#include <Ethernet.h>  //Importamos librería Ethernet
 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//Ponemos la dirección MAC de la Ethernet Shield que está con una etiqueta debajo la placa
IPAddress ip(192,168,1,177); //Asingamos la IP al Arduino
EthernetServer server(80); //Creamos un servidor Web con el puerto 80 que es el puerto HTTP por defecto

//Pin digitales asociados al Relé
int ReleVent = 4; //Pin digital donde conectamos el relé asociado al ventilador
int ReleCal = 5;//Pin digital donde conectamos el relé asociado al calentador
int ReleLuz = 8; //Pin digital donde asociamos el relé asociado a la luz
int ReleAgua = 2; //Pin digital donde conectamos el relé asociado al agua

/Luminosidad
float luminosidad;
int SensorLuminosidad=3;
const int ValorLuminosidad = 50;

//Temperatura
float temperatura;
int a;
int B=3975;                  //B value of the thermistor
float resistencia;
const int ValorCalor = 28; //Valor temperatura superior límite para activar ventiladores
const int ValorFrio = 5; //Valor temperatura inferior límites para activar calefactor

//Humedad
int SensorHumedad=1;
float humedad;
const int ValorHumedad = 40; //Valor temperatura superior límite para activar ventiladores
float luminosidad;
int SensorLuminosidad=3;

String estado="OFF"; //Estado del Led inicialmente "OFF"
String estado2="OFF";
String estado3="OFF";
 
//RELOJ
//Convierte numeros decimales a BCD (binario decimal codificado)
byte decToBcd(byte val)
{
 return ( (val/10*16) + (val%10) ); 
}
byte bcdToDec(byte val)
{
  return ( (val/10*16) + (val%16) );
}

float Time, minTime, maxTime;
const int minHourValue=9;
const int maxHourValue=22;
const int minMinuteValue=30;
const int maxMinuteValue=30;
void setDateDs1307(byte *second,
        byte *minute,
        byte *hour,
        byte *dayOfWeek,
        byte *dayOfMonth,
        byte *month,
        byte *year)
        {
//Resetea el registro puntero
          Wire.beginTransmission(DS1307_I2C_ADDRESS);
          Wire.write((byte)0);
          Wire.endTransmission();
          Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
          //Necesitan enmascarar porque ciertos bits son de control
          *second = bcdToDec(Wire.read() & 0x7f);
          *minute = bcdToDec(Wire.read());
          *hour = bcdToDec(Wire.read() & 0x3f);
          *dayOfWeek = bcdToDec(Wire.read());
          *dayOfMonth = bcdToDec(Wire.read());
          *month = bcdToDec(Wire.read());
          *year = bcdToDec(Wire.read());
        }


void setup()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  Serial.begin(9600);
  Wire.begin();
  RTC.begin(); // Establece la velocidad de datos del RTC
  //byte second, minute, hour, dayOfWeek,dayOfMonth, month, year;
  pinMode(ReleAgua,OUTPUT); //Salida
  pinMode(ReleVent,OUTPUT); //Salida
  pinMode(ReleCal,OUTPUT);  //Salida
  pinMode(ReleLuz,OUTPUT);
 
  // Inicializamos la comunicación Ethernet y el servidor
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
 
 
 
}
 
void loop()
{
  DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(1500); // La información se actualiza cada 1 seg.


  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  

   switch (dayOfWeek)
     {
      case 1:
      Serial.println(" Lunes");     break;
      case 2:
      Serial.println(" Martes");     break;
      case 3:
      Serial.println(" Miercoles");     break;
      case 4:
      Serial.println(" Jueves");     break;
      case 5:
      Serial.println(" Viernes");     break;
      case 6:
      Serial.println(" Sabado");     break;
      case 7:
      Serial.println(" Domingo");     break;
     }
  luminosidad = analogRead(SensorLuminosidad);
  luminosidad= (luminosidad)/10;
  a=analogRead(0);
  humedad=analogRead(SensorHumedad);
  humedad = (humedad)/10;
  resistencia=(float)(1023-a)*10000/a; //get the resistance of the sensor;
  temperatura=1/(log(resistencia/10000)/B+1/298.15)-273.15;//convert to temperature via datasheet ;
  Serial.print("La Luminosidad actual es (0-100%) "); // Nos escribe por el puerto serie la temperatura existente
  Serial.println(luminosidad);
  Serial.print("La Temperatura actual es "); // Nos escribe por el puerto serie la temperatura existente
  Serial.println(temperatura);
  Serial.print("La Humedad actual es (0-100%) "); // Nos escribe por el puerto serie la temperatura existente
  Serial.println(humedad);
  
  EthernetClient client = server.available(); //Creamos un cliente Web
  //Cuando detecte un cliente a través de una petición HTTP
  if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true; //Una petición HTTP acaba con una línea en blanco
    String cadena=""; //Creamos una cadena de caracteres vacía
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();//Leemos la petición HTTP carácter por carácter
        Serial.write(c);//Visualizamos la petición HTTP por el Monitor Serial
        cadena.concat(c);//Unimos el String 'cadena' con la petición HTTP (c). De esta manera convertimos la petición HTTP a un String
       client.print(luminosidad);
         //Ya que hemos convertido la petición HTTP a una cadena de caracteres, ahora podremos buscar partes del texto.
         int posicion=cadena.indexOf("VENTILADOR="); //Guardamos la posición de la instancia "LED=" a la variable 'posicion'
 
          if(cadena.substring(posicion)=="VENTILADOR=ON")//Si a la posición 'posicion' hay "LED=ON"
          {
            digitalWrite(ReleVent,HIGH);
            estado="ON";
          }
          if(cadena.substring(posicion)=="VENTILADOR=OFF")//Si a la posición 'posicion' hay "LED=OFF"
          {
            digitalWrite(ReleVent,LOW);
            estado="OFF";
          }
 int posicion2=cadena.indexOf("LUZ="); //Guardamos la posición de la instancia "LED=" a la variable 'posicion'
 
          if(cadena.substring(posicion2)=="LUZ=ON")//Si a la posición 'posicion' hay "LED=ON"
          {
            digitalWrite(ReleLuz,HIGH);
            estado2="ON";
          }
          if(cadena.substring(posicion2)=="LUZ=OFF")//Si a la posición 'posicion' hay "LED=OFF"
          {
            digitalWrite(ReleLuz,LOW);
            estado2="OFF";
          }
 int posicion3=cadena.indexOf("RIEGO="); //Guardamos la posición de la instancia "LED=" a la variable 'posicion'
 
          if(cadena.substring(posicion3)=="RIEGO=ON")//Si a la posición 'posicion' hay "LED=ON"
          {
            digitalWrite(ReleAgua,HIGH);
            estado3="ON";
          }
          if(cadena.substring(posicion)=="RIEGO=OFF")//Si a la posición 'posicion' hay "LED=OFF"
          {
            digitalWrite(ReleAgua,LOW);
            estado3="OFF";
          }
 
        //Cuando reciba una línea en blanco, quiere decir que la petición HTTP ha acabado y el servidor Web está listo para enviar una respuesta
        if (c == '\n' && currentLineIsBlank) {