From a6ca1313ca43a0aae75cb80e97b6022247464ea4 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 16 Sep 2024 13:45:59 +0200 Subject: [PATCH] roomifl_factor for FW120 to mul10, fix #2011 --- src/devices/thermostat.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 42139664c..c7c3cb5e5 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -2702,7 +2702,7 @@ bool Thermostat::set_roominfl_factor(const char * value, const int8_t id) { return false; } if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) { - write_command(set_typeids[hc->hc()], 6, (uint8_t)val); + write_command(set_typeids[hc->hc()], 6, (uint8_t)((val + 5) / 10)); } else { write_command(summer_typeids[hc->hc()], 1, (uint8_t)(val * 10)); @@ -4809,7 +4809,13 @@ void Thermostat::register_device_values_hc(std::shared_ptrdesigntemp, DeviceValueType::UINT8, FL_(designtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_designtemp), 30, 90); register_device_value( tag, &hc->roominfluence, DeviceValueType::ENUM, FL_(enum_roominfluence), FL_(roominfluence), DeviceValueUOM::NONE, MAKE_CF_CB(set_roominfl_mode)); - register_device_value(tag, &hc->roominfl_factor, DeviceValueType::UINT8, FL_(roominfl_factor), DeviceValueUOM::PERCENT, MAKE_CF_CB(set_roominfl_factor)); + register_device_value(tag, + &hc->roominfl_factor, + DeviceValueType::UINT8, + DeviceValueNumOp::DV_NUMOP_MUL10, + FL_(roominfl_factor), + DeviceValueUOM::PERCENT, + MAKE_CF_CB(set_roominfl_factor)); register_device_value( tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype1), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype)); register_device_value(