DOMOTICA CONTROLAR RELES MEDIANTE INTERNET

Buenas tardes
ahora viene mi peticion de ayuda sobre un proyecto que estoy realizando sobre un servidor para controlar los pines de salida (reles) mediante internet.

Los componentes que estoy usando son:
-Arduino UNO R3
-Modulo Interfaz red ethernet ENC28j60
-Modulo Rele 4Canales

Y aqui el codigo:

servidor web Controlar pines de salida
*********************************************************/
#include “etherShield.h”
#include “ETHER_28J60.h”

int luz1 = 3;

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network,
// so unless you have more than one of these boards
// connected, you should be fine with this value.

static uint8_t ip[4] = {192,168,100,110}; // the IP address for your board. Check your home hub
// to find an IP address not in use and pick that
// this or 10.0.0.15 are likely formats for an address
// that will work.

static uint16_t port = 80; // Use port 80 - the standard for HTTP

ETHER_28J60 e;

void setup()
{
e.setup(mac, ip, port);

pinMode(luz1, OUTPUT);
digitalWrite(luz1, LOW);

}

void loop()
{

char* params;
if (params = e.serviceRequest())
{

//lee los parametros del url
//LUZ1
if (strcmp(params, “?cmd=luz1on”) == 0)
{
digitalWrite(luz1, HIGH);
}
else if (strcmp(params, “?cmd=luz1off”) == 0)
{
digitalWrite(luz1, LOW);
}

//imprime de acuerdo a los valores

e.print(“

CONTROL DE LUCES

”);
e.print("
");
e.print("

 

");

//luz1///////////////
e.print("CUARTO: “);
if(digitalRead(luz1) == HIGH)
{
e.print(“ENCENDIDO”);
}
else
{
e.print(“APAGADO”);
}
e.print(”

 

");

e.respond();
}
}

Hasta aqui todo muy bien el proyecto funciona perfectamente, el unico inconveniente es que el arduino no guarda el estado de los pines
ej: supongamos que se va la luz y la luz estaba encendida, al momento que regresa la luz la luz se apaga y eso no es lo que estoy buscando ya que estoy usando el circuito en conjunto con un interruptor fisico y cuando el arduino pierde energia o se va la luz al momento que regresa la energia a veces se queda encendida la luz o a veces se apaga segun la posicion del interruptor.
les adjunto un link con el diagrama para poder explicarme mejor

bueno ese es el diagrama y como les decia lo que me interesa es poder guardar el estado del pin 3 sea HIGH o LOW para que al momento de que regrese la energia recuerde en donde se quedo si en estado alto o bajo
les agradezco mucho de antemano y espero me puedan ayudar
un saludo.

En el IDE de Arduino, en EJEMPLOS-EEPROM te dice como guardar y leer datos en esa memoria del chip, que podrás leer al arrancar el SetUp de tu programa.