build components with temporary Builder instances
This commit is contained in:
parent
9337c4a738
commit
6b597790dc
@ -16,7 +16,7 @@ namespace Devices {
|
||||
.withModel("Esp8266 D1 Mini")
|
||||
.withArea("Living room");
|
||||
|
||||
Sensor* sensor = Builder<TemperatureSensor>::instance(SENSOR_ID)
|
||||
Sensor* sensor = Builder<TemperatureSensor>(SENSOR_ID)
|
||||
.withValueTemplate("{{ value_json.temperature }}")
|
||||
.withPrecision(1)
|
||||
.asDevice(&DeviceConfig::create("esp-clock-living-room")
|
||||
@ -25,17 +25,17 @@ namespace Devices {
|
||||
.withArea("Living room")
|
||||
.withParent(espClockDevice)
|
||||
)
|
||||
.addSecondary(Builder<HumiditySensor>::instance(SENSOR_ID).withValueTemplate("{{ value_json.humidity }}").withPrecision(1).build())
|
||||
.addSecondary(Builder<PressureSensor>::instance(SENSOR_ID).withValueTemplate("{{ value_json.pressure }}").withPrecision(1).build())
|
||||
.addSecondary(Builder<HumiditySensor>(SENSOR_ID).withValueTemplate("{{ value_json.humidity }}").withPrecision(1).build())
|
||||
.addSecondary(Builder<PressureSensor>(SENSOR_ID).withValueTemplate("{{ value_json.pressure }}").withPrecision(1).build())
|
||||
.build();
|
||||
|
||||
auto ledMqtt = Builder<Light>::instance(new Light{ "Led", "led",
|
||||
auto ledMqtt = Builder<Light>(new Light{ "Led", "led",
|
||||
[](const char* msg) {
|
||||
turnLed(strcmp("ON", msg) == 0);
|
||||
}
|
||||
}).restoreStateFromCommand().build();
|
||||
|
||||
auto brightnessMqtt = Builder<Number>::instance(new Number{ "Brightness", "brightness",
|
||||
auto brightnessMqtt = Builder<Number>(new Number{ "Brightness", "brightness",
|
||||
[](const char* msg) {
|
||||
Display::brightness = String{ msg }.toInt();
|
||||
}
|
||||
@ -45,12 +45,12 @@ namespace Devices {
|
||||
.restoreStateFromCommand()
|
||||
.build();
|
||||
|
||||
auto hourFormatMqtt = Builder<Switch>::instance(new Switch{ "Format 24h", "format_24h",
|
||||
auto hourFormatMqtt = Builder<Switch>(new Switch{ "Format 24h", "format_24h",
|
||||
[](const char* msg) {
|
||||
Display::hourFormat24 = (strcmp("ON", msg) == 0);
|
||||
}
|
||||
}).withIcon("mdi:hours-24").restoreStateFromCommand().build();
|
||||
Number* displayTimerMqtt = Builder<Number>::instance(new Number{ "Timer duration", "timer_duration",
|
||||
Number* displayTimerMqtt = Builder<Number>(new Number{ "Timer duration", "timer_duration",
|
||||
[](const char* msg) {
|
||||
auto value = String{ msg }.toInt();
|
||||
timer = value;
|
||||
@ -67,9 +67,9 @@ namespace Devices {
|
||||
.withIcon("mdi:timer-edit-outline")
|
||||
.restoreStateFromCommand()
|
||||
.build();
|
||||
Sensor* timerRemainingMqtt = Builder<Sensor>::instance(new Sensor("Timer remaining", "timer_remaining"))
|
||||
Sensor* timerRemainingMqtt = Builder<Sensor>(new Sensor("Timer remaining", "timer_remaining"))
|
||||
.withUnitMeasure("min").withPrecision(0).withIcon("mdi:timer-sand").build();
|
||||
Switch* timerMqtt = Builder<Switch>::instance(new Switch{"Timer", "timer",
|
||||
Switch* timerMqtt = Builder<Switch>(new Switch{"Timer", "timer",
|
||||
[](const char* msg) {
|
||||
if (strcmp("ON", msg) == 0) {
|
||||
Display::tTimer.restart();
|
||||
@ -85,7 +85,7 @@ namespace Devices {
|
||||
HaESP::restartButton()
|
||||
.asDevice(espClockDevice)
|
||||
.addSecondary(
|
||||
Builder<Button>::instance(new Button{"Display time", "display_time",
|
||||
Builder<Button>(new Button{"Display time", "display_time",
|
||||
[](const char* msg) {
|
||||
if (strcmp("PRESS", msg) == 0) {
|
||||
Display::displayTask.activate(Display::tDisplayTime);
|
||||
@ -94,7 +94,7 @@ namespace Devices {
|
||||
}).build()
|
||||
)
|
||||
.addSecondary(
|
||||
Builder<Button>::instance(new Button{"Display sensor data", "display_sensor_data",
|
||||
Builder<Button>(new Button{"Display sensor data", "display_sensor_data",
|
||||
[](const char* msg) {
|
||||
if (strcmp("PRESS", msg) == 0) {
|
||||
Bme::data.readAll();
|
||||
@ -104,7 +104,7 @@ namespace Devices {
|
||||
}).build()
|
||||
)
|
||||
.addSecondary(
|
||||
Builder<Button>::instance(new Button{"Display date", "display_date",
|
||||
Builder<Button>(new Button{"Display date", "display_date",
|
||||
[](const char* msg) {
|
||||
if (strcmp("PRESS", msg) == 0) {
|
||||
Display::displayTask.activate(Display::tDisplayDate);
|
||||
@ -113,7 +113,7 @@ namespace Devices {
|
||||
}).build()
|
||||
)
|
||||
.addSecondary(
|
||||
Builder<Button>::instance(new Button{"Display remaining timer", "display_remaining_timer",
|
||||
Builder<Button>(new Button{"Display remaining timer", "display_remaining_timer",
|
||||
[](const char* msg) {
|
||||
if (strcmp("PRESS", msg) == 0) {
|
||||
Display::displayTask.activate(Display::tDisplayTimer);
|
||||
@ -122,7 +122,7 @@ namespace Devices {
|
||||
}).build()
|
||||
)
|
||||
.addSecondary(
|
||||
Builder<Button>::instance(new Button{"Update time", "update_time",
|
||||
Builder<Button>(new Button{"Update time", "update_time",
|
||||
[](const char* msg) {
|
||||
if (strcmp("PRESS", msg) == 0) Ntp::tUpdateTime.restart();
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ lib_deps =
|
||||
sparkfun/SparkFun BME280@^2.0.9
|
||||
arkhipenko/TaskScheduler@^3.8.5
|
||||
https://git.hodos.ro/libraries/wifi.git@^2.0.0
|
||||
https://git.hodos.ro/libraries/ha-mqtt.git@^1.10.0
|
||||
https://git.hodos.ro/libraries/ha-mqtt.git#v2.0.0
|
||||
build_flags = -D WIFI_ALWAYS_ON=1 -D ADAFRUIT_BME=1
|
||||
|
||||
[env:laptop_home]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user