-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathVOneMqttClient.h
47 lines (36 loc) · 1.59 KB
/
VOneMqttClient.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef VOneMqttClient_h
#define VOneMqttClient_h
#endif
#include <WiFi.h>
#include <PubSubClient.h>
#include <Arduino_JSON.h>
#include <WiFiClientSecure.h>
#include <time.h>
#include "vonesetting.h"
static void (*_actuatorCallbackEvent)(const char*, const char*);
class VOneMqttClient
{
private:
static void callback(char* topic, byte* payload, unsigned int length);
String getDateTime();
WiFiClientSecure espClient;
PubSubClient mqttclient;
public:
VOneMqttClient();
VOneMqttClient(void (*callbackEvent)(const char*, const char*));
~VOneMqttClient();
void reconnect();
void setup();
bool connected();
void loop();
void publishDeviceStatusEvent(const char* deviceId, bool status);
void publishDeviceStatusEvent(const char* deviceId, bool status, const char* errorMsg);
void publishTelemetryData(const char* deviceId, JSONVar& payloadObject);
void publishTelemetryData(const char* deviceId, const char* sensorVariableName, const char* data);
void publishTelemetryData(const char* deviceId, const char* sensorVariableName, int data);
void publishTelemetryData(const char* deviceId, const char* sensorVariableName, float data);
void publishTelemetryData(const char* deviceId, const char* sensorVariableName, double data);
void registerActuatorCallback(void (*)(const char*, const char*));
void publishActuatorStatusEvent(const char* deviceId, const char* originCommand, bool status);
void publishActuatorStatusEvent(const char* deviceId, const char* originCommand, const char* errorMsg, bool status);
};