#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 { SensorBMP180 bmp; 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 ConfCocina: public DomoEspConfig { SensorDHT dht; SensorAin luz; SensorDout lampara; SensorPulsante presencia; SensorTimer tpresencia; SensorDin interruptor; SensorVF enable; AutomatismoPresencia actuador; AutomatismoPulsador actuadorPul; Actuador actp1; public: ConfCocina() { strcpy(ssidWifi,"Idhun");//nombre wifi strcpy(ideEsp,"Esp8266_cocina");//idenitificador del esp (sera único) /* int cociMov= vars->AddInternalVarInt( "casa/cocina/mov"); int cociLuz= vars->AddInternalVarInt( "casa/cocina/luz"); int cociLam= vars->AddInternalVarInt( "casa/cocina/lam"); int cociAuto= vars->AddInternalVarInt("casa/cocina/luzAuto"); */ dht.set(D4,"casa/cocina"); luz.set(0, "casa/cocina/luz",1,0); lampara.set(D2, "casa/cocina/lam",0,0); presencia.set(D5, "casa/cocina/movPul",0); tpresencia.set("casa/cocina/mov",0, 60); enable.set("casa/cocina/luzAuto"); interruptor.set( D1, "casa/cocina/inter", false); actp1.set("casa/cocina/movPul", "casa/cocina/mov","1"); } virtual void inicia(ISensorManager* man) { man->Add(&dht); man->Add(&luz); man->Add(&lampara); man->Add(&presencia); man->Add(&tpresencia); man->Add(&enable); man->Add(&interruptor); man->Add(&actp1); actuadorPul.inicia(man, &interruptor, &lampara); actuador.inicia(man, &tpresencia, &luz, &lampara, &enable); } }; 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/ext/t"); hcocina.set("casa/ext/h"); tsal.set("casa/Salon/t"); hsal.set("casa/Salon/h"); tdesp.set("casa/desp/t"); hdesp.set("casa/desp/h"); senlcd.AddPan("T ext: %s\nH ext: %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",0, 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); } }; Confdespacho ConfiguracionActual; #endif