#pragma once #include #include "esphome/core/component.h" #include "esphome/components/select/select.h" namespace esphome { namespace tw7100 { class tw7100Component; class tw7100Select : public select::Select, public Component { public: void setup() override; void dump_config() override; void set_tw7100_parent(tw7100Component *parent) { this->parent_ = parent; } void set_cmd(std::string cmd) { this->cmd_ = cmd; } static std::map sources; static std::map luminance; static std::map aspect; static std::map msel; static std::map speed; static std::map mcfi; static std::map clrspace; static std::map dynrange; static std::map imgpreset; static std::map gamma; static std::map cmode; static std::map ovscan; protected: void control(const std::string &value) override; std::string cmd_; tw7100Component *parent_; }; } // namespace tw7100 } // namespace esphome