#pragma once #include "esphome/core/component.h" #include "esphome/components/i2c/i2c.h" #include "esphome/components/output/float_output.h" // TODO: maybe use monochrome leds instead of floatoutput directly?: /* #include "esphome/components/monochromatic/monochromatic_light_output.h" */ namespace esphome { namespace showcase_component { enum state{ Off, Auto, On }; class ShowcaseComponent : public i2c::I2CDevice, public Component { public: state s; void setup() override; void loop() override; void dump_config() override; void set_upper(output::FloatOutput *upper) {this->upper_ = upper;} void set_lower(output::FloatOutput *lower) {this->lower_ = lower;} void write_state(float upper, float lower){ this->upper_->set_level(upper); this->lower_->set_level(lower); /* this->upper_->write_state(upper); */ /* this->lower_->write_state(lower); */ } protected: output::FloatOutput *upper_; output::FloatOutput *lower_; /* monochromatic::MonochromaticLightOutput *upper_; */ /* monochromatic::MonochromaticLightOutput *lower_; */ }; } // namespace empty_i2c_component } // namespace esphome