32 lines
907 B
C
Raw Permalink Normal View History

2023-06-07 09:49:24 -05:00
#pragma once
#include "esphome/core/helpers.h"
2023-06-07 09:59:09 -05:00
#include "ratgdo.h"
2023-06-07 10:06:51 -05:00
#include "ratgdo_state.h"
2023-06-07 09:49:24 -05:00
namespace esphome {
namespace ratgdo {
2023-06-07 09:51:22 -05:00
// Forward declare RATGDOComponent
class RATGDOComponent;
2023-06-07 10:02:53 -05:00
2023-06-07 09:51:22 -05:00
class RATGDOClient : public Parented<RATGDOComponent> {
public:
2023-06-07 17:51:44 -05:00
virtual void on_door_state(DoorState state);
virtual void on_light_state(LightState state);
virtual void on_lock_state(LockState state);
virtual void on_motion_state(MotionState state);
virtual void on_obstruction_state(ObstructionState state);
2023-06-07 21:40:07 -05:00
virtual void on_motor_state(MotorState state);
2023-06-07 17:59:08 -05:00
virtual void on_rolling_code_change(uint32_t rollingCodeCounter);
2023-06-09 17:36:56 -05:00
virtual void on_openings_change(uint32_t openings);
2023-06-09 18:07:11 -05:00
virtual void on_button_state(ButtonState state);
2023-06-07 09:49:24 -05:00
2023-06-07 09:51:22 -05:00
protected:
friend RATGDOComponent;
};
2023-06-07 09:49:24 -05:00
2023-06-07 09:51:22 -05:00
} // namespace ratgdo
} // namespace esphome