parent
8fe41ffcac
commit
e1dde4e137
|
|
@ -3,17 +3,20 @@
|
||||||
#define MqttDefinesDef 1
|
#define MqttDefinesDef 1
|
||||||
//generales
|
//generales
|
||||||
#define DEBUG_PS 1
|
#define DEBUG_PS 1
|
||||||
#define CON_LCD 0
|
#define CON_LCD 1
|
||||||
|
|
||||||
#define MAXTOPICVAR 32//maximo de caracteres de los topic de las variables
|
#define MAXTOPICVAR 32//maximo de caracteres de los topic de las variables
|
||||||
|
|
||||||
//vars--------------------
|
//vars--------------------
|
||||||
#define MAXVAR 12//maximo de variables totales
|
#define MAXVAR 24//maximo de variables totales
|
||||||
#define MAXSTR 1024//maximo de caracteres para str
|
#define MAXSTR 1024//maximo de caracteres para str
|
||||||
|
|
||||||
//sens--------------------
|
//sens--------------------
|
||||||
#define MAXSENS 8
|
#define MAXSENS 8
|
||||||
#define MAXINTERRUP 8
|
#define MAXINTERRUP 8
|
||||||
|
//desencadenadores--------
|
||||||
|
#define MAXSTRDESEN 64
|
||||||
|
#define MAXDESEN 24
|
||||||
//class-------------------
|
//class-------------------
|
||||||
class MqttOnVarChangeListenner
|
class MqttOnVarChangeListenner
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ float MqttDesencadenador::GetValue(char*ivar, MqttVarManager *vars)
|
||||||
MqttVar *v=GetVar(ivar, vars);
|
MqttVar *v=GetVar(ivar, vars);
|
||||||
if(v->flags & MqttVar::FLOAT_VAR)
|
if(v->flags & MqttVar::FLOAT_VAR)
|
||||||
return v->val.f;
|
return v->val.f;
|
||||||
return 1.*v->val.i;
|
return (float)v->val.i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MqttDesencadenador::GetIvar(char*ivar)
|
int MqttDesencadenador::GetIvar(char*ivar)
|
||||||
|
|
@ -314,7 +314,6 @@ void MqttDesencadenador::Exe(MqttVarManager *vars)
|
||||||
//distincion de variables
|
//distincion de variables
|
||||||
if(expresion[p.i]=='{')
|
if(expresion[p.i]=='{')
|
||||||
{
|
{
|
||||||
|
|
||||||
p.estado=1;
|
p.estado=1;
|
||||||
p.i++;
|
p.i++;
|
||||||
}
|
}
|
||||||
|
|
@ -323,7 +322,6 @@ void MqttDesencadenador::Exe(MqttVarManager *vars)
|
||||||
p.estado=2;
|
p.estado=2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case(1)://pillando var o escalar
|
case(1)://pillando var o escalar
|
||||||
|
|
@ -376,7 +374,6 @@ void MqttDesencadenadorManager::inicia( MqttVarManager *v)
|
||||||
if(des.n>0)
|
if(des.n>0)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_PS
|
#ifdef DEBUG_PS
|
||||||
|
|
||||||
Serial.println("MqttDesencadenador::inicia como listenner");
|
Serial.println("MqttDesencadenador::inicia como listenner");
|
||||||
#endif
|
#endif
|
||||||
vars->AddListenner(this);
|
vars->AddListenner(this);
|
||||||
|
|
@ -404,7 +401,6 @@ void MqttDesencadenadorManager::loop()
|
||||||
void MqttDesencadenadorManager::RevisaDesencadenadores()
|
void MqttDesencadenadorManager::RevisaDesencadenadores()
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_PS
|
#ifdef DEBUG_PS
|
||||||
|
|
||||||
Serial.println("MqttDesencadenadorManager::RevisaDesencadenadores");
|
Serial.println("MqttDesencadenadorManager::RevisaDesencadenadores");
|
||||||
#endif
|
#endif
|
||||||
for(int i=0; i<des.n; i++)
|
for(int i=0; i<des.n; i++)
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ struct MqttExeParam
|
||||||
class MqttDesencadenador
|
class MqttDesencadenador
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
char expresion[64];//{1}=1->!{2}
|
char expresion[MAXSTRDESEN];//{1}=1->!{2}
|
||||||
bool activo;//se desactivan automaticamente cuando se cumple la condicion y se vuelve activar cuando deja de cumplirse
|
bool activo;//se desactivan automaticamente cuando se cumple la condicion y se vuelve activar cuando deja de cumplirse
|
||||||
|
|
||||||
MqttDesencadenador();
|
MqttDesencadenador();
|
||||||
|
|
@ -68,7 +68,7 @@ class MqttDesencadenador
|
||||||
class MqttDesencadenadorArray
|
class MqttDesencadenadorArray
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MqttDesencadenador data[16];
|
MqttDesencadenador data[MAXDESEN];
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -335,7 +335,7 @@ void MqttSensManager::procesaInterrupciones()
|
||||||
if(val!=v->val.i)
|
if(val!=v->val.i)
|
||||||
{
|
{
|
||||||
v->val.i=val;
|
v->val.i=val;
|
||||||
vars->OnChange(s->ivar);
|
vars->OnChange(s->ivar, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -345,7 +345,7 @@ void MqttSensManager::procesaInterrupciones()
|
||||||
if(val!=v->val.i)
|
if(val!=v->val.i)
|
||||||
{
|
{
|
||||||
v->val.i=val;
|
v->val.i=val;
|
||||||
vars->OnChange(s->ivar);
|
vars->OnChange(s->ivar, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//v->val.i=val;
|
//v->val.i=val;
|
||||||
|
|
|
||||||
|
|
@ -47,19 +47,13 @@ void WifiManager::inicia( WiFiClient *espclient,char *ssid, char* key)
|
||||||
espClient= espclient;
|
espClient= espclient;
|
||||||
strcpy(nred, ssid);
|
strcpy(nred, ssid);
|
||||||
strcpy(pass, key);
|
strcpy(pass, key);
|
||||||
}
|
|
||||||
|
|
||||||
bool WifiManager::loop()
|
|
||||||
{
|
|
||||||
if((WiFi.status() == WL_CONNECTED))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#ifdef DEBUG_PS
|
#ifdef DEBUG_PS
|
||||||
Serial.println("Conectando wifi");
|
Serial.println("Conectando wifi");
|
||||||
Serial.println(nred);
|
Serial.println(nred);
|
||||||
Serial.println(pass);
|
Serial.println(pass);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WiFi.mode(WIFI_STA);
|
WiFi.mode(WIFI_STA);
|
||||||
WiFi.begin(nred, pass);
|
WiFi.begin(nred, pass);
|
||||||
|
|
||||||
|
|
@ -77,7 +71,23 @@ bool WifiManager::loop()
|
||||||
else
|
else
|
||||||
Serial.println("No se pudo conectar");
|
Serial.println("No se pudo conectar");
|
||||||
#endif
|
#endif
|
||||||
return WiFi.status() == WL_CONNECTED;
|
//return WiFi.status() == WL_CONNECTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool WifiManager::loop()
|
||||||
|
{
|
||||||
|
if((WiFi.status() == WL_CONNECTED))
|
||||||
|
{
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#ifdef DEBUG_PS
|
||||||
|
Serial.println("Reset esp");
|
||||||
|
#endif
|
||||||
|
ESP.reset();
|
||||||
|
return false;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//**************************************************************************************************************************************************
|
//**************************************************************************************************************************************************
|
||||||
MqttManager::MqttManager()
|
MqttManager::MqttManager()
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ void MqttVarManager::OnMqtt(char* topic, char* payload)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(res>=0)
|
if(res>=0)
|
||||||
OnChange(res);
|
OnChange(res, isSet);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -207,9 +207,23 @@ void MqttVarManager::PublicaVar(int ivar)
|
||||||
char buffer_p[24];
|
char buffer_p[24];
|
||||||
MqttVar* v=vars->Get(ivar);
|
MqttVar* v=vars->Get(ivar);
|
||||||
if(v->flags & MqttVar::CHANGE_VAR)
|
if(v->flags & MqttVar::CHANGE_VAR)
|
||||||
|
{
|
||||||
|
|
||||||
sprintf(buffer_t, "%s/set",topics->Get(v->topic));
|
sprintf(buffer_t, "%s/set",topics->Get(v->topic));
|
||||||
|
#ifdef DEBUG_PS
|
||||||
|
Serial.print("Publica /set var: ");
|
||||||
|
Serial.println(buffer_t);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
|
||||||
sprintf(buffer_t, "%s/get",topics->Get(v->topic));
|
sprintf(buffer_t, "%s/get",topics->Get(v->topic));
|
||||||
|
#ifdef DEBUG_PS
|
||||||
|
Serial.print("Publica get var: ");
|
||||||
|
Serial.println(buffer_t);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
//Publica valor
|
//Publica valor
|
||||||
if(v->flags & MqttVar::FLOAT_VAR)
|
if(v->flags & MqttVar::FLOAT_VAR)
|
||||||
dtostrf(v->val.f,3, 2, buffer_p);
|
dtostrf(v->val.f,3, 2, buffer_p);
|
||||||
|
|
@ -301,18 +315,22 @@ int MqttVarManager::GetId(char* topic)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MqttVarManager::OnChange(int ivar)
|
void MqttVarManager::OnChange(int ivar, bool publica)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_PS
|
#ifdef DEBUG_PS
|
||||||
|
|
||||||
Serial.println("MqttVarManager::OnChange");
|
Serial.println("MqttVarManager::OnChange");
|
||||||
#endif
|
#endif
|
||||||
|
if(publica)
|
||||||
|
{
|
||||||
MqttVar* v=vars->Get(ivar);
|
MqttVar* v=vars->Get(ivar);
|
||||||
byte f= MqttVar::ACCION_VAR;
|
byte f= MqttVar::ACCION_VAR;
|
||||||
if(v->flags & f)
|
if(v->flags & f)
|
||||||
{
|
{
|
||||||
PublicaVar(ivar);
|
PublicaVar(ivar);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
for (int i=0; i<nListenner; i++)
|
for (int i=0; i<nListenner; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -350,7 +368,7 @@ void MqttVarManager::InvierteVar(int ivar)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
v->val.i=1-v->val.i;
|
v->val.i=1-v->val.i;
|
||||||
OnChange(ivar);
|
OnChange(ivar, true);
|
||||||
}
|
}
|
||||||
void MqttVarManager::SetVal(int ivar,MQTTvalor val)
|
void MqttVarManager::SetVal(int ivar,MQTTvalor val)
|
||||||
{
|
{
|
||||||
|
|
@ -370,5 +388,5 @@ void MqttVarManager::SetVal(int ivar,MQTTvalor val)
|
||||||
Serial.print(" f: ");
|
Serial.print(" f: ");
|
||||||
Serial.println( v->val.f);
|
Serial.println( v->val.f);
|
||||||
#endif
|
#endif
|
||||||
OnChange(ivar);
|
OnChange(ivar, true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ class MqttVarManager
|
||||||
int AddInternalVarInt( char*topic);
|
int AddInternalVarInt( char*topic);
|
||||||
void PublicaVars();
|
void PublicaVars();
|
||||||
void PublicaVar(int ivar);
|
void PublicaVar(int ivar);
|
||||||
void OnChange(int ivar);
|
void OnChange(int ivar, bool publica);
|
||||||
|
|
||||||
void ResetVolatileVar();
|
void ResetVolatileVar();
|
||||||
void InvierteVar(int ivar);
|
void InvierteVar(int ivar);
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
//parametros configurables*************************************************
|
//parametros configurables*************************************************
|
||||||
#define DEBUG_PS 1//Descomentar para debug
|
#define DEBUG_PS 1//Descomentar para debug
|
||||||
#define CON_LCD 0
|
#define CON_LCD 1
|
||||||
|
//va por 16
|
||||||
class ActualDomoConfig: public DomoConfig
|
class AutomatismosDomoConfig: public DomoConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ActualDomoConfig()
|
AutomatismosDomoConfig()
|
||||||
{
|
{
|
||||||
velocidadPortSerie=115200;
|
velocidadPortSerie=115200;
|
||||||
strcpy(ssidWifi,"Idhun");//nombre wifi
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
||||||
|
|
@ -57,10 +57,12 @@ class ActualDomoConfig: public DomoConfig
|
||||||
int lamb= vars->AddInternalVarInt( "casa/Salon/LAmb");
|
int lamb= vars->AddInternalVarInt( "casa/Salon/LAmb");
|
||||||
int lchim= vars->AddInternalVarInt( "casa/Salon/LChime");
|
int lchim= vars->AddInternalVarInt( "casa/Salon/LChime");
|
||||||
int lent= vars->AddInternalVarInt( "casa/Salon/LEnt");
|
int lent= vars->AddInternalVarInt( "casa/Salon/LEnt");
|
||||||
|
|
||||||
int pul1= vars->AddInternalVarInt( "casa/Salon/pul1");
|
int pul1= vars->AddInternalVarInt( "casa/Salon/pul1");
|
||||||
int pul2= vars->AddInternalVarInt( "casa/Salon/pul2");
|
int pul2= vars->AddInternalVarInt( "casa/Salon/pul2");
|
||||||
int pul3= vars->AddInternalVarInt( "casa/Salon/pul3");
|
int pul3= vars->AddInternalVarInt( "casa/Salon/pul3");
|
||||||
int pul4= vars->AddInternalVarInt( "casa/Salon/pul4");
|
int pulIall= vars->AddInternalVarInt( "casa/Salon/intAll");
|
||||||
|
int pulAll= vars->AddInternalVarInt( "casa/Salon/pulAll");
|
||||||
//lcd---------------------------------------------------------
|
//lcd---------------------------------------------------------
|
||||||
|
|
||||||
//lcd->add(0,"T des: %s",0,0);
|
//lcd->add(0,"T des: %s",0,0);
|
||||||
|
|
@ -77,19 +79,83 @@ class ActualDomoConfig: public DomoConfig
|
||||||
lcd->add(-1,"bueno pa goza",1,1);*/
|
lcd->add(-1,"bueno pa goza",1,1);*/
|
||||||
//desencadenaores----------
|
//desencadenaores----------
|
||||||
char st[64];
|
char st[64];
|
||||||
sprintf(st,"{%d}>0 -> {%d}=1 & {%d}=1 & {%d}=1 ",pul1,lamb,lchim, lent);//terminar en espacios
|
//Efecto Interruptor-----
|
||||||
|
sprintf(st,"{%d}>0 -> {%d}=1 & {%d}=1 & {%d}=1 ",pulIall,lamb,lchim, lent);//terminar en espacios
|
||||||
des->AddDes(st);
|
des->AddDes(st);
|
||||||
sprintf(st,"{%d}<1 -> {%d}=0 & {%d}=0 & {%d}=0 ",pul1,lamb,lchim, lent);//terminar en espacios
|
sprintf(st,"{%d}<1 -> {%d}=0 & {%d}=0 & {%d}=0 ",pulIall,lamb,lchim, lent);//terminar en espacios
|
||||||
des->AddDes(st);
|
des->AddDes(st);
|
||||||
sprintf(st,"{%d}>0 -> !{%d} ",pul2,lamb);//terminar en espacios
|
//Efecto Pulsadores
|
||||||
|
sprintf(st,"{%d}>0 -> !{%d} ",pulAll,pulIall);//terminar en espacios
|
||||||
des->AddDes(st);
|
des->AddDes(st);
|
||||||
sprintf(st,"{%d}>0 -> !{%d} ",pul3,lchim);//terminar en espacios
|
sprintf(st,"{%d}>0 -> !{%d} ",pul1,lamb);//terminar en espacios
|
||||||
des->AddDes(st);
|
des->AddDes(st);
|
||||||
sprintf(st,"{%d}>0 -> !{%d} ",pul4,lent);//terminar en espacios
|
sprintf(st,"{%d}>0 -> !{%d} ",pul2,lchim);//terminar en espacios
|
||||||
|
des->AddDes(st);
|
||||||
|
sprintf(st,"{%d}>0 -> !{%d} ",pul3,lent);//terminar en espacios
|
||||||
des->AddDes(st);
|
des->AddDes(st);
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
class PulCocinaConfig: public DomoConfig
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PulCocinaConfig()
|
||||||
|
{
|
||||||
|
velocidadPortSerie=115200;
|
||||||
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
||||||
|
strcpy(keyWifi,"Ardileorca1234.");//key wifi
|
||||||
|
|
||||||
|
strcpy(ideEsp,"Esp8266_014");//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=0;
|
||||||
|
lcd.en=0;//eneable
|
||||||
|
lcd.d0=0;
|
||||||
|
lcd.d1=0;
|
||||||
|
lcd.d2=0;
|
||||||
|
lcd.d3=0;
|
||||||
|
|
||||||
|
}
|
||||||
|
//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->AddDout(D5, "casa/coci/lam", false);
|
||||||
|
sens->AddDinAccion( D1, "casa/coci/inter");
|
||||||
|
//sens->AddDinAccion( D2, "casa/Salon/pul2");
|
||||||
|
//sens->AddDinAccion( D5, "casa/Salon/pul3");
|
||||||
|
//sens->AddDinAccion( D6, "casa/Salon/pulAll");
|
||||||
|
|
||||||
|
|
||||||
|
char st[64];
|
||||||
|
|
||||||
|
//Efecto Pulsadores
|
||||||
|
sprintf(st,"{%d}>0 -> !{%d} ",1,0);//terminar en espacios
|
||||||
|
des->AddDes(st);
|
||||||
|
sprintf(st,"{%d}<1 -> !{%d} ",1,0);//terminar en espacios
|
||||||
|
des->AddDes(st);
|
||||||
|
}
|
||||||
|
};
|
||||||
class PulSalonConfig: public DomoConfig
|
class PulSalonConfig: public DomoConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -135,12 +201,12 @@ class PulSalonConfig: public DomoConfig
|
||||||
sens->AddAnalogIn(int pin, char* topic, bool ValNegado);//nivel de luz, nivel de lluvia ...
|
sens->AddAnalogIn(int pin, char* topic, bool ValNegado);//nivel de luz, nivel de lluvia ...
|
||||||
*/
|
*/
|
||||||
//sens->AddHDT22(D4, "casa/desp");
|
//sens->AddHDT22(D4, "casa/desp");
|
||||||
sens->AddDout(D1, "casa/Salon/LEnt", true);
|
// sens->AddDout(D1, "casa/Salon/LEnt", true);
|
||||||
/*sens->AddDout(D7, "casa/Salon/LEnt", true);
|
sens->AddDout(D7, "casa/Salon/LEnt", false);
|
||||||
sens->AddDinAccion( D1, "casa/Salon/pul1");
|
sens->AddDinAccion( D1, "casa/Salon/pul1");
|
||||||
sens->AddDinAccion( D2, "casa/Salon/pul2");
|
sens->AddDinAccion( D2, "casa/Salon/pul2");
|
||||||
sens->AddDinAccion( D5, "casa/Salon/pul3");
|
sens->AddDinAccion( D5, "casa/Salon/pul3");
|
||||||
sens->AddDinAccion( D6, "casa/Salon/pul4");*/
|
sens->AddDinAccion( D6, "casa/Salon/pulAll");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class DespachoDomoConfig: public DomoConfig
|
class DespachoDomoConfig: public DomoConfig
|
||||||
|
|
@ -179,13 +245,16 @@ class DespachoDomoConfig: public DomoConfig
|
||||||
sens->AddAnalogIn(0, "casa/desp/luz",true);
|
sens->AddAnalogIn(0, "casa/desp/luz",true);
|
||||||
//variables----------------------------------------------------
|
//variables----------------------------------------------------
|
||||||
int temCoci= vars->AddInternalVarFloat( "casa/cocina/t");//variable privada
|
int temCoci= vars->AddInternalVarFloat( "casa/cocina/t");//variable privada
|
||||||
int temDesp= vars->AddInternalVarFloat( "casa/cocina/h");//variable privada
|
int hcocina= vars->AddInternalVarFloat( "casa/cocina/h");//variable privada
|
||||||
|
int temExt= vars->AddInternalVarFloat( "casa/ext/t");//variable privada
|
||||||
|
int hExt= vars->AddInternalVarFloat( "casa/ext/h");//variable privada
|
||||||
//lcd---------------------------------------------------------
|
//lcd---------------------------------------------------------
|
||||||
lcd->add(0,"T des: %s",0,0);
|
lcd->add(0,"T des: %s",0,0);
|
||||||
lcd->add(1,"H des: %s",1,0);
|
lcd->add(1,"H des: %s",1,0);
|
||||||
lcd->add(temCoci,"T coci: %s",0,1);
|
lcd->add(temCoci,"T coci: %s",0,1);
|
||||||
lcd->add(temDesp,"H coci: %s",1,1);
|
lcd->add(hcocina,"H coci: %s",1,1);
|
||||||
|
lcd->add(temExt,"T Ext: %s",0,2);
|
||||||
|
lcd->add(hExt,"H Ext: %s",1,2);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class CocinaDomoConfig: public DomoConfig
|
class CocinaDomoConfig: public DomoConfig
|
||||||
|
|
@ -211,6 +280,30 @@ class CocinaDomoConfig: public DomoConfig
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ExteriorDomoConfig: public DomoConfig
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ExteriorDomoConfig()
|
||||||
|
{
|
||||||
|
velocidadPortSerie=115200;
|
||||||
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
||||||
|
strcpy(keyWifi,"Ardileorca1234.");//key wifi
|
||||||
|
strcpy(ideEsp,"Esp8266_015");//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(D2, "casa/ext");
|
||||||
|
sens->AddAnalogIn(0, "casa/ext/lluvia",true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//configuracion que se usara--------------------------
|
//configuracion que se usara--------------------------
|
||||||
ActualDomoConfig ConfiguracionActual;
|
DespachoDomoConfig ConfiguracionActual;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue