mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
HIU heating/tapwater-active, always use EMSdevice:: for flags
This commit is contained in:
@@ -179,7 +179,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
DeviceValueUOM::DEGREES);
|
DeviceValueUOM::DEGREES);
|
||||||
|
|
||||||
// exclude burner related entities from heatpump and HIU
|
// exclude burner related entities from heatpump and HIU
|
||||||
if (model() != EMS_DEVICE_FLAG_HEATPUMP && model() != EMS_DEVICE_FLAG_HIU) {
|
if (model() != EMSdevice::EMS_DEVICE_FLAG_HEATPUMP && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&exhaustTemp_,
|
&exhaustTemp_,
|
||||||
DeviceValueType::USHORT,
|
DeviceValueType::USHORT,
|
||||||
@@ -367,7 +367,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// heatpump info
|
// heatpump info
|
||||||
if (model() == EMS_DEVICE_FLAG_HEATPUMP) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_HEATPUMP) {
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&nrgTotal_,
|
&nrgTotal_,
|
||||||
DeviceValueType::ULONG,
|
DeviceValueType::ULONG,
|
||||||
@@ -945,7 +945,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
EMSESP::send_read_request(0xC2, device_id); // read last errorcode on start (only published on errors)
|
EMSESP::send_read_request(0xC2, device_id); // read last errorcode on start (only published on errors)
|
||||||
|
|
||||||
|
|
||||||
if (model() != EMS_DEVICE_FLAG_HEATPUMP && model() != EMS_DEVICE_FLAG_HIU) {
|
if (model() != EMSdevice::EMS_DEVICE_FLAG_HEATPUMP && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||||
register_telegram_type(0x04, "UBAFactory", true, MAKE_PF_CB(process_UBAFactory));
|
register_telegram_type(0x04, "UBAFactory", true, MAKE_PF_CB(process_UBAFactory));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &nomPower_, DeviceValueType::UINT, FL_(nomPower), DeviceValueUOM::KW, MAKE_CF_CB(set_nomPower));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &nomPower_, DeviceValueType::UINT, FL_(nomPower), DeviceValueUOM::KW, MAKE_CF_CB(set_nomPower));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
@@ -1066,7 +1066,7 @@ void Boiler::check_active() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// calculate energy for boiler 0x08 from stored modulation an time in units of 0.01 Wh
|
// calculate energy for boiler 0x08 from stored modulation an time in units of 0.01 Wh
|
||||||
if (model() != EMS_DEVICE_FLAG_HEATPUMP) {
|
if (model() != EMSdevice::EMS_DEVICE_FLAG_HEATPUMP && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||||
// remember values from last call
|
// remember values from last call
|
||||||
static uint32_t powLastReadTime_ = uuid::get_uptime();
|
static uint32_t powLastReadTime_ = uuid::get_uptime();
|
||||||
static uint8_t heatBurnPow = 0;
|
static uint8_t heatBurnPow = 0;
|
||||||
@@ -1309,7 +1309,7 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr<const Telegram> telegram
|
|||||||
|
|
||||||
// at this point do a quick check to see if the hot water or heating is active
|
// at this point do a quick check to see if the hot water or heating is active
|
||||||
uint8_t state = EMS_VALUE_UINT_NOTSET;
|
uint8_t state = EMS_VALUE_UINT_NOTSET;
|
||||||
if (telegram->read_value(state, 11)) {
|
if (telegram->read_value(state, 11) && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||||
boilerState_ = state & 0x01 ? 0x08 : 0;
|
boilerState_ = state & 0x01 ? 0x08 : 0;
|
||||||
boilerState_ |= state & 0x02 ? 0x01 : 0;
|
boilerState_ |= state & 0x02 ? 0x01 : 0;
|
||||||
boilerState_ |= state & 0x04 ? 0x02 : 0;
|
boilerState_ |= state & 0x04 ? 0x02 : 0;
|
||||||
@@ -1348,6 +1348,17 @@ void Boiler::process_UBAMonitorSlow(std::shared_ptr<const Telegram> telegram) {
|
|||||||
*/
|
*/
|
||||||
void Boiler::process_UBAMonitorSlowPlus2(std::shared_ptr<const Telegram> telegram) {
|
void Boiler::process_UBAMonitorSlowPlus2(std::shared_ptr<const Telegram> telegram) {
|
||||||
has_update(telegram, absBurnPow_, 13); // current burner absolute power (percent of rating plate power)
|
has_update(telegram, absBurnPow_, 13); // current burner absolute power (percent of rating plate power)
|
||||||
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||||
|
uint8_t state = EMS_VALUE_UINT_NOTSET;
|
||||||
|
boilerState_ = 0;
|
||||||
|
if (telegram->read_value(state, 2)) {
|
||||||
|
boilerState_ |= state == 1 ? 0x09 : 0; // heating 0/1
|
||||||
|
}
|
||||||
|
state = EMS_VALUE_UINT_NOTSET;
|
||||||
|
if (telegram->read_value(state, 5)) {
|
||||||
|
boilerState_ |= state == 1 ? 0x0A : 0; // dhw 0/1
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i
|
|||||||
register_telegram_type(monitor_typeids[i], "JunkersMonitor", false, MAKE_PF_CB(process_JunkersMonitor));
|
register_telegram_type(monitor_typeids[i], "JunkersMonitor", false, MAKE_PF_CB(process_JunkersMonitor));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
// FR120, FR100
|
// FR120, FR100
|
||||||
set_typeids = {0x0179, 0x017A, 0x017B, 0x017C};
|
set_typeids = {0x0179, 0x017A, 0x017B, 0x017C};
|
||||||
for (uint8_t i = 0; i < monitor_typeids.size(); i++) {
|
for (uint8_t i = 0; i < monitor_typeids.size(); i++) {
|
||||||
@@ -517,7 +517,7 @@ uint8_t Thermostat::HeatingCircuit::get_mode() const {
|
|||||||
uint8_t Thermostat::HeatingCircuit::get_mode_type() const {
|
uint8_t Thermostat::HeatingCircuit::get_mode_type() const {
|
||||||
uint8_t model = get_model();
|
uint8_t model = get_model();
|
||||||
|
|
||||||
if (model == EMS_DEVICE_FLAG_JUNKERS) {
|
if (model == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
||||||
if (modetype == 2) {
|
if (modetype == 2) {
|
||||||
return HeatingCircuit::Mode::HEAT;
|
return HeatingCircuit::Mode::HEAT;
|
||||||
} else if (modetype == 1) {
|
} else if (modetype == 1) {
|
||||||
@@ -525,25 +525,25 @@ uint8_t Thermostat::HeatingCircuit::get_mode_type() const {
|
|||||||
} else if (modetype == 0) {
|
} else if (modetype == 0) {
|
||||||
return HeatingCircuit::Mode::NOFROST;
|
return HeatingCircuit::Mode::NOFROST;
|
||||||
}
|
}
|
||||||
} else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30_N)) {
|
} else if ((model == EMSdevice::EMS_DEVICE_FLAG_RC35) || (model == EMSdevice::EMS_DEVICE_FLAG_RC30_N)) {
|
||||||
if (modetype == 0) {
|
if (modetype == 0) {
|
||||||
return HeatingCircuit::Mode::NIGHT;
|
return HeatingCircuit::Mode::NIGHT;
|
||||||
} else if (modetype == 1) {
|
} else if (modetype == 1) {
|
||||||
return HeatingCircuit::Mode::DAY;
|
return HeatingCircuit::Mode::DAY;
|
||||||
}
|
}
|
||||||
} else if (model == EMS_DEVICE_FLAG_CRF) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_CRF) {
|
||||||
if (modetype == 0) {
|
if (modetype == 0) {
|
||||||
return HeatingCircuit::Mode::OFF;
|
return HeatingCircuit::Mode::OFF;
|
||||||
} else if (modetype == 1) {
|
} else if (modetype == 1) {
|
||||||
return HeatingCircuit::Mode::ON;
|
return HeatingCircuit::Mode::ON;
|
||||||
}
|
}
|
||||||
} else if ((model == EMS_DEVICE_FLAG_BC400) || (model == EMS_DEVICE_FLAG_RC300)) {
|
} else if ((model == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model == EMSdevice::EMS_DEVICE_FLAG_RC300)) {
|
||||||
if (modetype == 0) {
|
if (modetype == 0) {
|
||||||
return HeatingCircuit::Mode::ECO;
|
return HeatingCircuit::Mode::ECO;
|
||||||
} else if (modetype == 1) {
|
} else if (modetype == 1) {
|
||||||
return HeatingCircuit::Mode::COMFORT;
|
return HeatingCircuit::Mode::COMFORT;
|
||||||
}
|
}
|
||||||
} else if (model == EMS_DEVICE_FLAG_RC100) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
return HeatingCircuit::Mode::DAY; // no other modes on these devices
|
return HeatingCircuit::Mode::DAY; // no other modes on these devices
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1146,7 +1146,7 @@ void Thermostat::process_RC300WWmode(std::shared_ptr<const Telegram> telegram) {
|
|||||||
// circulation pump see: https://github.com/Th3M3/buderus_ems-wiki/blob/master/Einstellungen%20der%20Bedieneinheit%20RC310.md
|
// circulation pump see: https://github.com/Th3M3/buderus_ems-wiki/blob/master/Einstellungen%20der%20Bedieneinheit%20RC310.md
|
||||||
has_update(telegram, wwCircPump_, 1); // FF=off, 0=on ?
|
has_update(telegram, wwCircPump_, 1); // FF=off, 0=on ?
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_BC400) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400) {
|
||||||
const uint8_t modes[] = {0, 5, 1, 2, 4}; // off, eco+, eco, comfort, auto
|
const uint8_t modes[] = {0, 5, 1, 2, 4}; // off, eco+, eco, comfort, auto
|
||||||
uint8_t wwmode = wwMode_ < sizeof(modes) ? modes[wwMode_] : EMS_VALUE_UINT_NOTSET;
|
uint8_t wwmode = wwMode_ < sizeof(modes) ? modes[wwMode_] : EMS_VALUE_UINT_NOTSET;
|
||||||
telegram->read_value(wwmode, 2);
|
telegram->read_value(wwmode, 2);
|
||||||
@@ -1355,7 +1355,7 @@ void Thermostat::process_RC35Set(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, hc->minflowtemp, 16);
|
has_update(telegram, hc->minflowtemp, 16);
|
||||||
|
|
||||||
// RC35 stores values for floorheating in different position
|
// RC35 stores values for floorheating in different position
|
||||||
if (hc->heatingtype == 3 && model() == EMS_DEVICE_FLAG_RC35) {
|
if (hc->heatingtype == 3 && model() == EMSdevice::EMS_DEVICE_FLAG_RC35) {
|
||||||
has_update(telegram, hc->designtemp, 36); // is * 1
|
has_update(telegram, hc->designtemp, 36); // is * 1
|
||||||
has_update(telegram, hc->maxflowtemp, 35); // is * 1
|
has_update(telegram, hc->maxflowtemp, 35); // is * 1
|
||||||
} else { // radiator/convector
|
} else { // radiator/convector
|
||||||
@@ -1378,14 +1378,14 @@ void Thermostat::process_RC35Timer(std::shared_ptr<const Telegram> telegram) {
|
|||||||
char data[sizeof(hc->switchtime1)];
|
char data[sizeof(hc->switchtime1)];
|
||||||
uint8_t no = telegram->offset / 2;
|
uint8_t no = telegram->offset / 2;
|
||||||
uint8_t day = telegram->message_data[0] >> 5;
|
uint8_t day = telegram->message_data[0] >> 5;
|
||||||
uint8_t on = model() == EMS_DEVICE_FLAG_RC30 ? telegram->message_data[0] & 7 : telegram->message_data[0] & 1;
|
uint8_t on = model() == EMSdevice::EMS_DEVICE_FLAG_RC30 ? telegram->message_data[0] & 7 : telegram->message_data[0] & 1;
|
||||||
uint8_t time = telegram->message_data[1];
|
uint8_t time = telegram->message_data[1];
|
||||||
|
|
||||||
// we use EN settings for the day abbreviation
|
// we use EN settings for the day abbreviation
|
||||||
auto sday = (FL_(enum_dayOfWeek)[day][0]);
|
auto sday = (FL_(enum_dayOfWeek)[day][0]);
|
||||||
if (day == 7) {
|
if (day == 7) {
|
||||||
snprintf(data, sizeof(data), "%02d not_set", no);
|
snprintf(data, sizeof(data), "%02d not_set", no);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
snprintf(data, sizeof(data), "%02d %s %02d:%02d T%d", no, sday, time / 6, 10 * (time % 6), on);
|
snprintf(data, sizeof(data), "%02d %s %02d:%02d T%d", no, sday, time / 6, 10 * (time % 6), on);
|
||||||
} else {
|
} else {
|
||||||
snprintf(data, sizeof(data), "%02d %s %02d:%02d %s", no, sday, time / 6, 10 * (time % 6), on ? "on" : "off");
|
snprintf(data, sizeof(data), "%02d %s %02d:%02d %s", no, sday, time / 6, 10 * (time % 6), on ? "on" : "off");
|
||||||
@@ -1441,7 +1441,7 @@ void Thermostat::process_RCTime(std::shared_ptr<const Telegram> telegram) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags() == EMS_DEVICE_FLAG_EASY) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_EASY) {
|
||||||
return; // not supported
|
return; // not supported
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1702,9 +1702,9 @@ bool Thermostat::set_minexttemp(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_RC20_N) || (model() == EMS_DEVICE_FLAG_RC25)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC20_N) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC25)) {
|
||||||
write_command(0xAD, 14, mt, 0xAD);
|
write_command(0xAD, 14, mt, 0xAD);
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
write_command(0x240, 10, mt, 0x240);
|
write_command(0x240, 10, mt, 0x240);
|
||||||
} else {
|
} else {
|
||||||
write_command(EMS_TYPE_IBASettings, 5, mt, EMS_TYPE_IBASettings);
|
write_command(EMS_TYPE_IBASettings, 5, mt, EMS_TYPE_IBASettings);
|
||||||
@@ -1720,7 +1720,7 @@ bool Thermostat::set_clockoffset(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC30) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30Settings, 10, co, EMS_TYPE_RC30Settings);
|
write_command(EMS_TYPE_RC30Settings, 10, co, EMS_TYPE_RC30Settings);
|
||||||
} else {
|
} else {
|
||||||
write_command(EMS_TYPE_IBASettings, 12, co, EMS_TYPE_IBASettings);
|
write_command(EMS_TYPE_IBASettings, 12, co, EMS_TYPE_IBASettings);
|
||||||
@@ -1739,13 +1739,13 @@ bool Thermostat::set_calinttemp(const char * value, const int8_t id) {
|
|||||||
auto t = (int8_t)(ct * 10);
|
auto t = (int8_t)(ct * 10);
|
||||||
LOG_DEBUG("Calibrating internal temperature to %d.%d C", t / 10, t < 0 ? -t % 10 : t % 10);
|
LOG_DEBUG("Calibrating internal temperature to %d.%d C", t / 10, t < 0 ? -t % 10 : t % 10);
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC10) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
||||||
write_command(0xB0, 0, t, 0xB0);
|
write_command(0xB0, 0, t, 0xB0);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30Settings, 1, t, EMS_TYPE_RC30Settings);
|
write_command(EMS_TYPE_RC30Settings, 1, t, EMS_TYPE_RC30Settings);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC100H) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC100H) {
|
||||||
write_command(0x273, 0, t, 0x273);
|
write_command(0x273, 0, t, 0x273);
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_BC400) || model() == EMS_DEVICE_FLAG_RC100 || model() == EMS_DEVICE_FLAG_RC300) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC100 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
||||||
write_command(0x240, 7, t, 0x240);
|
write_command(0x240, 7, t, 0x240);
|
||||||
} else {
|
} else {
|
||||||
write_command(EMS_TYPE_IBASettings, 2, t, EMS_TYPE_IBASettings);
|
write_command(EMS_TYPE_IBASettings, 2, t, EMS_TYPE_IBASettings);
|
||||||
@@ -1800,7 +1800,7 @@ bool Thermostat::set_remotetemp(const char * value, const int8_t id) {
|
|||||||
Roomctrl::set_remotetemp(Roomctrl::FB10, hc->hc(), hc->remotetemp); // FB10
|
Roomctrl::set_remotetemp(Roomctrl::FB10, hc->hc(), hc->remotetemp); // FB10
|
||||||
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
||||||
Roomctrl::set_remotetemp(Roomctrl::RC20, hc->hc(), hc->remotetemp); // RC20
|
Roomctrl::set_remotetemp(Roomctrl::RC20, hc->hc(), hc->remotetemp); // RC20
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
||||||
Roomctrl::set_remotetemp(Roomctrl::RC100H, hc->hc(), hc->remotetemp); // RC100H
|
Roomctrl::set_remotetemp(Roomctrl::RC100H, hc->hc(), hc->remotetemp); // RC100H
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1825,7 +1825,7 @@ bool Thermostat::set_remotehum(const char * value, const int8_t id) {
|
|||||||
hc->remotehum = h;
|
hc->remotehum = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
||||||
Roomctrl::set_remotehum(Roomctrl::RC100H, hc->hc(), hc->remotehum); // RC100H
|
Roomctrl::set_remotehum(Roomctrl::RC100H, hc->hc(), hc->remotehum); // RC100H
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1839,9 +1839,9 @@ bool Thermostat::set_building(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
write_command(0x240, 9, bd + 1, 0x240);
|
write_command(0x240, 9, bd + 1, 0x240);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30Settings, 4, bd, EMS_TYPE_RC30Settings);
|
write_command(EMS_TYPE_RC30Settings, 4, bd, EMS_TYPE_RC30Settings);
|
||||||
} else {
|
} else {
|
||||||
write_command(EMS_TYPE_IBASettings, 6, bd, EMS_TYPE_IBASettings);
|
write_command(EMS_TYPE_IBASettings, 6, bd, EMS_TYPE_IBASettings);
|
||||||
@@ -1857,9 +1857,9 @@ bool Thermostat::set_heatingpid(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC10) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
||||||
write_command(0xB0, 6, pid, 0xB0);
|
write_command(0xB0, 6, pid, 0xB0);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30Settings, 25, pid, EMS_TYPE_RC30Settings);
|
write_command(EMS_TYPE_RC30Settings, 25, pid, EMS_TYPE_RC30Settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1869,7 +1869,7 @@ bool Thermostat::set_heatingpid(const char * value, const int8_t id) {
|
|||||||
// 0xA5 and 0x0240- Set the damping settings
|
// 0xA5 and 0x0240- Set the damping settings
|
||||||
bool Thermostat::set_damping(const char * value, const int8_t id) {
|
bool Thermostat::set_damping(const char * value, const int8_t id) {
|
||||||
bool dmp;
|
bool dmp;
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || model() == EMS_DEVICE_FLAG_RC300) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
||||||
if (Helpers::value2bool(value, dmp)) {
|
if (Helpers::value2bool(value, dmp)) {
|
||||||
write_command(0x240, 8, dmp ? 0xFF : 0, 0x240);
|
write_command(0x240, 8, dmp ? 0xFF : 0, 0x240);
|
||||||
return true;
|
return true;
|
||||||
@@ -1887,7 +1887,7 @@ bool Thermostat::set_damping(const char * value, const int8_t id) {
|
|||||||
bool Thermostat::set_language(const char * value, const int8_t id) {
|
bool Thermostat::set_language(const char * value, const int8_t id) {
|
||||||
uint8_t lg;
|
uint8_t lg;
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC30) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
if (!Helpers::value2enum(value, lg, FL_(enum_ibaLanguage_RC30))) {
|
if (!Helpers::value2enum(value, lg, FL_(enum_ibaLanguage_RC30))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1911,12 +1911,12 @@ bool Thermostat::set_control(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t ctrl;
|
uint8_t ctrl;
|
||||||
if (model() == EMS_DEVICE_FLAG_JUNKERS && !has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS && !has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
if (Helpers::value2enum(value, ctrl, FL_(enum_j_control))) {
|
if (Helpers::value2enum(value, ctrl, FL_(enum_j_control))) {
|
||||||
write_command(set_typeids[hc->hc()], 1, ctrl);
|
write_command(set_typeids[hc->hc()], 1, ctrl);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_BC400 || model() == EMS_DEVICE_FLAG_RC300 || model() == EMS_DEVICE_FLAG_RC100) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300 || model() == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
if (Helpers::value2enum(value, ctrl, FL_(enum_control1))) {
|
if (Helpers::value2enum(value, ctrl, FL_(enum_control1))) {
|
||||||
write_command(hpmode_typeids[hc->hc()], 3, ctrl);
|
write_command(hpmode_typeids[hc->hc()], 3, ctrl);
|
||||||
return true;
|
return true;
|
||||||
@@ -1938,7 +1938,7 @@ bool Thermostat::set_roomsensor(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t ctrl;
|
uint8_t ctrl;
|
||||||
if (model() == EMS_DEVICE_FLAG_JUNKERS && !has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS && !has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
if (Helpers::value2enum(value, ctrl, FL_(enum_roomsensor))) {
|
if (Helpers::value2enum(value, ctrl, FL_(enum_roomsensor))) {
|
||||||
write_command(set_typeids[hc->hc()], 9, ctrl + 1);
|
write_command(set_typeids[hc->hc()], 9, ctrl + 1);
|
||||||
return true;
|
return true;
|
||||||
@@ -1951,23 +1951,23 @@ bool Thermostat::set_roomsensor(const char * value, const int8_t id) {
|
|||||||
bool Thermostat::set_wwmode(const char * value, const int8_t id) {
|
bool Thermostat::set_wwmode(const char * value, const int8_t id) {
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC10) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
||||||
if (!Helpers::value2enum(value, set, FL_(enum_wwMode3))) {
|
if (!Helpers::value2enum(value, set, FL_(enum_wwMode3))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
write_command(0xB0, 2, set, 0xB0);
|
write_command(0xB0, 2, set, 0xB0);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_BC400) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400) {
|
||||||
if (!Helpers::value2enum(value, set, FL_(enum_wwMode4))) {
|
if (!Helpers::value2enum(value, set, FL_(enum_wwMode4))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const uint8_t modes[] = {0, 5, 1, 2, 4};
|
const uint8_t modes[] = {0, 5, 1, 2, 4};
|
||||||
write_command(0x02F5, 2, modes[set], 0x02F5);
|
write_command(0x02F5, 2, modes[set], 0x02F5);
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
if (!Helpers::value2enum(value, set, FL_(enum_wwMode))) {
|
if (!Helpers::value2enum(value, set, FL_(enum_wwMode))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
write_command(0x02F5, 2, set, 0x02F5);
|
write_command(0x02F5, 2, set, 0x02F5);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
if (!Helpers::value2enum(value, set, FL_(enum_wwMode3))) {
|
if (!Helpers::value2enum(value, set, FL_(enum_wwMode3))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2025,7 +2025,7 @@ bool Thermostat::set_wwcharge(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_JUNKERS)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS)) {
|
||||||
write_command(0x0115, 0, b ? 0xFF : 0x00, 0x01D3);
|
write_command(0x0115, 0, b ? 0xFF : 0x00, 0x01D3);
|
||||||
} else {
|
} else {
|
||||||
write_command(0x02F5, 11, b ? 0xFF : 0x00, 0x02F5);
|
write_command(0x02F5, 11, b ? 0xFF : 0x00, 0x02F5);
|
||||||
@@ -2058,7 +2058,7 @@ bool Thermostat::set_wwprio(const char * value, const int8_t id) {
|
|||||||
if (!Helpers::value2bool(value, b)) {
|
if (!Helpers::value2bool(value, b)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300)) {
|
||||||
write_command(set2_typeids[hc->hc()], 3, b ? 0xFF : 0x00, set2_typeids[hc->hc()]);
|
write_command(set2_typeids[hc->hc()], 3, b ? 0xFF : 0x00, set2_typeids[hc->hc()]);
|
||||||
} else {
|
} else {
|
||||||
write_command(set_typeids[hc->hc()], 21, b ? 0xFF : 0x00, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 21, b ? 0xFF : 0x00, set_typeids[hc->hc()]);
|
||||||
@@ -2086,7 +2086,7 @@ bool Thermostat::set_cooling(const char * value, const int8_t id) {
|
|||||||
bool Thermostat::set_wwcircmode(const char * value, const int8_t id) {
|
bool Thermostat::set_wwcircmode(const char * value, const int8_t id) {
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
if (!Helpers::value2enum(value, set, FL_(enum_wwCircMode))) {
|
if (!Helpers::value2enum(value, set, FL_(enum_wwCircMode))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2118,7 +2118,7 @@ bool Thermostat::set_wwDailyHeatTime(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
uint8_t t = (set + 8) / 15;
|
uint8_t t = (set + 8) / 15;
|
||||||
if (t > 95) {
|
if (t > 95) {
|
||||||
return false;
|
return false;
|
||||||
@@ -2135,9 +2135,9 @@ bool Thermostat::set_wwDisinfect(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
write_command(0x2F5, 5, b ? 0xFF : 0x00, 0x2F5);
|
write_command(0x2F5, 5, b ? 0xFF : 0x00, 0x2F5);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30wwSettings, 2, b ? 0xFF : 0x00, EMS_TYPE_RC30wwSettings);
|
write_command(EMS_TYPE_RC30wwSettings, 2, b ? 0xFF : 0x00, EMS_TYPE_RC30wwSettings);
|
||||||
} else {
|
} else {
|
||||||
write_command(0x37, 4, b ? 0xFF : 0x00, 0x37);
|
write_command(0x37, 4, b ? 0xFF : 0x00, 0x37);
|
||||||
@@ -2152,9 +2152,9 @@ bool Thermostat::set_wwDisinfectDay(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
write_command(0x2F5, 7, set, 0x2F5);
|
write_command(0x2F5, 7, set, 0x2F5);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30wwSettings, 3, set, EMS_TYPE_RC30wwSettings);
|
write_command(EMS_TYPE_RC30wwSettings, 3, set, EMS_TYPE_RC30wwSettings);
|
||||||
} else {
|
} else {
|
||||||
write_command(0x37, 5, set, 0x37);
|
write_command(0x37, 5, set, 0x37);
|
||||||
@@ -2165,12 +2165,12 @@ bool Thermostat::set_wwDisinfectDay(const char * value, const int8_t id) {
|
|||||||
|
|
||||||
bool Thermostat::set_wwDisinfectHour(const char * value, const int8_t id) {
|
bool Thermostat::set_wwDisinfectHour(const char * value, const int8_t id) {
|
||||||
int set;
|
int set;
|
||||||
if ((model() == EMS_DEVICE_FLAG_BC400) || (model() == EMS_DEVICE_FLAG_RC300) || (model() == EMS_DEVICE_FLAG_RC100)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_BC400) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
if (!Helpers::value2number(value, set, 0, 1431)) {
|
if (!Helpers::value2number(value, set, 0, 1431)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
write_command(0x2F5, 6, (set + 8) / 15, 0x2F5);
|
write_command(0x2F5, 6, (set + 8) / 15, 0x2F5);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
if (!Helpers::value2number(value, set, 0, 23)) {
|
if (!Helpers::value2number(value, set, 0, 23)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2197,7 +2197,7 @@ bool Thermostat::set_wwMaxTemp(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool Thermostat::set_wwOneTimeKey(const char * value, const int8_t id) {
|
bool Thermostat::set_wwOneTimeKey(const char * value, const int8_t id) {
|
||||||
bool b = false;
|
bool b;
|
||||||
if (!Helpers::value2bool(value, b)) {
|
if (!Helpers::value2bool(value, b)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2214,7 +2214,7 @@ bool Thermostat::set_backlight(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model() == EMS_DEVICE_FLAG_RC30) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(EMS_TYPE_RC30Settings, 12, b ? 0xFF : 0x00, EMS_TYPE_RC30Settings);
|
write_command(EMS_TYPE_RC30Settings, 12, b ? 0xFF : 0x00, EMS_TYPE_RC30Settings);
|
||||||
} else {
|
} else {
|
||||||
write_command(0xB0, 1, b ? 0xFF : 0x00, 0xB0);
|
write_command(0xB0, 1, b ? 0xFF : 0x00, 0xB0);
|
||||||
@@ -2601,7 +2601,7 @@ bool Thermostat::set_mode_n(const uint8_t mode, const uint8_t hc_num) {
|
|||||||
set_mode_value = set_mode_value == 2 ? 0xFF : 0;
|
set_mode_value = set_mode_value == 2 ? 0xFF : 0;
|
||||||
break;
|
break;
|
||||||
case EMSdevice::EMS_DEVICE_FLAG_JUNKERS:
|
case EMSdevice::EMS_DEVICE_FLAG_JUNKERS:
|
||||||
if (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
offset = EMS_OFFSET_JunkersSetMessage2_set_mode;
|
offset = EMS_OFFSET_JunkersSetMessage2_set_mode;
|
||||||
} else {
|
} else {
|
||||||
offset = EMS_OFFSET_JunkersSetMessage_set_mode;
|
offset = EMS_OFFSET_JunkersSetMessage_set_mode;
|
||||||
@@ -2629,7 +2629,7 @@ bool Thermostat::set_mode_n(const uint8_t mode, const uint8_t hc_num) {
|
|||||||
// set hc->mode temporary until validate is received
|
// set hc->mode temporary until validate is received
|
||||||
if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
||||||
hc->mode = set_mode_value >> 1;
|
hc->mode = set_mode_value >> 1;
|
||||||
} else if (model_ == EMS_DEVICE_FLAG_BC400) {
|
} else if (model_ == EMSdevice::EMS_DEVICE_FLAG_BC400) {
|
||||||
hc->mode_new = set_mode_value;
|
hc->mode_new = set_mode_value;
|
||||||
} else if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC300 || model_ == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
} else if (model_ == EMSdevice::EMS_DEVICE_FLAG_RC300 || model_ == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
hc->mode = set_mode_value == 0xFF ? 1 : 0;
|
hc->mode = set_mode_value == 0xFF ? 1 : 0;
|
||||||
@@ -2782,7 +2782,7 @@ bool Thermostat::set_reducemode(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
if (model() == EMS_DEVICE_FLAG_BC400 || model() == EMS_DEVICE_FLAG_RC300 || model() == EMS_DEVICE_FLAG_RC100) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300 || model() == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_reducemode1))) {
|
if (Helpers::value2enum(value, set, FL_(enum_reducemode1))) {
|
||||||
write_command(set_typeids[hc->hc()], 5, set + 1, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 5, set + 1, set_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
@@ -2822,7 +2822,7 @@ bool Thermostat::set_nofrostmode(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
if (model() == EMS_DEVICE_FLAG_BC400 || model() == EMS_DEVICE_FLAG_RC300 || model() == EMS_DEVICE_FLAG_RC100) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300 || model() == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_nofrostmode1))) {
|
if (Helpers::value2enum(value, set, FL_(enum_nofrostmode1))) {
|
||||||
write_command(curve_typeids[hc->hc()], 5, set + 1, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 5, set + 1, curve_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
@@ -2846,11 +2846,11 @@ bool Thermostat::set_heatingtype(const char * value, const int8_t id) {
|
|||||||
|
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_heatingtype))) {
|
if (Helpers::value2enum(value, set, FL_(enum_heatingtype))) {
|
||||||
if ((model() == EMS_DEVICE_FLAG_RC20_N) || (model() == EMS_DEVICE_FLAG_RC25)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC20_N) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC25)) {
|
||||||
write_command(set_typeids[hc->hc()], 0, set, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 0, set, set_typeids[hc->hc()]);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC35 || model() == EMS_DEVICE_FLAG_RC30_N) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
||||||
write_command(set_typeids[hc->hc()], 0, set, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 0, set, set_typeids[hc->hc()]);
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
write_command(curve_typeids[hc->hc()], 0, set, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 0, set, curve_typeids[hc->hc()]);
|
||||||
} else {
|
} else {
|
||||||
write_command(curve_typeids[hc->hc()], 1, set, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 1, set, curve_typeids[hc->hc()]);
|
||||||
@@ -2870,22 +2870,22 @@ bool Thermostat::set_controlmode(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
if (model() == EMS_DEVICE_FLAG_RC100) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_controlmode))) {
|
if (Helpers::value2enum(value, set, FL_(enum_controlmode))) {
|
||||||
write_command(curve_typeids[hc->hc()], 0, set, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 0, set, curve_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_BC400 || model() == EMS_DEVICE_FLAG_RC300) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_controlmode1))) {
|
if (Helpers::value2enum(value, set, FL_(enum_controlmode1))) {
|
||||||
write_command(curve_typeids[hc->hc()], 0, set + 1, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 0, set + 1, curve_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_controlmode2))) {
|
if (Helpers::value2enum(value, set, FL_(enum_controlmode2))) {
|
||||||
write_command(curve_typeids[hc->hc()], 1, set, curve_typeids[hc->hc()]);
|
write_command(curve_typeids[hc->hc()], 1, set, curve_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC35 || model() == EMS_DEVICE_FLAG_RC30_N) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_controlmode2))) {
|
if (Helpers::value2enum(value, set, FL_(enum_controlmode2))) {
|
||||||
write_command(set_typeids[hc->hc()], 33, set, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 33, set, set_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
@@ -2944,7 +2944,7 @@ bool Thermostat::set_switchtime(const char * value, const uint16_t type_id, char
|
|||||||
}
|
}
|
||||||
const char * s_mode = doc["mode"];
|
const char * s_mode = doc["mode"];
|
||||||
const char * s_time = doc["time"];
|
const char * s_time = doc["time"];
|
||||||
if (model() == EMS_DEVICE_FLAG_RC35 || model() == EMS_DEVICE_FLAG_RC30_N) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
||||||
bool b;
|
bool b;
|
||||||
if (Helpers::value2bool(s_mode, b)) {
|
if (Helpers::value2bool(s_mode, b)) {
|
||||||
on = b ? 1 : 0;
|
on = b ? 1 : 0;
|
||||||
@@ -2952,7 +2952,7 @@ bool Thermostat::set_switchtime(const char * value, const uint16_t type_id, char
|
|||||||
if (strlen(s_time) == 5 && s_time[2] == ':') {
|
if (strlen(s_time) == 5 && s_time[2] == ':') {
|
||||||
time = 6 * ((s_time[0] - '0') * 10 + (s_time[1] - '0')) + (s_time[3] - '0');
|
time = 6 * ((s_time[0] - '0') * 10 + (s_time[1] - '0')) + (s_time[3] - '0');
|
||||||
}
|
}
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_RC20) || (model() == EMS_DEVICE_FLAG_RC30)) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC20) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC30)) {
|
||||||
if (s_mode[0] == 'T') {
|
if (s_mode[0] == 'T') {
|
||||||
on = s_mode[1] - '0';
|
on = s_mode[1] - '0';
|
||||||
} else {
|
} else {
|
||||||
@@ -3018,7 +3018,7 @@ bool Thermostat::set_switchtime(const char * value, const uint16_t type_id, char
|
|||||||
|
|
||||||
uint8_t min_on = 1;
|
uint8_t min_on = 1;
|
||||||
uint8_t max_on = 4;
|
uint8_t max_on = 4;
|
||||||
if ((model() == EMS_DEVICE_FLAG_RC35) || (model() == EMS_DEVICE_FLAG_RC30_N)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC35) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N)) {
|
||||||
min_on = 0;
|
min_on = 0;
|
||||||
max_on = 1;
|
max_on = 1;
|
||||||
}
|
}
|
||||||
@@ -3030,9 +3030,9 @@ bool Thermostat::set_switchtime(const char * value, const uint16_t type_id, char
|
|||||||
if (data[0] != 0xE7) {
|
if (data[0] != 0xE7) {
|
||||||
// we use EN settings for the day abbreviation
|
// we use EN settings for the day abbreviation
|
||||||
auto sday = (FL_(enum_dayOfWeek)[day][0]);
|
auto sday = (FL_(enum_dayOfWeek)[day][0]);
|
||||||
if (model() == EMS_DEVICE_FLAG_RC35 || model() == EMS_DEVICE_FLAG_RC30_N) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N) {
|
||||||
snprintf(out, len, "%02d %s %02d:%02d %s", no, sday, time / 6, 10 * (time % 6), on ? "on" : "off");
|
snprintf(out, len, "%02d %s %02d:%02d %s", no, sday, time / 6, 10 * (time % 6), on ? "on" : "off");
|
||||||
} else if ((model() == EMS_DEVICE_FLAG_RC20) || (model() == EMS_DEVICE_FLAG_RC30)) {
|
} else if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC20) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC30)) {
|
||||||
snprintf(out, len, "%02d %s %02d:%02d T%d", no, sday, time / 6, 10 * (time % 6), on);
|
snprintf(out, len, "%02d %s %02d:%02d T%d", no, sday, time / 6, 10 * (time % 6), on);
|
||||||
} else {
|
} else {
|
||||||
auto son = (FL_(enum_switchmode)[on][0]);
|
auto son = (FL_(enum_switchmode)[on][0]);
|
||||||
@@ -3115,24 +3115,24 @@ bool Thermostat::set_program(const char * value, const int8_t id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t set;
|
uint8_t set;
|
||||||
if ((model() == EMS_DEVICE_FLAG_RC20_N) || (model() == EMS_DEVICE_FLAG_RC25)) {
|
if ((model() == EMSdevice::EMS_DEVICE_FLAG_RC20_N) || (model() == EMSdevice::EMS_DEVICE_FLAG_RC25)) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_progMode3))) {
|
if (Helpers::value2enum(value, set, FL_(enum_progMode3))) {
|
||||||
write_command(set_typeids[hc->hc()], 11, set + 1, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 11, set + 1, set_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_RC35 || model() == EMS_DEVICE_FLAG_RC30_N || model() == EMS_DEVICE_FLAG_RC30) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_RC35 || model() == EMSdevice::EMS_DEVICE_FLAG_RC30_N || model() == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_progMode2))) {
|
if (Helpers::value2enum(value, set, FL_(enum_progMode2))) {
|
||||||
write_command(timer_typeids[hc->hc()], 84, set, timer_typeids[hc->hc()]);
|
write_command(timer_typeids[hc->hc()], 84, set, timer_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_BC400 || model() == EMS_DEVICE_FLAG_RC300 || model() == EMS_DEVICE_FLAG_RC100) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400 || model() == EMSdevice::EMS_DEVICE_FLAG_RC300 || model() == EMSdevice::EMS_DEVICE_FLAG_RC100) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_progMode))) {
|
if (Helpers::value2enum(value, set, FL_(enum_progMode))) {
|
||||||
write_command(set_typeids[hc->hc()], 11, set + 1, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 11, set + 1, set_typeids[hc->hc()]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (model() == EMS_DEVICE_FLAG_JUNKERS) {
|
} else if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
||||||
if (Helpers::value2enum(value, set, FL_(enum_progMode4))) {
|
if (Helpers::value2enum(value, set, FL_(enum_progMode4))) {
|
||||||
if (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
write_command(set_typeids[hc->hc()], 10, set + 1, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 10, set + 1, set_typeids[hc->hc()]);
|
||||||
} else {
|
} else {
|
||||||
write_command(set_typeids[hc->hc()], 13, set + 1, set_typeids[hc->hc()]);
|
write_command(set_typeids[hc->hc()], 13, set + 1, set_typeids[hc->hc()]);
|
||||||
@@ -3158,7 +3158,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
uint16_t validate_typeid = monitor_typeids[hc->hc()];
|
uint16_t validate_typeid = monitor_typeids[hc->hc()];
|
||||||
uint16_t set_typeid = set_typeids[hc->hc()];
|
uint16_t set_typeid = set_typeids[hc->hc()];
|
||||||
|
|
||||||
if (model == EMS_DEVICE_FLAG_RC10) {
|
if (model == EMSdevice::EMS_DEVICE_FLAG_RC10) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::NIGHT:
|
case HeatingCircuit::Mode::NIGHT:
|
||||||
offset = 3;
|
offset = 3;
|
||||||
@@ -3177,7 +3177,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (model == EMS_DEVICE_FLAG_RC20) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_RC20) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::NIGHT:
|
case HeatingCircuit::Mode::NIGHT:
|
||||||
offset = 3;
|
offset = 3;
|
||||||
@@ -3220,7 +3220,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (model == EMS_DEVICE_FLAG_RC30) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_RC30) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::OFF:
|
case HeatingCircuit::Mode::OFF:
|
||||||
offset = EMS_OFFSET_RC30Set_temp_off;
|
offset = EMS_OFFSET_RC30Set_temp_off;
|
||||||
@@ -3270,7 +3270,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (model == EMS_DEVICE_FLAG_BC400 || (model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_BC400 || (model == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model == EMSdevice::EMS_DEVICE_FLAG_RC100)) {
|
||||||
validate_typeid = set_typeids[hc->hc()];
|
validate_typeid = set_typeids[hc->hc()];
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::SUMMER:
|
case HeatingCircuit::Mode::SUMMER:
|
||||||
@@ -3372,7 +3372,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ((model == EMS_DEVICE_FLAG_RC20_N) || (model == EMS_DEVICE_FLAG_RC25)) {
|
} else if ((model == EMSdevice::EMS_DEVICE_FLAG_RC20_N) || (model == EMSdevice::EMS_DEVICE_FLAG_RC25)) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::MINFLOW:
|
case HeatingCircuit::Mode::MINFLOW:
|
||||||
offset = 15;
|
offset = 15;
|
||||||
@@ -3408,7 +3408,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30_N)) {
|
} else if ((model == EMSdevice::EMS_DEVICE_FLAG_RC35) || (model == EMSdevice::EMS_DEVICE_FLAG_RC30_N)) {
|
||||||
validate_typeid = set_typeids[hc->hc()];
|
validate_typeid = set_typeids[hc->hc()];
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::NIGHT: // change the night temp
|
case HeatingCircuit::Mode::NIGHT: // change the night temp
|
||||||
@@ -3428,7 +3428,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
factor = 1;
|
factor = 1;
|
||||||
break;
|
break;
|
||||||
case HeatingCircuit::Mode::DESIGN:
|
case HeatingCircuit::Mode::DESIGN:
|
||||||
if (hc->heatingtype == 3 && model == EMS_DEVICE_FLAG_RC35) {
|
if (hc->heatingtype == 3 && model == EMSdevice::EMS_DEVICE_FLAG_RC35) {
|
||||||
offset = EMS_OFFSET_RC35Set_temp_design_floor;
|
offset = EMS_OFFSET_RC35Set_temp_design_floor;
|
||||||
} else {
|
} else {
|
||||||
offset = EMS_OFFSET_RC35Set_temp_design;
|
offset = EMS_OFFSET_RC35Set_temp_design;
|
||||||
@@ -3467,7 +3467,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
factor = 1;
|
factor = 1;
|
||||||
break;
|
break;
|
||||||
case HeatingCircuit::Mode::MAXFLOW:
|
case HeatingCircuit::Mode::MAXFLOW:
|
||||||
if (hc->heatingtype == 3 && model == EMS_DEVICE_FLAG_RC35) {
|
if (hc->heatingtype == 3 && model == EMSdevice::EMS_DEVICE_FLAG_RC35) {
|
||||||
offset = 35;
|
offset = 35;
|
||||||
} else {
|
} else {
|
||||||
offset = 15;
|
offset = 15;
|
||||||
@@ -3482,7 +3482,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
offset = EMS_OFFSET_RC35Set_temp_night;
|
offset = EMS_OFFSET_RC35Set_temp_night;
|
||||||
} else if (mode_ == HeatingCircuit::Mode::DAY) {
|
} else if (mode_ == HeatingCircuit::Mode::DAY) {
|
||||||
offset = EMS_OFFSET_RC35Set_temp_day;
|
offset = EMS_OFFSET_RC35Set_temp_day;
|
||||||
} else if (model == EMS_DEVICE_FLAG_RC35) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_RC35) {
|
||||||
offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/emsesp/EMS-ESP/issues/310
|
offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/emsesp/EMS-ESP/issues/310
|
||||||
} else {
|
} else {
|
||||||
// RC30_N missing temporary auto temperature https://github.com/emsesp/EMS-ESP32/issues/395
|
// RC30_N missing temporary auto temperature https://github.com/emsesp/EMS-ESP32/issues/395
|
||||||
@@ -3492,10 +3492,10 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (model == EMS_DEVICE_FLAG_JUNKERS) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
||||||
// figure out if we have older or new thermostats, Heating Circuits on 0x65 or 0x79
|
// figure out if we have older or new thermostats, Heating Circuits on 0x65 or 0x79
|
||||||
// see https://github.com/emsesp/EMS-ESP/issues/335#issuecomment-593324716)
|
// see https://github.com/emsesp/EMS-ESP/issues/335#issuecomment-593324716)
|
||||||
bool old_junkers = (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD));
|
bool old_junkers = (has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD));
|
||||||
if (!old_junkers) {
|
if (!old_junkers) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HeatingCircuit::Mode::NOFROST:
|
case HeatingCircuit::Mode::NOFROST:
|
||||||
@@ -3600,7 +3600,7 @@ void Thermostat::register_device_values() {
|
|||||||
register_device_value(tag, &tempsensor1_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(RFTemp), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &tempsensor1_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(RFTemp), DeviceValueUOM::DEGREES);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// RC100H remote with humidity, this is also EMS_DEVICE_FLAG_RC100 for set_calinttemp
|
// RC100H remote with humidity, this is also EMSdevice::EMS_DEVICE_FLAG_RC100 for set_calinttemp
|
||||||
if (device_id() >= 0x38 && device_id() <= 0x3F) {
|
if (device_id() >= 0x38 && device_id() <= 0x3F) {
|
||||||
// each device controls only one hc, so we tag the values
|
// each device controls only one hc, so we tag the values
|
||||||
uint8_t tag = DeviceValueTAG::TAG_HC1 + device_id() - 0x38;
|
uint8_t tag = DeviceValueTAG::TAG_HC1 + device_id() - 0x38;
|
||||||
@@ -3623,9 +3623,9 @@ void Thermostat::register_device_values() {
|
|||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &lastCode_, DeviceValueType::STRING, FL_(lastCode), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &lastCode_, DeviceValueType::STRING, FL_(lastCode), DeviceValueUOM::NONE);
|
||||||
|
|
||||||
switch (this->model()) {
|
switch (this->model()) {
|
||||||
case EMS_DEVICE_FLAG_RC100:
|
case EMSdevice::EMS_DEVICE_FLAG_RC100:
|
||||||
case EMS_DEVICE_FLAG_RC300:
|
case EMSdevice::EMS_DEVICE_FLAG_RC300:
|
||||||
case EMS_DEVICE_FLAG_BC400:
|
case EMSdevice::EMS_DEVICE_FLAG_BC400:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&dateTime_,
|
&dateTime_,
|
||||||
DeviceValueType::STRING,
|
DeviceValueType::STRING,
|
||||||
@@ -3668,7 +3668,7 @@ void Thermostat::register_device_values() {
|
|||||||
MAKE_CF_CB(set_minexttemp));
|
MAKE_CF_CB(set_minexttemp));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &ibaDamping_, DeviceValueType::BOOL, FL_(damping), DeviceValueUOM::NONE, MAKE_CF_CB(set_damping));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &ibaDamping_, DeviceValueType::BOOL, FL_(damping), DeviceValueUOM::NONE, MAKE_CF_CB(set_damping));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwSetTemp_, DeviceValueType::UINT, FL_(wwSetTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_wwtemp));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwSetTemp_, DeviceValueType::UINT, FL_(wwSetTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_wwtemp));
|
||||||
if (model() == EMS_DEVICE_FLAG_BC400) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400) {
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
|
||||||
&wwMode_,
|
&wwMode_,
|
||||||
DeviceValueType::ENUM,
|
DeviceValueType::ENUM,
|
||||||
@@ -3795,7 +3795,7 @@ void Thermostat::register_device_values() {
|
|||||||
register_device_value(
|
register_device_value(
|
||||||
DeviceValueTAG::TAG_DEVICE_DATA, &pvLowerCool_, DeviceValueType::INT, FL_(pvLowerCool), DeviceValueUOM::K, MAKE_CF_CB(set_pvLowerCool), -5, 0);
|
DeviceValueTAG::TAG_DEVICE_DATA, &pvLowerCool_, DeviceValueType::INT, FL_(pvLowerCool), DeviceValueUOM::K, MAKE_CF_CB(set_pvLowerCool), -5, 0);
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC10:
|
case EMSdevice::EMS_DEVICE_FLAG_RC10:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&ibaCalIntTemperature_,
|
&ibaCalIntTemperature_,
|
||||||
DeviceValueType::INT,
|
DeviceValueType::INT,
|
||||||
@@ -3814,8 +3814,8 @@ void Thermostat::register_device_values() {
|
|||||||
register_device_value(
|
register_device_value(
|
||||||
DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwMode_, DeviceValueType::ENUM, FL_(enum_wwMode3), FL_(wwMode), DeviceValueUOM::NONE, MAKE_CF_CB(set_wwmode));
|
DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwMode_, DeviceValueType::ENUM, FL_(enum_wwMode3), FL_(wwMode), DeviceValueUOM::NONE, MAKE_CF_CB(set_wwmode));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC20_N:
|
case EMSdevice::EMS_DEVICE_FLAG_RC20_N:
|
||||||
case EMS_DEVICE_FLAG_RC25:
|
case EMSdevice::EMS_DEVICE_FLAG_RC25:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&ibaMinExtTemperature_,
|
&ibaMinExtTemperature_,
|
||||||
@@ -3824,10 +3824,10 @@ void Thermostat::register_device_values() {
|
|||||||
DeviceValueUOM::DEGREES,
|
DeviceValueUOM::DEGREES,
|
||||||
MAKE_CF_CB(set_minexttemp));
|
MAKE_CF_CB(set_minexttemp));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC20:
|
case EMSdevice::EMS_DEVICE_FLAG_RC20:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC30:
|
case EMSdevice::EMS_DEVICE_FLAG_RC30:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&ibaClockOffset_,
|
&ibaClockOffset_,
|
||||||
@@ -3914,7 +3914,7 @@ void Thermostat::register_device_values() {
|
|||||||
DeviceValueUOM::NONE,
|
DeviceValueUOM::NONE,
|
||||||
MAKE_CF_CB(set_wwVacation));
|
MAKE_CF_CB(set_wwVacation));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC30_N:
|
case EMSdevice::EMS_DEVICE_FLAG_RC30_N:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&ibaMainDisplay_,
|
&ibaMainDisplay_,
|
||||||
@@ -4049,7 +4049,7 @@ void Thermostat::register_device_values() {
|
|||||||
DeviceValueUOM::NONE,
|
DeviceValueUOM::NONE,
|
||||||
MAKE_CF_CB(set_wwVacation));
|
MAKE_CF_CB(set_wwVacation));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC35:
|
case EMSdevice::EMS_DEVICE_FLAG_RC35:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
&dateTime_,
|
&dateTime_,
|
||||||
DeviceValueType::STRING,
|
DeviceValueType::STRING,
|
||||||
@@ -4176,10 +4176,10 @@ void Thermostat::register_device_values() {
|
|||||||
DeviceValueUOM::NONE,
|
DeviceValueUOM::NONE,
|
||||||
MAKE_CF_CB(set_wwVacation));
|
MAKE_CF_CB(set_wwVacation));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_JUNKERS:
|
case EMSdevice::EMS_DEVICE_FLAG_JUNKERS:
|
||||||
// FR100 is not writable, see. https://github.com/emsesp/EMS-ESP32/issues/536
|
// FR100 is not writable, see. https://github.com/emsesp/EMS-ESP32/issues/536
|
||||||
// FW500 is not writable, see. https://github.com/emsesp/EMS-ESP32/issues/666
|
// FW500 is not writable, see. https://github.com/emsesp/EMS-ESP32/issues/666
|
||||||
if (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
if (has_flags(EMSdevice::EMS_DEVICE_FLAG_JUNKERS_OLD)) {
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(tpl_datetime), FL_(dateTime), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(tpl_datetime), FL_(dateTime), DeviceValueUOM::NONE);
|
||||||
} else {
|
} else {
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
@@ -4250,11 +4250,11 @@ void Thermostat::register_device_values() {
|
|||||||
99);
|
99);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwCharge_, DeviceValueType::BOOL, FL_(wwCharge), DeviceValueUOM::NONE, MAKE_CF_CB(set_wwcharge));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW, &wwCharge_, DeviceValueType::BOOL, FL_(wwCharge), DeviceValueUOM::NONE, MAKE_CF_CB(set_wwcharge));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_EASY:
|
case EMSdevice::EMS_DEVICE_FLAG_EASY:
|
||||||
// Easy TC100 have no date/time, see issue #100, not sure about CT200, so leave it.
|
// Easy TC100 have no date/time, see issue #100, not sure about CT200, so leave it.
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_CRF:
|
case EMSdevice::EMS_DEVICE_FLAG_CRF:
|
||||||
default:
|
default:
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(dateTime), DeviceValueUOM::NONE); // can't set datetime
|
||||||
break;
|
break;
|
||||||
@@ -4277,10 +4277,10 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
uint8_t seltemp_divider;
|
uint8_t seltemp_divider;
|
||||||
uint8_t roomtemp_divider;
|
uint8_t roomtemp_divider;
|
||||||
|
|
||||||
if (model == EMS_DEVICE_FLAG_EASY) {
|
if (model == EMSdevice::EMS_DEVICE_FLAG_EASY) {
|
||||||
seltemp_divider = DeviceValueNumOp::DV_NUMOP_DIV100;
|
seltemp_divider = DeviceValueNumOp::DV_NUMOP_DIV100;
|
||||||
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV100;
|
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV100;
|
||||||
} else if (model == EMS_DEVICE_FLAG_JUNKERS) {
|
} else if (model == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
||||||
seltemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
seltemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
||||||
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
||||||
} else {
|
} else {
|
||||||
@@ -4288,7 +4288,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
roomtemp_divider = DeviceValueNumOp::DV_NUMOP_DIV10;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has_flags(EMS_DEVICE_FLAG_NO_WRITE)) {
|
if (has_flags(EMSdevice::EMS_DEVICE_FLAG_NO_WRITE)) {
|
||||||
register_device_value(tag, &hc->selTemp, DeviceValueType::SHORT, seltemp_divider, FL_(selRoomTemp), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &hc->selTemp, DeviceValueType::SHORT, seltemp_divider, FL_(selRoomTemp), DeviceValueUOM::DEGREES);
|
||||||
} else {
|
} else {
|
||||||
register_device_value(tag, &hc->selTemp, DeviceValueType::SHORT, seltemp_divider, FL_(selRoomTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_temp), 0, 30);
|
register_device_value(tag, &hc->selTemp, DeviceValueType::SHORT, seltemp_divider, FL_(selRoomTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_temp), 0, 30);
|
||||||
@@ -4297,7 +4297,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->climate, DeviceValueType::ENUM, FL_(enum_climate), FL_(haclimate), DeviceValueUOM::NONE, nullptr, 5, 30);
|
register_device_value(tag, &hc->climate, DeviceValueType::ENUM, FL_(enum_climate), FL_(haclimate), DeviceValueUOM::NONE, nullptr, 5, 30);
|
||||||
|
|
||||||
switch (model) {
|
switch (model) {
|
||||||
case EMS_DEVICE_FLAG_RC10:
|
case EMSdevice::EMS_DEVICE_FLAG_RC10:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode6), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode6), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->daytemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(daytemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_daytemp));
|
tag, &hc->daytemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(daytemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_daytemp));
|
||||||
@@ -4306,10 +4306,10 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->reducehours, DeviceValueType::UINT, FL_(reducehours), DeviceValueUOM::HOURS, MAKE_CF_CB(set_reducehours));
|
register_device_value(tag, &hc->reducehours, DeviceValueType::UINT, FL_(reducehours), DeviceValueUOM::HOURS, MAKE_CF_CB(set_reducehours));
|
||||||
register_device_value(tag, &hc->reduceminutes, DeviceValueType::USHORT, FL_(reduceminutes), DeviceValueUOM::MINUTES);
|
register_device_value(tag, &hc->reduceminutes, DeviceValueType::USHORT, FL_(reduceminutes), DeviceValueUOM::MINUTES);
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC100:
|
case EMSdevice::EMS_DEVICE_FLAG_RC100:
|
||||||
case EMS_DEVICE_FLAG_RC300:
|
case EMSdevice::EMS_DEVICE_FLAG_RC300:
|
||||||
case EMS_DEVICE_FLAG_BC400:
|
case EMSdevice::EMS_DEVICE_FLAG_BC400:
|
||||||
if (model == EMS_DEVICE_FLAG_BC400) {
|
if (model == EMSdevice::EMS_DEVICE_FLAG_BC400) {
|
||||||
register_device_value(tag, &hc->mode_new, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode_new, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
} else {
|
} else {
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
@@ -4402,12 +4402,12 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->boosttime, DeviceValueType::UINT, FL_(boosttime), DeviceValueUOM::HOURS, MAKE_CF_CB(set_boosttime));
|
register_device_value(tag, &hc->boosttime, DeviceValueType::UINT, FL_(boosttime), DeviceValueUOM::HOURS, MAKE_CF_CB(set_boosttime));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_CRF:
|
case EMSdevice::EMS_DEVICE_FLAG_CRF:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode5), FL_(mode), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode5), FL_(mode), DeviceValueUOM::NONE);
|
||||||
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype5), FL_(modetype), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype5), FL_(modetype), DeviceValueUOM::NONE);
|
||||||
register_device_value(tag, &hc->targetflowtemp, DeviceValueType::UINT, FL_(targetflowtemp), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &hc->targetflowtemp, DeviceValueType::UINT, FL_(targetflowtemp), DeviceValueUOM::DEGREES);
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC20:
|
case EMSdevice::EMS_DEVICE_FLAG_RC20:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->manualtemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(manualtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_manualtemp));
|
tag, &hc->manualtemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(manualtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_manualtemp));
|
||||||
@@ -4424,7 +4424,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->switchtime1, DeviceValueType::STRING, FL_(tpl_switchtime1), FL_(switchtime), DeviceValueUOM::NONE, MAKE_CF_CB(set_switchtime1));
|
tag, &hc->switchtime1, DeviceValueType::STRING, FL_(tpl_switchtime1), FL_(switchtime), DeviceValueUOM::NONE, MAKE_CF_CB(set_switchtime1));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC20_N:
|
case EMSdevice::EMS_DEVICE_FLAG_RC20_N:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
||||||
register_device_value(
|
register_device_value(
|
||||||
@@ -4447,7 +4447,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
||||||
register_device_value(tag, &hc->remotetemp, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(remotetemp), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &hc->remotetemp, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(remotetemp), DeviceValueUOM::DEGREES);
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC25:
|
case EMSdevice::EMS_DEVICE_FLAG_RC25:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
||||||
register_device_value(
|
register_device_value(
|
||||||
@@ -4469,7 +4469,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->summertemp, DeviceValueType::UINT, FL_(summertemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_summertemp), 9, 25);
|
register_device_value(tag, &hc->summertemp, DeviceValueType::UINT, FL_(summertemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_summertemp), 9, 25);
|
||||||
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC30:
|
case EMSdevice::EMS_DEVICE_FLAG_RC30:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode2), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(tag, &hc->holiday, DeviceValueType::STRING, FL_(tpl_holidays), FL_(holidays), DeviceValueUOM::NONE, MAKE_CF_CB(set_holiday));
|
register_device_value(tag, &hc->holiday, DeviceValueType::STRING, FL_(tpl_holidays), FL_(holidays), DeviceValueUOM::NONE, MAKE_CF_CB(set_holiday));
|
||||||
register_device_value(tag, &hc->vacation, DeviceValueType::STRING, FL_(tpl_holidays), FL_(vacations), DeviceValueUOM::NONE, MAKE_CF_CB(set_vacation));
|
register_device_value(tag, &hc->vacation, DeviceValueType::STRING, FL_(tpl_holidays), FL_(vacations), DeviceValueUOM::NONE, MAKE_CF_CB(set_vacation));
|
||||||
@@ -4502,8 +4502,8 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->nofrosttemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(offtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_offtemp));
|
tag, &hc->nofrosttemp, DeviceValueType::UINT, DeviceValueNumOp::DV_NUMOP_DIV2, FL_(offtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_offtemp));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_RC30_N:
|
case EMSdevice::EMS_DEVICE_FLAG_RC30_N:
|
||||||
case EMS_DEVICE_FLAG_RC35:
|
case EMSdevice::EMS_DEVICE_FLAG_RC35:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype3), FL_(modetype), DeviceValueUOM::NONE);
|
||||||
register_device_value(
|
register_device_value(
|
||||||
@@ -4587,7 +4587,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->switchtime2, DeviceValueType::STRING, FL_(tpl_switchtime), FL_(switchtime2), DeviceValueUOM::NONE, MAKE_CF_CB(set_switchtime2));
|
tag, &hc->switchtime2, DeviceValueType::STRING, FL_(tpl_switchtime), FL_(switchtime2), DeviceValueUOM::NONE, MAKE_CF_CB(set_switchtime2));
|
||||||
break;
|
break;
|
||||||
case EMS_DEVICE_FLAG_JUNKERS:
|
case EMSdevice::EMS_DEVICE_FLAG_JUNKERS:
|
||||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode4), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode4), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||||
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype4), FL_(modetype), DeviceValueUOM::NONE);
|
register_device_value(tag, &hc->modetype, DeviceValueType::ENUM, FL_(enum_modetype4), FL_(modetype), DeviceValueUOM::NONE);
|
||||||
register_device_value(
|
register_device_value(
|
||||||
|
|||||||
Reference in New Issue
Block a user