|
|
|
|
@ -9,6 +9,9 @@
|
|
|
|
|
namespace esphome {
|
|
|
|
|
namespace c_monochromatic {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const char *TAG = "empty_i2c_sensor.sensor";
|
|
|
|
|
|
|
|
|
|
enum State { Off, Auto, On };
|
|
|
|
|
|
|
|
|
|
class MonochromaticLightOutput : public light::LightOutput,
|
|
|
|
|
@ -57,7 +60,7 @@ public:
|
|
|
|
|
void loop() {
|
|
|
|
|
uint8_t data = 10;
|
|
|
|
|
this->read_register(0x0, &data, 0x1);
|
|
|
|
|
/* ESP_LOGI(TAG, "READ value: %d", data); */
|
|
|
|
|
ESP_LOGI(TAG, "READ value: %d", data);
|
|
|
|
|
if (data != 0) {
|
|
|
|
|
if (data & 1) {
|
|
|
|
|
this->set_state(Off);
|
|
|
|
|
@ -73,12 +76,12 @@ public:
|
|
|
|
|
if(this->state_ == Auto) {
|
|
|
|
|
if(data & 8){
|
|
|
|
|
// TODO: turn on led
|
|
|
|
|
/* ESP_LOGI(TAG, "Auto On"); */
|
|
|
|
|
ESP_LOGI(TAG, "Auto On");
|
|
|
|
|
this->upper_->set_level(this->bright_);
|
|
|
|
|
this->lower_->set_level(this->bright_);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
/* ESP_LOGI(TAG, "Auto Off"); */
|
|
|
|
|
ESP_LOGI(TAG, "Auto Off");
|
|
|
|
|
this->upper_->set_level(0.0);
|
|
|
|
|
this->lower_->set_level(0.0);
|
|
|
|
|
}
|
|
|
|
|
|