/* * MqttClient.h * * Created on: 08.05.2015 * Author: wn */ #ifndef MQTTCLIENT_H_ #define MQTTCLIENT_H_ #include #include #include "mBusDialog.h" #include #define NUM_OF_DEVICES 10 typedef struct { uint8_t address; uint16_t queryPeriod; uint16_t timer; } mbusDevTuple_t; class MqttClient : public ResponseCallback { public: MqttClient(RequestSender *meterBusMaster); void begin(); void exec(); virtual void sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength); virtual void sendError(uint8_t code); private: EthernetClient m_client; RequestSender *m_meterBusMaster; PubSubClient m_mqttClient; uint8_t m_disconnectState; uint32_t m_disconnectTime; uint32_t m_uptime; mbusDevTuple_t m_mbusDevTuple[NUM_OF_DEVICES]; }; #endif /* MQTTCLIENT_H_ */