//parametros configurables************************************************* #define DEBUG_PS 1//Descomentar para debug #define CON_LCD 0 class ActualDomoConfig: public DomoConfig { public: ActualDomoConfig() { velocidadPortSerie=115200; strcpy(ssidWifi,"Idhun");//nombre wifi strcpy(keyWifi,"Ardileorca1234.");//key wifi strcpy(ideEsp,"Esp8266_012");//idenitificador del esp (sera único) strcpy(hostMQTT,"192.168.2.50");//servidor mqttBroker portMQTT=1883;//puerto del servidor mqtt Broker refresTimeVars=30;//tiempo de refresco en segundos de las variables refresTimeSens=15;//tiempo de refresco en segundos de los sensores //config lcd-------------------- lcd.colum=16;//columnas lcd lcd.lines=2;//lineas //pines lcd lcd.rs=D5; lcd.en=D6;//eneable lcd.d0=D3; lcd.d1=D2; lcd.d2=D1; lcd.d3=D0; } //configuracion de sensores, variables, lcd--------------------------------- virtual void ConfigGen(MqttSensManager* sens, MqttVarManager* vars, LcdMQTTViewer *lcd, MqttDesencadenadorManager *des) { //sensores-------------------------------------------------------- /* sens->AddHDT22(int pin, char* topic); //tempe y presion varometrica sens->AddBMP180(int sda,int scl, char* topic); //entradas digitales sens->AddDin(int pin, char* topic);//añade variable digital que se actualiza de manera instantanea (interruptores sensor presencia ..) sens->AddDinAccion(int pin, char* topic);//añade variable que solo publica en el cambio (pulsadores, ...) //salida digital sens->AddDout(int pin, char* topic, bool defautlValor);//variable que solo publica en el cambio (pulsadores, ...) Sensor analogico sens->AddAnalogIn(int pin, char* topic, bool ValNegado);//nivel de luz, nivel de lluvia ... */ //sens->AddHDT22(D4, "casa/desp"); //sens->AddAnalogIn(0, "casa/desp/luz",true); //variables---------------------------------------------------- /* int ivar= vars->AddVar(byte flags, char*topic);//variable con flags a elegir int ivar= vars->AddInternalVarFloat( char*topic);//variable privada int ivar= vars->AddInternalVarInt( char*topic);//variable privada */ int lamb= vars->AddInternalVarInt( "casa/Salon/LAmb"); int lchim= vars->AddInternalVarInt( "casa/Salon/LChime"); int pul1= vars->AddInternalVarInt( "casa/Salon/pul1"); //lcd--------------------------------------------------------- //lcd->add(0,"T des: %s",0,0); //lcd->add(1,"H des: %s",1,0); //lcd->add(temCoci,"T coci: %s",0,1); //lcd->add(temDesp,"H coci: %s",1,1); /* //sin depender de variable lcd->add(-1,"Hola",0,0); lcd->add(-1,"como va",1,0); lcd->add(-1,"Mi ritmo",0,1); lcd->add(-1,"bueno pa goza",1,1);*/ //desencadenadores---------------------------------- int id=des-> addDesencadenador(MqttCausa::AND_CAUSA);//MqttCausa::AND_CAUSA MqttCausa::OR_CAUSA //MqttEfecto::InvierteValVar //MqttEfecto::SetValVar des->addEfecto(id,MqttEfecto::InvierteValVar, "casa/Salon/LAmb");//añade efecto al desencadenador (devuelve id efecto) //MqttOper::Igual_val_oper //MqttOper::Menor_val_oper //MqttOper::Mayor_val_oper des->addOperCausaI(id, "casa/Salon/pul1", MqttOper::Igual_val_oper, (byte)1 ); //des->addOperCausaF(int ides, char *topic, int tipo, float val ); } }; //#define DEBUG_PS 1//Descomentar para debug //#define CON_LCD 1 class DespachoDomoConfig: public DomoConfig { public: DespachoDomoConfig() { velocidadPortSerie=115200; strcpy(ssidWifi,"Idhun");//nombre wifi strcpy(keyWifi,"Ardileorca1234.");//key wifi strcpy(ideEsp,"Esp8266_011");//idenitificador del esp (sera único) strcpy(hostMQTT,"192.168.2.50");//servidor mqttBroker portMQTT=1883;//puerto del servidor mqtt Broker refresTimeVars=30;//tiempo de refresco en segundos de las variables refresTimeSens=15;//tiempo de refresco en segundos de los sensores //config lcd-------------------- lcd.colum=16;//columnas lcd lcd.lines=2;//lineas //pines lcd lcd.rs=D5; lcd.en=D6;//eneable lcd.d0=D3; lcd.d1=D2; lcd.d2=D1; lcd.d3=D0; } //configuracion de sensores, variables, lcd--------------------------------- virtual void ConfigGen(MqttSensManager* sens, MqttVarManager* vars, LcdMQTTViewer *lcd, MqttDesencadenadorManager *des) { //sensores-------------------------------------------------------- sens->AddHDT22(D4, "casa/desp"); sens->AddAnalogIn(0, "casa/desp/luz",true); //variables---------------------------------------------------- int temCoci= vars->AddInternalVarFloat( "casa/cocina/t");//variable privada int temDesp= vars->AddInternalVarFloat( "casa/cocina/h");//variable privada //lcd--------------------------------------------------------- lcd->add(0,"T des: %s",0,0); lcd->add(1,"H des: %s",1,0); lcd->add(temCoci,"T coci: %s",0,1); lcd->add(temDesp,"H coci: %s",1,1); } }; class CocinaDomoConfig: public DomoConfig { public: CocinaDomoConfig() { velocidadPortSerie=115200; strcpy(ssidWifi,"Idhun");//nombre wifi strcpy(keyWifi,"Ardileorca1234.");//key wifi strcpy(ideEsp,"Esp8266_010");//idenitificador del esp (sera único) strcpy(hostMQTT,"192.168.2.50");//servidor mqttBroker portMQTT=1883;//puerto del servidor mqtt Broker refresTimeVars=30;//tiempo de refresco en segundos de las variables refresTimeSens=15;//tiempo de refresco en segundos de los sensores } //configuracion de sensores--------------------------------- virtual void ConfigGen(MqttSensManager* sens, MqttVarManager* vars, LcdMQTTViewer *lcd, MqttDesencadenadorManager *des) { sens->AddHDT22(D4, "casa/cocina"); sens->AddDinAccion(D5, "casa/cocina/mov"); sens->AddAnalogIn(0, "casa/cocina/luz",true); } }; //configuracion que se usara-------------------------- ActualDomoConfig ConfiguracionActual;