You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
#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
|