mirror of
https://github.com/esphome/esphome.git
synced 2024-11-22 23:18:10 +01:00
brightness support for nextion (#1109)
This commit is contained in:
parent
1a47e4b524
commit
5d136a18af
3 changed files with 7 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
|||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import display, uart
|
||||
from esphome.const import CONF_ID, CONF_LAMBDA
|
||||
from esphome.const import CONF_ID, CONF_LAMBDA, CONF_BRIGHTNESS
|
||||
from . import nextion_ns
|
||||
|
||||
DEPENDENCIES = ['uart']
|
||||
|
@ -12,6 +12,7 @@ NextionRef = Nextion.operator('ref')
|
|||
|
||||
CONFIG_SCHEMA = display.BASIC_DISPLAY_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_id(Nextion),
|
||||
cv.Optional(CONF_BRIGHTNESS, default=1.0): cv.percentage,
|
||||
}).extend(cv.polling_component_schema('5s')).extend(uart.UART_DEVICE_SCHEMA)
|
||||
|
||||
|
||||
|
@ -20,6 +21,8 @@ def to_code(config):
|
|||
yield cg.register_component(var, config)
|
||||
yield uart.register_uart_device(var, config)
|
||||
|
||||
if CONF_BRIGHTNESS in config:
|
||||
cg.add(var.set_brightness(config[CONF_BRIGHTNESS]))
|
||||
if CONF_LAMBDA in config:
|
||||
lambda_ = yield cg.process_lambda(config[CONF_LAMBDA], [(NextionRef, 'it')],
|
||||
return_type=cg.void)
|
||||
|
|
|
@ -9,6 +9,7 @@ static const char *TAG = "nextion";
|
|||
void Nextion::setup() {
|
||||
this->send_command_no_ack("");
|
||||
this->send_command_printf("bkcmd=3");
|
||||
this->set_backlight_brightness(static_cast<uint8_t>(brightness_ * 100));
|
||||
this->goto_page("0");
|
||||
}
|
||||
float Nextion::get_setup_priority() const { return setup_priority::PROCESSOR; }
|
||||
|
|
|
@ -365,6 +365,7 @@ class Nextion : public PollingComponent, public uart::UARTDevice {
|
|||
// (In most use cases you won't need these)
|
||||
void register_touch_component(NextionTouchComponent *obj) { this->touch_.push_back(obj); }
|
||||
void setup() override;
|
||||
void set_brightness(float brightness) { this->brightness_ = brightness; }
|
||||
float get_setup_priority() const override;
|
||||
void update() override;
|
||||
void loop() override;
|
||||
|
@ -392,6 +393,7 @@ class Nextion : public PollingComponent, public uart::UARTDevice {
|
|||
std::vector<NextionTouchComponent *> touch_;
|
||||
optional<nextion_writer_t> writer_;
|
||||
bool wait_for_ack_{true};
|
||||
float brightness_{1.0};
|
||||
};
|
||||
|
||||
class NextionTouchComponent : public binary_sensor::BinarySensorInitiallyOff {
|
||||
|
|
Loading…
Reference in a new issue