mirror of
https://github.com/mrcory/arduino-home-assistant.git
synced 2026-08-02 15:24:26 -04:00
finished HADevice implementation
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
#include "HADevice.h"
|
||||
#include "HAMqtt.h"
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user