Version estable
parent
6bacb65e2c
commit
4a9023ba27
|
|
@ -13,6 +13,7 @@
|
||||||
#include "MqttVarManager.h"
|
#include "MqttVarManager.h"
|
||||||
#include "MqttUtiles.h"
|
#include "MqttUtiles.h"
|
||||||
#include "MqttSensManager.h"
|
#include "MqttSensManager.h"
|
||||||
|
#include "MqttDesencadenadorManager.h"
|
||||||
class PubSubClient;
|
class PubSubClient;
|
||||||
class WiFiClient;
|
class WiFiClient;
|
||||||
class MqttSensManager;
|
class MqttSensManager;
|
||||||
|
|
@ -54,6 +55,7 @@ class DomoEspManager: public MqttReceiver
|
||||||
WifiManager wifi;
|
WifiManager wifi;
|
||||||
MqttManager mqtt;
|
MqttManager mqtt;
|
||||||
|
|
||||||
|
MqttDesencadenadorManager des;
|
||||||
bool suscrito;
|
bool suscrito;
|
||||||
|
|
||||||
//PubSubClient client_qqtt(WifiManager::espClient);
|
//PubSubClient client_qqtt(WifiManager::espClient);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,40 @@ MqttOper::MqttOper()
|
||||||
}
|
}
|
||||||
bool MqttOper::Test(MqttVarManager* vars)
|
bool MqttOper::Test(MqttVarManager* vars)
|
||||||
{
|
{
|
||||||
return false;
|
bool res=false;
|
||||||
|
switch(oper)
|
||||||
|
{
|
||||||
|
case(Igual_val_oper):
|
||||||
|
{
|
||||||
|
MqttVar* v=vars->Get(x);
|
||||||
|
if(v->flags & MqttVar::FLOAT_VAR )
|
||||||
|
res=val.f==v->val.f;
|
||||||
|
else
|
||||||
|
res=val.i==v->val.i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case(Menor_val_oper):
|
||||||
|
{
|
||||||
|
MqttVar* v=vars->Get(x);
|
||||||
|
if(v->flags & MqttVar::FLOAT_VAR )
|
||||||
|
res=val.f<v->val.f;
|
||||||
|
else
|
||||||
|
res=val.i<v->val.i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case(Mayor_val_oper):
|
||||||
|
{
|
||||||
|
MqttVar* v=vars->Get(x);
|
||||||
|
if(v->flags & MqttVar::FLOAT_VAR )
|
||||||
|
res=val.f>v->val.f;
|
||||||
|
else
|
||||||
|
res=val.i>v->val.i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
//*******************************************************************
|
//*******************************************************************
|
||||||
MqttOperArray::MqttOperArray()
|
MqttOperArray::MqttOperArray()
|
||||||
|
|
@ -89,6 +122,23 @@ void MqttEfecto::Exe(MqttVarManager *vars)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//*******************************************************************
|
//*******************************************************************
|
||||||
|
MqttEfectoArray::MqttEfectoArray()
|
||||||
|
{
|
||||||
|
n=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
MqttEfecto* MqttEfectoArray:: Get(int i)
|
||||||
|
{
|
||||||
|
return &(data[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MqttEfectoArray::Add(MqttEfecto* var)
|
||||||
|
{
|
||||||
|
data[n]=*var;
|
||||||
|
n++;
|
||||||
|
return n-1;
|
||||||
|
}
|
||||||
|
//*******************************************************************
|
||||||
MqttDesencadenador::MqttDesencadenador()
|
MqttDesencadenador::MqttDesencadenador()
|
||||||
{
|
{
|
||||||
tipo=0;
|
tipo=0;
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,18 @@
|
||||||
//clase de relacciones/operaciones************************************************
|
//clase de relacciones/operaciones************************************************
|
||||||
class MqttOper
|
class MqttOper
|
||||||
{
|
{
|
||||||
|
//
|
||||||
public:
|
public:
|
||||||
|
enum TipoOperacion
|
||||||
|
{
|
||||||
|
Igual_val_oper,
|
||||||
|
Menor_val_oper,
|
||||||
|
Mayor_val_oper,
|
||||||
|
};
|
||||||
byte x;//indice a variable 1
|
byte x;//indice a variable 1
|
||||||
byte y;//indice a variable 2
|
byte y;//indice a variable 2
|
||||||
byte oper;
|
MQTTvalor val;
|
||||||
|
byte oper;//tipo de operacion
|
||||||
|
|
||||||
MqttOper();
|
MqttOper();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,6 @@ MqttSensManager::MqttSensManager()
|
||||||
SetTimeRefres(15);//por defecto 15 segundos
|
SetTimeRefres(15);//por defecto 15 segundos
|
||||||
n_inter=0;
|
n_inter=0;
|
||||||
pMqttSensManager=this;
|
pMqttSensManager=this;
|
||||||
cambioInterrup=0;
|
|
||||||
}
|
}
|
||||||
void MqttSensManager::SetTimeRefres(int seg)
|
void MqttSensManager::SetTimeRefres(int seg)
|
||||||
{
|
{
|
||||||
|
|
@ -362,18 +361,8 @@ void MqttSensManager::procesaInterrupciones()
|
||||||
void MqttSensManager::OnInterrupcion(int i)
|
void MqttSensManager::OnInterrupcion(int i)
|
||||||
{
|
{
|
||||||
|
|
||||||
MqttSensor* s=sens.Get(ind_interrup[i]);
|
//MqttSensor* s=sens.Get(ind_interrup[i]);
|
||||||
|
MqttChangeInterrup=true;
|
||||||
|
|
||||||
#ifdef DEBUG_PS
|
|
||||||
|
|
||||||
Serial.print("OnInterrupcion: ");
|
|
||||||
Serial.print(i);
|
|
||||||
Serial.print(" Sensor en cambio:");
|
|
||||||
Serial.println(chg_interrup[i]);
|
|
||||||
#endif
|
|
||||||
chg_interrup[i]=true;
|
|
||||||
MqttChangeInterrup=true;
|
|
||||||
}
|
}
|
||||||
void MqttSensManager::ConfiguraInterrupcion(int isen)
|
void MqttSensManager::ConfiguraInterrupcion(int isen)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ class MqttVar
|
||||||
OUT_VAR=0x01,//variable de salida (acepta set)
|
OUT_VAR=0x01,//variable de salida (acepta set)
|
||||||
IN_VAR=0x02,//variable de entrada (publica get)
|
IN_VAR=0x02,//variable de entrada (publica get)
|
||||||
PRIV_VAR=0x04,//variable privada de entrada (acepta get como si fueran set)
|
PRIV_VAR=0x04,//variable privada de entrada (acepta get como si fueran set)
|
||||||
FLOAT_VAR=0x08,
|
FLOAT_VAR=0x08,//variable en coma flotante
|
||||||
ACCION_VAR=0x10,//variable de accion (publica en cada cambio)
|
ACCION_VAR=0x10,//variable de accion (publica en cada cambio)
|
||||||
VOLATILE_VAR=0X20 //marca variable que una vez revisada se cambia internamente su valor (usado en desencadenadores para variables de accion)
|
VOLATILE_VAR=0X20 //marca variable que una vez revisada se cambia internamente su valor (usado en desencadenadores para variables de accion)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class ActualDomoConfig: public DomoConfig
|
||||||
strcpy(ssidWifi,"Idhun");//nombre wifi
|
strcpy(ssidWifi,"Idhun");//nombre wifi
|
||||||
strcpy(keyWifi,"Ardileorca1234.");//key wifi
|
strcpy(keyWifi,"Ardileorca1234.");//key wifi
|
||||||
|
|
||||||
strcpy(ideEsp,"Esp8266_010");//idenitificador del esp (sera único)
|
strcpy(ideEsp,"Esp8266_011");//idenitificador del esp (sera único)
|
||||||
strcpy(hostMQTT,"192.168.2.50");//servidor mqttBroker
|
strcpy(hostMQTT,"192.168.2.50");//servidor mqttBroker
|
||||||
|
|
||||||
portMQTT=1883;//puerto del servidor mqtt Broker
|
portMQTT=1883;//puerto del servidor mqtt Broker
|
||||||
|
|
@ -41,6 +41,29 @@ class ActualDomoConfig: public DomoConfig
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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 ConfigSens(MqttSensManager* sens)
|
||||||
|
{
|
||||||
|
sens->AddHDT22(D4, "casa/cocina");
|
||||||
|
sens->AddDinAccion(D5, "casa/cocina/mov");
|
||||||
|
sens->AddAnalogIn(0, "casa/cocina/luz",true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//configuracion que se usara--------------------------
|
//configuracion que se usara--------------------------
|
||||||
ActualDomoConfig ConfiguracionActual;
|
ActualDomoConfig ConfiguracionActual;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue