Newer
Older
#ifndef SHACTUATOR_H
#define SHACTUATOR_H
#include <QTcpSocket>
class SHactuator : public SHsensor
{
public:
enum class State {UNKOWN=-1, OFF, ON};
SHactuator(int nid, int powerDemand, SensorType sid=SensorType::Switch, QString url="");
SHactuator(int nid, int powerDemand, QString url="");
virtual void setValue(const QString &payl) override;
void ON();
void OFF();
void set(State state);
State switchState() const;
int powerDemand() const;
static void setSocket(QTcpSocket *newSocket);
static void setSerial(QSerialPort *newSerial);
// Gateway Verbindung
static QTcpSocket * m_socket;
State m_switchState = State::UNKOWN; // vom Switch empfangen
State m_assignedState = State::UNKOWN; // von SolarControl gesetzt
int m_powerDemand;
bool m_ignoreF3error; // Für Controlled Switches: Solange noch kein process() (d.h. ON() oder OFF()) gelaufen ist, kein Konsistenz-Check