fix boiler wwMaxPower and ww_disinfect, dev16

This commit is contained in:
MichaelDvP
2025-08-18 17:34:16 +02:00
parent 92b1515c8a
commit a50227638b
3 changed files with 13 additions and 9 deletions

View File

@@ -52,7 +52,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
// not ems1.0, but HT3 // not ems1.0, but HT3
if (model() != EMSdevice::EMS_DEVICE_FLAG_EMS) { if (model() != EMSdevice::EMS_DEVICE_FLAG_EMS) {
register_telegram_type(0x26, "UBASettingsWW", true, MAKE_PF_CB(process_UBASettingsWW)); register_telegram_type(0x27, "UBASettingsWW", true, MAKE_PF_CB(process_UBASettingsWW));
register_telegram_type(0x2A, "MC110Status", false, MAKE_PF_CB(process_MC110Status)); register_telegram_type(0x2A, "MC110Status", false, MAKE_PF_CB(process_MC110Status));
} }
@@ -1365,7 +1365,7 @@ void Boiler::process_UBAParameters(std::shared_ptr<const Telegram> telegram) {
* Boiler(0x08) -> Me(0x0B), ?(0x26), data: 01 05 00 0F 00 1E 58 5A * Boiler(0x08) -> Me(0x0B), ?(0x26), data: 01 05 00 0F 00 1E 58 5A
*/ */
void Boiler::process_UBASettingsWW(std::shared_ptr<const Telegram> telegram) { void Boiler::process_UBASettingsWW(std::shared_ptr<const Telegram> telegram) {
has_update(telegram, wwMaxPower_, 7); has_update(telegram, wwMaxPower_, 10);
} }
// 0x33 // 0x33
@@ -2578,7 +2578,7 @@ bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
return false; return false;
} }
write_command(EMS_TYPE_UBASettingsWW, 7, v, EMS_TYPE_UBASettingsWW); write_command(EMS_TYPE_UBASettingsWW, 10, v, EMS_TYPE_UBASettingsWW);
return true; return true;
} }
@@ -2839,7 +2839,7 @@ bool Boiler::set_ww_disinfect(const char * value, const int8_t id) {
} }
if (is_received(EMS_TYPE_UBAParameterWWPlus)) { if (is_received(EMS_TYPE_UBAParameterWWPlus)) {
write_command(EMS_TYPE_UBAFlags, 0, (v ? 0x44 : 0x04), 0xE9); // not sure if this is in flags write_command(0x05, 44, (v ? 0xFF : 0xFE), 0xE9); // https://github.com/emsesp/EMS-ESP32/discussions/2601
} else { } else {
write_command(EMS_TYPE_UBAFlags, 0, (v ? 0x44 : 0x04), 0x34); write_command(EMS_TYPE_UBAFlags, 0, (v ? 0x44 : 0x04), 0x34);
} }
@@ -2916,11 +2916,11 @@ bool Boiler::set_reset(const char * value, const int8_t id) {
return true; // dash return true; // dash
} else if (num == 1) { } else if (num == 1) {
// LOG_INFO("Reset boiler maintenance message"); // LOG_INFO("Reset boiler maintenance message");
write_command(0x05, 0x08, 0xFF, 0x1C); write_command(0x05, 8, 0xFF, 0x1C);
return true; return true;
} else if (num == 2) { } else if (num == 2) {
// LOG_INFO("Reset boiler error message"); // LOG_INFO("Reset boiler error message");
write_command(0x05, 0x00, 0x5A); // error reset write_command(0x05, 0, 0x5A); // error reset
return true; return true;
} else if (num == 3) { } else if (num == 3) {
// LOG_INFO("Reset boiler history"); // LOG_INFO("Reset boiler history");
@@ -2928,7 +2928,11 @@ bool Boiler::set_reset(const char * value, const int8_t id) {
return true; return true;
} else if (num == 4) { } else if (num == 4) {
// LOG_INFO("Reset boiler message"); // LOG_INFO("Reset boiler message");
write_command(0x05, 0x08, 0xFF); // same as maintenance write_command(0x05, 8, 0xFF); // same as maintenance
return true;
} else if (num == 5) {
// LOG_INFO("Factory Reset");
write_command(0x05, 6, 154);
return true; return true;
} }
return false; return false;

View File

@@ -43,7 +43,7 @@ class Boiler : public EMSdevice {
uint8_t boilerState_ = EMS_VALUE_UINT8_NOTSET; // Boiler state flag - FOR INTERNAL USE uint8_t boilerState_ = EMS_VALUE_UINT8_NOTSET; // Boiler state flag - FOR INTERNAL USE
static constexpr uint8_t EMS_TYPE_UBASettingsWW = 0x26; static constexpr uint8_t EMS_TYPE_UBASettingsWW = 0x27;
static constexpr uint8_t EMS_TYPE_UBAParameterWW = 0x33; static constexpr uint8_t EMS_TYPE_UBAParameterWW = 0x33;
static constexpr uint8_t EMS_TYPE_UBAFunctionTest = 0x1D; static constexpr uint8_t EMS_TYPE_UBAFunctionTest = 0x1D;
static constexpr uint8_t EMS_TYPE_UBAFlags = 0x35; static constexpr uint8_t EMS_TYPE_UBAFlags = 0x35;

View File

@@ -1 +1 @@
#define EMSESP_APP_VERSION "3.7.3-dev.15" #define EMSESP_APP_VERSION "3.7.3-dev.16"