DomoEsp_v2.0/DomoEspSensor/configuracionActual.h

154 lines
3.3 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 ConfActual: public DomoEspConfig
{
SensorDout luz;
SensorDHT dht;
SensorPulsante pul;
SensorDin interup;
SensorAin analog;
SensorVF sv;
Actuador actTimer;
SensorTimer st;
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);
}
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);
}
};
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",0, 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);
}
};
Confdespacho ConfiguracionActual;
#endif