diff --git a/README.md b/README.md index 623f5ca..3585b72 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,12 @@ ## Compatible Arduino Shields -## Roadmap +## Supported types -- [ ] Add support for "Lights" device's type -- [ ] Add support for "Sensor" device's type -- [ ] Add support for "Tag scanner" device's type -- [ ] Add support for "Lock" device's type -- [ ] Add support for "Binary sensor" device's type +- :heavy_check_mark: Binary sensors +- :heavy_check_mark: Device triggers +- :heavy_check_mark: Switches +- :heavy_check_mark: Sensors +- :heavy_check_mark: Tag scanners + +If you need support for non-listed device's type please open a new issue in the Github repository. diff --git a/src/HAMqtt.cpp b/src/HAMqtt.cpp index 38718b1..66de182 100644 --- a/src/HAMqtt.cpp +++ b/src/HAMqtt.cpp @@ -6,7 +6,7 @@ #include "ArduinoHADefines.h" #include "device-types/BaseDeviceType.h" -const char* HAMqtt::DefaultDiscoveryPrefix = "homeassistant"; +static const char DefaultDiscoveryPrefix[] PROGMEM = {"homeassistant"}; HAMqtt* instance = nullptr; void onMessageReceived(char* topic, uint8_t* payload, uint16_t length) @@ -24,7 +24,6 @@ HAMqtt::HAMqtt(const char* clientId, Client& netClient, HADevice& device) : _device(device), _hasDevice(true), _initialized(false), - _discoveryPrefix(DefaultDiscoveryPrefix), _mqtt(new PubSubClient(netClient)), _serverIp(new IPAddress()), _serverPort(0), @@ -35,6 +34,7 @@ HAMqtt::HAMqtt(const char* clientId, Client& netClient, HADevice& device) : _devicesTypes(nullptr) { instance = this; + strcpy_P(_discoveryPrefix, DefaultDiscoveryPrefix); } bool HAMqtt::begin( diff --git a/src/HAMqtt.h b/src/HAMqtt.h index bd6a426..cc37605 100644 --- a/src/HAMqtt.h +++ b/src/HAMqtt.h @@ -12,7 +12,6 @@ class BaseDeviceType; class HAMqtt { public: - static const char* DefaultDiscoveryPrefix; static const uint16_t ReconnectInterval = 3000; // ms HAMqtt(const char* clientId, Client& netClient, HADevice& device);