21 lines
474 B
C++
21 lines
474 B
C++
|
#pragma once
|
||
|
|
||
|
#include <HAControllableDevice.hpp>
|
||
|
|
||
|
class HALightController {
|
||
|
public:
|
||
|
virtual void setState(bool state) = 0;
|
||
|
virtual bool getState() = 0;
|
||
|
};
|
||
|
|
||
|
class HALight : public HAControllableDevice {
|
||
|
private:
|
||
|
HALightController *light;
|
||
|
|
||
|
public:
|
||
|
HALight(PubSubClient &client, const char *name, const char *unique_id,
|
||
|
HALightController &baseLight);
|
||
|
void handle(char *topic, byte *payload, unsigned int length);
|
||
|
void sendConfig();
|
||
|
void sendState();
|
||
|
};
|