326 lines
6.8 KiB
C++
326 lines
6.8 KiB
C++
|
|
#ifndef DomoConfActualDef
|
|
#define DomoConfActualDef 1
|
|
|
|
#include "automatismos.h"
|
|
|
|
|
|
|
|
//configuraciones-----------------------------------------------------
|
|
class ConfAutomatismos: public DomoEspConfig
|
|
{
|
|
SensorRF presencia;
|
|
SensorRF nivelLuz;
|
|
SensorRF out;
|
|
SensorVF bloqueo;
|
|
|
|
AutomatismoPulsador pulsador;
|
|
AutomatismoPresencia Apresen;
|
|
public:
|
|
ConfAutomatismos()
|
|
{
|
|
strcpy(ssidWifi,"IdhunAux");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_auto");//idenitificador del esp (sera único)
|
|
//pulsador sin activadores
|
|
presencia.set("casa/pruebas/inter",0);
|
|
nivelLuz.set("casa/pruebas/ana",0);
|
|
out.set("casa/pruebas/luz",0);
|
|
bloqueo.set("casa/pruebas/auto", true);
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&presencia);
|
|
man->Add(&nivelLuz);
|
|
man->Add(&out);
|
|
man->Add(&bloqueo);
|
|
Apresen.inicia(man, &presencia, &nivelLuz,&out, &bloqueo);
|
|
pulsador.inicia(man,"casa/pruebas/pul", "casa/pruebas/luz");
|
|
//pulsadorSalon.inicia(man,"casa/pruebas/pul", "casa/pruebas/luz");
|
|
}
|
|
|
|
};
|
|
class ConfSpliter: public DomoEspConfig
|
|
{
|
|
|
|
SensorDout luz;
|
|
SensorDout luz2;
|
|
|
|
SensorSplitter sp;
|
|
public:
|
|
ConfSpliter()
|
|
{
|
|
strcpy(ssidWifi,"IdhunAux");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_pruebas");//idenitificador del esp (sera único)
|
|
|
|
luz.set(D1, "casa/pruebas/luz",0);
|
|
luz2.set(D5, "casa/pruebas/luz2",0);
|
|
|
|
sp.set("casa/pruebas/sp");
|
|
sp.AddSens(&luz2);
|
|
sp.AddSens(&luz);
|
|
|
|
}
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&luz);
|
|
man->Add(&luz2);
|
|
man->Add(&sp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
class ConfActual: public DomoEspConfig
|
|
{
|
|
|
|
SensorDout luz;
|
|
SensorDHT dht;
|
|
SensorPulsante pul;
|
|
SensorDin interup;
|
|
SensorAin analog;
|
|
SensorVF sv;
|
|
Actuador actTimer;
|
|
SensorTimer st;
|
|
SensorBuzzer buz;
|
|
public:
|
|
ConfActual()
|
|
{
|
|
strcpy(ssidWifi,"IdhunAux");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_pruebas");//idenitificador del esp (sera único)
|
|
|
|
luz.set(D1, "casa/pruebas/luz",0);
|
|
dht.set(D0, "casa/pruebas/dht");
|
|
pul.set(D2,"casa/pruebas/pul",1);
|
|
interup.set(D3,"casa/pruebas/inter");
|
|
analog.set(0,"casa/pruebas/ana",0, 1);
|
|
//analog.set(0,"casa/pruebas/ana",0, 0);*/
|
|
|
|
sv.set("casa/pruebas/vir",0);
|
|
|
|
st.set("casa/pruebas/timer", 0, 5);
|
|
actTimer.set("casa/pruebas/inter", "casa/pruebas/timer", "1");
|
|
actTimer.setId("aTimer");
|
|
actTimer.AddActivador(&interup, '<', 1);
|
|
buz.set("casa/pruebas/buz", D4);
|
|
buz.setMelodia(0, "m200#100d200#0");//titu
|
|
buz.setMelodia(1, "d200#100d200#100d200#100f200#100l300#0");//titu
|
|
|
|
}
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&luz);
|
|
man->Add(&dht);
|
|
man->Add(&pul);
|
|
man->Add(&interup);
|
|
man->Add(&analog);
|
|
man->Add(&sv);
|
|
man->Add(&st);
|
|
man->Add(&actTimer);
|
|
man->Add(&buz);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
class Confdespacho: public DomoEspConfig
|
|
{
|
|
SensorDHT dht;
|
|
SensorAin nivelLuz;
|
|
SensorLcd senlcd;
|
|
|
|
SensorRF tcocina;
|
|
SensorRF hcocina;
|
|
SensorRF tdesp;
|
|
SensorRF hdesp;
|
|
SensorRF tsal;
|
|
SensorRF hsal;
|
|
LiquidCrystal lcd{D5,D6,D3,D2,D1,D0};
|
|
|
|
public:
|
|
Confdespacho()
|
|
{
|
|
|
|
strcpy(ssidWifi,"IdhunAux");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_Despacho");//idenitificador del esp (sera único)
|
|
|
|
dht.set(D4, "casa/desp");
|
|
nivelLuz.set(0,"casa/desp/luz",1, 0);
|
|
|
|
senlcd.set("casa/desp/lcd", &lcd, 16,2, 7);
|
|
tcocina.set("casa/cocina/t");
|
|
hcocina.set("casa/cocina/h");
|
|
tsal.set("casa/Salon/t");
|
|
hsal.set("casa/Salon/h");
|
|
tdesp.set("casa/desp/t");
|
|
hdesp.set("casa/desp/h");
|
|
senlcd.AddPan("T cocina: %s\nH cocina: %s",&tcocina, &hcocina);
|
|
senlcd.AddPan("T desp: %s\nH desp: %s",&tdesp, &hdesp);
|
|
senlcd.AddPan("T salon: %s\nH salon: %s",&tsal, &hsal);
|
|
|
|
}
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&dht);
|
|
man->Add(&nivelLuz);
|
|
man->Add(&senlcd);
|
|
|
|
man->Add(&tcocina);
|
|
man->Add(&hcocina);
|
|
|
|
man->Add(&tdesp);
|
|
man->Add(&hdesp);
|
|
|
|
man->Add(&tsal);
|
|
man->Add(&hsal);
|
|
|
|
|
|
|
|
}
|
|
};
|
|
class ConfigSalon: public DomoEspConfig
|
|
{
|
|
SensorDHT dht;
|
|
SensorAin nivelLuz;
|
|
SensorDin presencia;
|
|
SensorTimer presenciaTimer;
|
|
Actuador actTimer;
|
|
public:
|
|
ConfigSalon()
|
|
{
|
|
|
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_Salon");//idenitificador del esp (sera único)
|
|
|
|
dht.set(D4, "casa/Salon");
|
|
nivelLuz.set(0,"casa/Salon/luz",1, 0);
|
|
presencia.set(D5, "casa/Salon/movEven");
|
|
presenciaTimer.set("casa/Salon/mov",0,60);
|
|
actTimer.set("casa/Salon/movEven", "casa/Salon/mov","1");
|
|
actTimer.AddActivador(&presencia, '>', 0);
|
|
}
|
|
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&dht);
|
|
man->Add(&nivelLuz);
|
|
man->Add(&presencia);
|
|
man->Add(&presenciaTimer);
|
|
man->Add(&actTimer);
|
|
|
|
}
|
|
};
|
|
|
|
class ConfPulSalon: public DomoEspConfig
|
|
{
|
|
SensorPulsante pul1;
|
|
SensorPulsante pul2;
|
|
SensorPulsante pul3;
|
|
SensorPulsante pul4;
|
|
|
|
SensorRF lchimenea;
|
|
SensorDout lentrada;
|
|
SensorRF lambiente;
|
|
|
|
Actuador actp1;
|
|
Actuador actp2on;
|
|
Actuador actp2off;
|
|
|
|
Actuador actp3on;
|
|
Actuador actp3off;
|
|
|
|
|
|
Actuador actAllOn;
|
|
Actuador actAllOff;
|
|
|
|
SensorSplitter sp;
|
|
|
|
|
|
public:
|
|
ConfPulSalon()
|
|
{
|
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
|
strcpy(ideEsp,"Esp8266_PulSalon");//idenitificador del esp (sera único)
|
|
|
|
lchimenea.set("casa/Salon/LChime");
|
|
lambiente.set("casa/Salon/LAmb");
|
|
lentrada.set(D7,"casa/Salon/LEnt",1, 1);
|
|
|
|
pul1.set(D1,"casa/Salon/pul1",0);
|
|
pul2.set(D2,"casa/Salon/pul2",0);
|
|
|
|
pul3.set(D5,"casa/Salon/pul3",0);
|
|
pul4.set(D6,"casa/Salon/pulAll",0);
|
|
|
|
actp1.set("casa/Salon/pul1","casa/Salon/LEnt","X");
|
|
actp2on.set("casa/Salon/pul2","casa/Salon/LAmb","0");
|
|
actp2off.set("casa/Salon/pul2","casa/Salon/LAmb","1");
|
|
|
|
actp3on.set("casa/Salon/pul3","casa/Salon/LChime","0");
|
|
actp3off.set("casa/Salon/pul3","casa/Salon/LChime","1");
|
|
|
|
actp2on.AddActivador(&lambiente, '>', 0);
|
|
actp2off.AddActivador(&lambiente, '<', 1);
|
|
|
|
actp3on.AddActivador(&lchimenea, '>', 0);
|
|
actp3off.AddActivador(&lchimenea, '<', 1);
|
|
|
|
sp.set("casa/Salon/pulAllSP");
|
|
sp.AddSens(&lchimenea);
|
|
sp.AddSens(&lambiente);
|
|
sp.AddSens(&lentrada);
|
|
actAllOn.set("casa/Salon/pulAll", "casa/Salon/pulAllSP","0");
|
|
actAllOff.set("casa/Salon/pulAll", "casa/Salon/pulAllSP","1");
|
|
actAllOn.AddActivador(&lentrada, '>', 0);
|
|
actAllOff.AddActivador(&lentrada, '<', 1);
|
|
|
|
|
|
|
|
|
|
}
|
|
virtual void inicia(ISensorManager* man)
|
|
{
|
|
man->Add(&lambiente);
|
|
man->Add(&lentrada);
|
|
man->Add(&lchimenea);
|
|
|
|
man->Add(&pul1);
|
|
man->Add(&pul2);
|
|
man->Add(&pul3);
|
|
man->Add(&pul4);
|
|
|
|
man->Add(&actp1);
|
|
|
|
man->Add(&actp2on);
|
|
man->Add(&actp2off);
|
|
|
|
man->Add(&actp3on);
|
|
man->Add(&actp3off);
|
|
|
|
|
|
man->Add(&sp);
|
|
man->Add(&actAllOn);
|
|
man->Add(&actAllOff);
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ConfPulSalon ConfiguracionActual;
|
|
|
|
#endif |