LightHub 4.6.0
Open-source smart home controller firmware
Loading...
Searching...
No Matches
abstractch.h
Go to the documentation of this file.
1#pragma once
2#include "Arduino.h"
3
11#define CST_UNKNOWN 0
12#define CST_FAILED 1
13#define CST_INITIALIZED 2
14#define CST_USER 3
15
27public:
29 virtual ~abstractCh(){};
34 virtual int Poll(short cause) {return 0;}
36 virtual int Setup() =0; //Should initialize hardware and reserve resources
37 // virtual int Anounce () {return 0;};
39 virtual int Stop() {return 0;}; //Should free resources
41 virtual int Status() {return CST_UNKNOWN;}
43 virtual void setStatus(uint8_t status) {}
44
45
46protected:
52int publishTopic(const char* topic, long value, const char* subtopic = NULL);
54int publishTopic(const char* topic, float value, const char* subtopic = NULL );
56int publishTopic(const char* topic, const char * value, const char* subtopic = NULL, const char* suffix = NULL);
57
58};
#define CST_UNKNOWN
Definition abstractch.h:11
int publishTopic(const char *topic, long value, const char *subtopic=NULL)
Definition abstractch.cpp:17
virtual ~abstractCh()
Definition abstractch.h:29
virtual void setStatus(uint8_t status)
Definition abstractch.h:43
abstractCh()
Definition abstractch.h:28
virtual int Poll(short cause)
Definition abstractch.h:34
virtual int Setup()=0
virtual int Status()
Definition abstractch.h:41
virtual int Stop()
Definition abstractch.h:39