esphome-ratgdo/components/ratgdo/light/ratgdo_light_output.h

30 lines
888 B
C
Raw Permalink Normal View History

2023-06-07 13:27:01 -05:00
#pragma once
#include "../ratgdo.h"
#include "../ratgdo_state.h"
#include "esphome/components/light/light_output.h"
#include "esphome/core/component.h"
namespace esphome {
namespace ratgdo {
class RATGDOLightOutput : public light::LightOutput, public RATGDOClient, public Component {
public:
void dump_config() override;
void setup() override;
2023-06-07 13:27:01 -05:00
light::LightTraits get_traits() override;
2023-06-07 13:34:19 -05:00
void write_state(light::LightState* state) override;
2023-06-07 20:46:44 -05:00
void setup_state(light::LightState* state) override;
2023-06-09 16:45:49 -05:00
void set_state(esphome::ratgdo::LightState state);
2023-06-07 17:14:35 -05:00
light::LightState* get_state() { return this->light_state_; }
2023-06-07 13:27:01 -05:00
void on_light_state(esphome::ratgdo::LightState state);
2023-06-07 13:27:01 -05:00
protected:
2023-06-07 17:14:35 -05:00
light::LightState* light_state_;
2023-06-09 16:51:34 -05:00
bool has_initial_state_ = false;
2023-06-07 13:27:01 -05:00
};
} // namespace ratgdo
} // namespace esphome