ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
tuya_light.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::tuya {
8
10
11class TuyaLight : public Component, public light::LightOutput {
12 public:
13 void setup() override;
14 void dump_config() override;
15 void set_dimmer_id(uint8_t dimmer_id) { this->dimmer_id_ = dimmer_id; }
16 void set_min_value_datapoint_id(uint8_t min_value_datapoint_id) {
17 this->min_value_datapoint_id_ = min_value_datapoint_id;
18 }
19 void set_switch_id(uint8_t switch_id) { this->switch_id_ = switch_id; }
20 void set_color_id(uint8_t color_id) { this->color_id_ = color_id; }
21 void set_color_type(TuyaColorType color_type) { this->color_type_ = color_type; }
22 void set_color_temperature_id(uint8_t color_temperature_id) { this->color_temperature_id_ = color_temperature_id; }
23 void set_color_temperature_invert(bool color_temperature_invert) {
24 this->color_temperature_invert_ = color_temperature_invert;
25 }
26 void set_color_type_lowercase(bool color_type_lowercase) { this->color_type_lowercase_ = color_type_lowercase; }
27 void set_tuya_parent(Tuya *parent) { this->parent_ = parent; }
28 void set_min_value(uint32_t min_value) { min_value_ = min_value; }
29 void set_max_value(uint32_t max_value) { max_value_ = max_value; }
30 void set_color_temperature_max_value(uint32_t color_temperature_max_value) {
31 this->color_temperature_max_value_ = color_temperature_max_value;
32 }
33 void set_cold_white_temperature(float cold_white_temperature) {
34 this->cold_white_temperature_ = cold_white_temperature;
35 }
36 void set_warm_white_temperature(float warm_white_temperature) {
37 this->warm_white_temperature_ = warm_white_temperature;
38 }
39 void set_color_interlock(bool color_interlock) { color_interlock_ = color_interlock; }
40
42 void setup_state(light::LightState *state) override;
43 void write_state(light::LightState *state) override;
44
45 protected:
48
50 optional<uint8_t> dimmer_id_{};
51 optional<uint8_t> min_value_datapoint_id_{};
52 optional<uint8_t> switch_id_{};
53 optional<uint8_t> color_id_{};
54 optional<TuyaColorType> color_type_{};
55 optional<uint8_t> color_temperature_id_{};
63 bool color_interlock_{false};
65};
66
67} // namespace esphome::tuya
Interface to write LightStates to hardware.
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
Definition light_state.h:93
This class is used to represent the capabilities of a light.
Definition light_traits.h:9
void set_dimmer_id(uint8_t dimmer_id)
Definition tuya_light.h:15
void setup() override
Definition tuya_light.cpp:9
optional< uint8_t > min_value_datapoint_id_
Definition tuya_light.h:51
void setup_state(light::LightState *state) override
void dump_config() override
void set_min_value(uint32_t min_value)
Definition tuya_light.h:28
void set_switch_id(uint8_t switch_id)
Definition tuya_light.h:19
light::LightTraits get_traits() override
void set_min_value_datapoint_id(uint8_t min_value_datapoint_id)
Definition tuya_light.h:16
void set_color_temperature_id(uint8_t color_temperature_id)
Definition tuya_light.h:22
void set_warm_white_temperature(float warm_white_temperature)
Definition tuya_light.h:36
void set_color_temperature_invert(bool color_temperature_invert)
Definition tuya_light.h:23
optional< TuyaColorType > color_type_
Definition tuya_light.h:54
void set_tuya_parent(Tuya *parent)
Definition tuya_light.h:27
void set_color_type_lowercase(bool color_type_lowercase)
Definition tuya_light.h:26
void update_dimmer_(uint32_t value)
void update_switch_(uint32_t value)
void set_color_temperature_max_value(uint32_t color_temperature_max_value)
Definition tuya_light.h:30
void set_color_interlock(bool color_interlock)
Definition tuya_light.h:39
optional< uint8_t > switch_id_
Definition tuya_light.h:52
optional< uint8_t > color_temperature_id_
Definition tuya_light.h:55
void set_max_value(uint32_t max_value)
Definition tuya_light.h:29
void write_state(light::LightState *state) override
optional< uint8_t > dimmer_id_
Definition tuya_light.h:50
optional< uint8_t > color_id_
Definition tuya_light.h:53
uint32_t color_temperature_max_value_
Definition tuya_light.h:58
light::LightState * state_
Definition tuya_light.h:64
void set_color_type(TuyaColorType color_type)
Definition tuya_light.h:21
void set_cold_white_temperature(float cold_white_temperature)
Definition tuya_light.h:33
void set_color_id(uint8_t color_id)
Definition tuya_light.h:20
bool state
Definition fan.h:2
static void uint32_t