Fixed bug in CUSTOM_CHAR() when applied to STRING Characteristic
Created a new CUSTOM_CHAR_STRING(NAME,UUID,PERMISISONS,DEFVAL) macro specifically for STRING Characteristics
This commit is contained in:
parent
b63945b6dc
commit
a872111743
|
|
@ -529,4 +529,6 @@ namespace Characteristic {
|
|||
HapChar _CUSTOM_##NAME {#UUID,#NAME,(PERMS)(PERMISISONS),FORMAT,STATIC_RANGE}; \
|
||||
namespace Characteristic { struct NAME : SpanCharacteristic { NAME(FORMAT##_t val=DEFVAL, boolean nvsStore=false) : SpanCharacteristic {&_CUSTOM_##NAME} { init(val,nvsStore,(FORMAT##_t)MINVAL,(FORMAT##_t)MAXVAL); } }; }
|
||||
|
||||
|
||||
#define CUSTOM_CHAR_STRING(NAME,UUID,PERMISISONS,DEFVAL) \
|
||||
HapChar _CUSTOM_##NAME {#UUID,#NAME,(PERMS)(PERMISISONS),STRING,true}; \
|
||||
namespace Characteristic { struct NAME : SpanCharacteristic { NAME(const char * val=DEFVAL, boolean nvsStore=false) : SpanCharacteristic {&_CUSTOM_##NAME} { init(val,nvsStore); } }; }
|
||||
|
|
|
|||
|
|
@ -4,7 +4,10 @@
|
|||
|
||||
#include "HomeSpan.h"
|
||||
|
||||
CUSTOM_CHAR(CustomActive, E863F10A-079E-48FF-8F27-9C2605A29F52, PR+EV, UINT16, 0, 0, 4800, false);
|
||||
#define STRING_t const char * // WORK-AROUND
|
||||
|
||||
CUSTOM_CHAR(LightMode, AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA, PR, STRING, "ANY_VALUE", NULL, NULL, true);
|
||||
CUSTOM_CHAR_STRING(DarkMode, AAAAAAAA-BBBB-AAAA-AAAA-AAAAAAAAAAAA, PR, "MY_VALUE");
|
||||
|
||||
void setup() {
|
||||
|
||||
|
|
@ -45,7 +48,9 @@ void setup() {
|
|||
|
||||
new Service::LightBulb();
|
||||
new Characteristic::On(0);
|
||||
new Characteristic::CustomActive(1200);
|
||||
new Characteristic::LightMode("HELLO");
|
||||
new Characteristic::DarkMode();
|
||||
new Characteristic::DarkMode("OVERRIDE");
|
||||
new Characteristic::Brightness(50);
|
||||
new Characteristic::Name("Light 1");
|
||||
new Characteristic::ColorTemperature();
|
||||
|
|
|
|||
Loading…
Reference in New Issue