add text component
This commit is contained in:
parent
70535f3467
commit
935041204e
26
src/ha.h
26
src/ha.h
@ -258,6 +258,27 @@ namespace Ha {
|
||||
}
|
||||
};
|
||||
|
||||
struct Text : Component, StatefulCommand {
|
||||
unsigned int min = 1;
|
||||
unsigned int max = 100;
|
||||
const char* pattern = nullptr;
|
||||
|
||||
Text(const char* name, const char* id, onMessage f) : Component(id, name, "text"), StatefulCommand(this, f) {}
|
||||
|
||||
void updateState(unsigned int value) {
|
||||
State::updateState(to_string(value).c_str());
|
||||
}
|
||||
|
||||
void buildConfig(JsonDocument& jsonDoc) override {
|
||||
Component::buildConfig(jsonDoc);
|
||||
StatefulCommand::buildConfig(jsonDoc);
|
||||
jsonDoc["min"] = min;
|
||||
jsonDoc["max"] = max;
|
||||
jsonDoc["platform"] = "text";
|
||||
if (pattern) jsonDoc["pattern"] = pattern;
|
||||
}
|
||||
};
|
||||
|
||||
struct Sensor : Component, State {
|
||||
const char* unitMeasure = nullptr;
|
||||
const char* valueTemplate = nullptr;
|
||||
@ -391,6 +412,11 @@ namespace Ha {
|
||||
return *this;
|
||||
}
|
||||
|
||||
Builder& withPattern(const char* value) {
|
||||
cmp->pattern = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
Builder& withJsonAttributes(const char* value) {
|
||||
cmp->jsonAttributesTemplate = value;
|
||||
return *this;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user