no poll-ack for remote thermostat

This commit is contained in:
MichaelDvP
2024-04-15 09:08:05 +02:00
parent 3c5790639e
commit 4d400bd7ce
2 changed files with 22 additions and 19 deletions

View File

@@ -24,19 +24,21 @@ namespace emsesp {
class Roomctrl {
public:
// Product-Id of the remote
enum RemoteType : uint8_t { NONE = 0, RC20 = 113, FB10 = 109, RC100H = 200, SENSOR = 0x40, RC200 = 157, RC100 = 165 };
static void send(uint8_t addr);
static void check(uint8_t addr, const uint8_t * data, const uint8_t length);
static void set_remotetemp(const uint8_t type, const uint8_t hc, const int16_t temp);
static void set_remotehum(const uint8_t type, const uint8_t hc, const int8_t hum);
enum : uint8_t { RC20 = 113, FB10 = 109, RC100H = 200, SENSOR = 0x40, RC200 = 157, RC100 = 165 };
static bool is_remote(const uint8_t hc) {
return (hc < 4 && remotetemp_[hc] != EMS_VALUE_SHORT_NOTSET);
}
private:
static constexpr uint8_t ADDR = 0x18; // address for hc1
static constexpr uint32_t SEND_INTERVAL = 15000; // ~1/4 minute
static constexpr uint32_t SEND_INTERVAL = 15000; // 15 sec
static constexpr uint8_t HCS = 4; // max 4 heating circuits
enum SendType : uint8_t { TEMP, HUMI };
static uint8_t get_hc(const uint8_t addr);
static void version(uint8_t addr, uint8_t dst, uint8_t hc);
@@ -52,7 +54,7 @@ class Roomctrl {
static uint32_t rc_time_[HCS];
static int16_t remotetemp_[HCS];
static uint8_t remotehum_[HCS];
static uint8_t sendcnt[HCS];
static uint8_t sendtype_[HCS];
static uint8_t type_[HCS]; // type is product-id 113 for RC20 or 109 for Junkers FB10
};