|
|
|
|
@@ -25,7 +25,7 @@ public:
|
|
|
|
|
*
|
|
|
|
|
* @param uniqueId String with the null terminator.
|
|
|
|
|
*/
|
|
|
|
|
HADevice(const char* uniqueId);
|
|
|
|
|
HADevice(const char *uniqueId);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Constructs HADevice using the given byte array as the unique ID.
|
|
|
|
|
@@ -34,7 +34,7 @@ public:
|
|
|
|
|
* @param uniqueId Bytes array that's going to be converted into the string.
|
|
|
|
|
* @param length Number of bytes in the array.
|
|
|
|
|
*/
|
|
|
|
|
HADevice(const byte* uniqueId, const uint16_t length);
|
|
|
|
|
HADevice(const byte *uniqueId, const uint16_t length);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Deletes HASerializer and the availability topic if the shared availability was enabled.
|
|
|
|
|
@@ -44,34 +44,44 @@ public:
|
|
|
|
|
/**
|
|
|
|
|
* Returns pointer to the unique ID. It can be nullptr if the device has no ID assigned.
|
|
|
|
|
*/
|
|
|
|
|
inline const char* getUniqueId() const
|
|
|
|
|
{ return _uniqueId; }
|
|
|
|
|
inline const char *getUniqueId() const
|
|
|
|
|
{
|
|
|
|
|
return _uniqueId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the instance of the HASerializer used by the device.
|
|
|
|
|
* This method is used by all entities to serialize device's representation.
|
|
|
|
|
*/
|
|
|
|
|
inline const HASerializer* getSerializer() const
|
|
|
|
|
{ return _serializer; }
|
|
|
|
|
inline const HASerializer *getSerializer() const
|
|
|
|
|
{
|
|
|
|
|
return _serializer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns true if the shared availability is enabled for the device.
|
|
|
|
|
*/
|
|
|
|
|
inline bool isSharedAvailabilityEnabled() const
|
|
|
|
|
{ return _sharedAvailability; }
|
|
|
|
|
{
|
|
|
|
|
return _sharedAvailability;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns availability topic generated by the HADevice::enableSharedAvailability method.
|
|
|
|
|
* It can be nullptr if the shared availability is not enabled.
|
|
|
|
|
*/
|
|
|
|
|
inline const char* getAvailabilityTopic() const
|
|
|
|
|
{ return _availabilityTopic; }
|
|
|
|
|
inline const char *getAvailabilityTopic() const
|
|
|
|
|
{
|
|
|
|
|
return _availabilityTopic;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns online/offline state of the device.
|
|
|
|
|
*/
|
|
|
|
|
inline bool isAvailable() const
|
|
|
|
|
{ return _available; }
|
|
|
|
|
{
|
|
|
|
|
return _available;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets unique ID of the device based on the given byte array.
|
|
|
|
|
@@ -81,35 +91,36 @@ public:
|
|
|
|
|
* @param length Number of bytes in the array.
|
|
|
|
|
* @note The unique ID can be set only once (via constructor or using this method).
|
|
|
|
|
*/
|
|
|
|
|
bool setUniqueId(const byte* uniqueId, const uint16_t length);
|
|
|
|
|
bool setUniqueId(const byte *uniqueId, const uint16_t length);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the "manufacturer" property that's going to be displayed in the Home Assistant.
|
|
|
|
|
*
|
|
|
|
|
* @param manufacturer Any string. Keep it short to save the memory.
|
|
|
|
|
*/
|
|
|
|
|
void setManufacturer(const char* manufacturer);
|
|
|
|
|
void setManufacturer(const char *manufacturer);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the "model" property that's going to be displayed in the Home Assistant.
|
|
|
|
|
*
|
|
|
|
|
* @param model Any string. Keep it short to save the memory.
|
|
|
|
|
*/
|
|
|
|
|
void setModel(const char* model);
|
|
|
|
|
void setModel(const char *model);
|
|
|
|
|
|
|
|
|
|
void setURL(const char *url);
|
|
|
|
|
/**
|
|
|
|
|
* Sets the "name" property that's going to be displayed in the Home Assistant.
|
|
|
|
|
*
|
|
|
|
|
* @param name Any string. Keep it short to save the memory.
|
|
|
|
|
*/
|
|
|
|
|
void setName(const char* name);
|
|
|
|
|
void setName(const char *name);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the "software version" property that's going to be displayed in the Home Assistant.
|
|
|
|
|
*
|
|
|
|
|
* @param softwareVersion Any string. Keep it short to save the memory.
|
|
|
|
|
*/
|
|
|
|
|
void setSoftwareVersion(const char* softwareVersion);
|
|
|
|
|
void setSoftwareVersion(const char *softwareVersion);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets device's availability and publishes MQTT message on the availability topic.
|
|
|
|
|
@@ -139,16 +150,16 @@ public:
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
/// The unique ID of the device. It can be a memory allocated by HADevice::setUniqueId method.
|
|
|
|
|
const char* _uniqueId;
|
|
|
|
|
const char *_uniqueId;
|
|
|
|
|
|
|
|
|
|
/// Specifies whether HADevice class owns the _uniqueId pointer.
|
|
|
|
|
bool _ownsUniqueId;
|
|
|
|
|
|
|
|
|
|
/// JSON serializer of the HADevice class. It's allocated in the constructor.
|
|
|
|
|
HASerializer* _serializer;
|
|
|
|
|
HASerializer *_serializer;
|
|
|
|
|
|
|
|
|
|
/// The availability topic allocated by HADevice::enableSharedAvailability method.
|
|
|
|
|
char* _availabilityTopic;
|
|
|
|
|
char *_availabilityTopic;
|
|
|
|
|
|
|
|
|
|
/// Specifies whether the shared availability is enabled.
|
|
|
|
|
bool _sharedAvailability;
|
|
|
|
|
|