DomoEsp_v2.0/DomoEspSensor/DomoEspSensorManager.h

53 lines
1.1 KiB
C++

#ifndef DomoEspManagerDef
#define DomoEspManagerDef 1
#include <PubSubClient.h>
#include <ESP8266WiFi.h>
#include "utiles.h"
#include "DomoEspApiConexion.h"
class DomoEspConfig;
class IDomoEspLisener
{
public:
void inicia();
void loop();
virtual void OnMqtt(char* topic, char* payload);
virtual bool SubscribeMqtt(char *topic);
};
class DomoEspManager: public MqttReceiver, public IMqttManager, public ISensorManager
{
WifiManager wifi;
DomoEspConfig* conf;
WiFiClient espClient;
PubSubClient clienteMqtt;
MqttManager mqtt;
DomoEspApiConexion api;
DomoEspSensorReceiver* sensores[MAXSENS];
int n;
int tiempo;
bool suscrito;
Ctimer timer;
Ctimer tNoConexion;
Ctimer tNomqtt;
public:
DomoEspManager();
//funcion inicial
void SetTimeRefres(int seg);
void inicia(DomoEspConfig* cnf);
void loop();
//funciones auxiliares
virtual void OnMqtt(char* topic, char* payload);
virtual void SubscribeMqtt(PubSubClient *client_mqtt);
virtual void MqttSend(char* topic, char* payload);
virtual void MqttSubs(char* topic);
virtual void Add(DomoEspSensorReceiver* sensor);
};
#endif