finished HADevice implementation

This commit is contained in:
Dawid Chyrzynski
2020-11-28 22:10:21 +01:00
parent a827087833
commit 154b816444
4 changed files with 100 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
#include "HADevice.h"
#include "HAMqtt.h"
+4
View File
@@ -0,0 +1,4 @@
// Turns on debug information of the ArduinoHA core.
// Please note that you need to initialize serial interface manually
// by calling Serial.begin([baudRate]) before initializing ArduinoHA.
#define ARDUINOHA_DEBUG
+54
View File
@@ -0,0 +1,54 @@
#include "HADevice.h"
HADevice::HADevice(const char* uniqueId) :
_uniqueId(uniqueId),
_manufacturer(nullptr),
_model(nullptr),
_name(nullptr),
_softwareVersion(nullptr),
_viaDevice(nullptr)
{
}
String HADevice::serialize() const
{
String output;
output.concat("{");
output.concat("{\"identifiers\":\"");
output.concat(_uniqueId);
output.concat("\"}");
if (_manufacturer != nullptr) {
output.concat(",{\"manufacturer\":\"");
output.concat(_manufacturer);
output.concat("\"}");
}
if (_model != nullptr) {
output.concat(",{\"model\":\"");
output.concat(_model);
output.concat("\"}");
}
if (_name != nullptr) {
output.concat(",{\"name\":\"");
output.concat(_name);
output.concat("\"}");
}
if (_softwareVersion != nullptr) {
output.concat(",{\"sw_version\":\"");
output.concat(_softwareVersion);
output.concat("\"}");
}
if (_viaDevice != nullptr) {
output.concat(",{\"via_device\":\"");
output.concat(_viaDevice);
output.concat("\"}");
}
output += "}";
return output;
}
+40
View File
@@ -0,0 +1,40 @@
#ifndef HADEVICE_H
#define HADEVICE_H
#include <Arduino.h>
class HADevice
{
public:
HADevice(const char* uniqueId);
inline const char* getUniqueId() const
{ return _uniqueId; }
inline void setManufacturer(const char* manufacturer)
{ _manufacturer = manufacturer; }
inline void setModel(const char* model)
{ _model = model; }
inline void setName(const char* name)
{ _name = name; }
inline void setSoftwareVersion(const char* softwareVersion)
{ _softwareVersion = softwareVersion; }
inline void setViaDevice(const char* viaDevice)
{ _viaDevice = viaDevice; }
String serialize() const;
private:
const char* _uniqueId;
const char* _manufacturer;
const char* _model;
const char* _name;
const char* _softwareVersion;
const char* _viaDevice;
};
#endif