cleanup
This commit is contained in:
parent
e9e30ae025
commit
c88e832fbe
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
namespace Ha {
|
namespace Ha {
|
||||||
uint16_t (*publisher)(const char* topic, const char* message);
|
uint16_t (*publisher)(const char* topic, const char* message);
|
||||||
|
typedef void (*onMessage)(const char* msg);
|
||||||
|
|
||||||
struct DeviceConfig {
|
struct DeviceConfig {
|
||||||
const char* id = nullptr;
|
const char* id = nullptr;
|
||||||
@ -17,7 +18,6 @@ namespace Ha {
|
|||||||
const char* area = nullptr;
|
const char* area = nullptr;
|
||||||
DeviceConfig* parent = nullptr;
|
DeviceConfig* parent = nullptr;
|
||||||
|
|
||||||
DeviceConfig() {}
|
|
||||||
DeviceConfig(const char* id) : id(id) {}
|
DeviceConfig(const char* id) : id(id) {}
|
||||||
DeviceConfig(DeviceConfig& d) : id(d.id), name(d.name), model(d.model), manufacturer(d.manufacturer), area(d.area), parent(d.parent) {}
|
DeviceConfig(DeviceConfig& d) : id(d.id), name(d.name), model(d.model), manufacturer(d.manufacturer), area(d.area), parent(d.parent) {}
|
||||||
|
|
||||||
@ -107,7 +107,6 @@ namespace Ha {
|
|||||||
publisher(configTopic, "");
|
publisher(configTopic, "");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
List<Component> Component::components;
|
List<Component> Component::components;
|
||||||
|
|
||||||
struct AbstractBuilder {
|
struct AbstractBuilder {
|
||||||
@ -124,20 +123,16 @@ namespace Ha {
|
|||||||
};
|
};
|
||||||
List<AbstractBuilder> AbstractBuilder::builders;
|
List<AbstractBuilder> AbstractBuilder::builders;
|
||||||
|
|
||||||
template <class T = Component>
|
template <class T>
|
||||||
struct Builder : AbstractBuilder {
|
struct Builder : AbstractBuilder {
|
||||||
T* cmp;
|
T* cmp;
|
||||||
|
|
||||||
Builder() : AbstractBuilder() {}
|
|
||||||
Builder(T* cmp) : AbstractBuilder(), cmp(cmp) {}
|
Builder(T* cmp) : AbstractBuilder(), cmp(cmp) {}
|
||||||
|
|
||||||
Builder(const char* id) : AbstractBuilder() {
|
Builder(const char* id) : AbstractBuilder() {
|
||||||
cmp = new T{id};
|
cmp = new T{id};
|
||||||
}
|
}
|
||||||
|
|
||||||
static Builder& instance() {
|
|
||||||
return *(new Builder<T>());
|
|
||||||
}
|
|
||||||
|
|
||||||
static Builder& instance(T* c) {
|
static Builder& instance(T* c) {
|
||||||
return *(new Builder<T>(c));
|
return *(new Builder<T>(c));
|
||||||
}
|
}
|
||||||
@ -167,7 +162,6 @@ namespace Ha {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (*onMessage)(const char* msg);
|
|
||||||
struct Command : Component {
|
struct Command : Component {
|
||||||
char commandTopic[TOPIC_SIZE];
|
char commandTopic[TOPIC_SIZE];
|
||||||
onMessage f;
|
onMessage f;
|
||||||
@ -285,20 +279,18 @@ namespace Ha {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct HumiditySensor : Sensor {
|
struct HumiditySensor : Sensor {
|
||||||
HumiditySensor(const char* name, const char* id) : Sensor(name, id) {
|
HumiditySensor(const char* id, const char* name = "Humidity") : Sensor(name, id) {
|
||||||
name = "Humidity";
|
|
||||||
deviceClass = "humidity";
|
deviceClass = "humidity";
|
||||||
unitMeasure = "%";
|
unitMeasure = "%";
|
||||||
valueTemplate = "{{ value_json.sensor.humidity }}";
|
// valueTemplate = "{{ value_json.sensor.humidity }}";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PressureSensor : Sensor {
|
struct PressureSensor : Sensor {
|
||||||
PressureSensor(const char* name, const char* id) : Sensor(name, id) {
|
PressureSensor(const char* id, const char* name = "Pressure") : Sensor(name, id) {
|
||||||
name = "Pressure";
|
|
||||||
deviceClass = "pressure";
|
deviceClass = "pressure";
|
||||||
unitMeasure = "hPa";
|
unitMeasure = "hPa";
|
||||||
valueTemplate = "{{ value_json.sensor.pressure }}";
|
// valueTemplate = "{{ value_json.sensor.pressure }}";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user