30class RelayHvacAggregator :
public Element {
35 uint32_t lastSeenTimestamp = 0;
38 static RelayHvacAggregator *GetInstance(
int relayChannelNumber);
39 static RelayHvacAggregator *Add(
int relayChannelNumber,
Relay *relay);
40 static bool Remove(
int relayChannelNumber);
41 static void UnregisterHvac(
HvacBase *hvac);
45 bool isHvacRegistered(
HvacBase *hvac)
const;
46 int getHvacCount()
const;
49 void setTurnOffWhenEmpty(
bool turnOffWhenEmpty);
51 void setInternalStateCheckInterval(uint32_t intervalMs);
54 explicit RelayHvacAggregator(
int relayChannelNumber,
Relay *relay);
55 virtual ~RelayHvacAggregator();
58 RelayHvacAggregator *nextPtr =
nullptr;
59 HvacPtr *firstHvacPtr =
nullptr;
60 Relay *relay =
nullptr;
61 int relayChannelNumber = 0;
62 uint32_t lastUpdateTimestamp = 0;
63 uint32_t lastStateUpdateTimestamp = 0;
64 uint32_t relayInternalStateCheckIntervalMs = 10000;
65 bool turnOffWhenEmpty =
true;
66 int8_t lastValueSend = -1;
67 int8_t lastRelayState = -1;