diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 74f09f645..cf543e04f 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -11,6 +11,7 @@ - Add new command 'entities' for a device, e.g. http://ems-esp/api/boiler/entities to show the shortname, description and HA Entity name (if HA enabled) [#116](https://github.com/emsesp/EMS-ESP32/issues/116) - Support for Junkers program and remote (fb10/fb110) temperature - Home Assistant `state_class` attribute for Wh, kWh, W and KW [#129](https://github.com/emsesp/EMS-ESP32/issues/129) +- Add current room influence for RC300[#136] ## Fixed diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index fbaa9e9ad..3bbc7279b 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -867,6 +867,7 @@ void Thermostat::process_RC300Monitor(std::shared_ptr telegram) has_update(telegram->read_value(hc->setpoint_roomTemp, 3, 1)); // is * 2, force as single byte has_update(telegram->read_bitvalue(hc->summermode, 2, 4)); has_update(telegram->read_value(hc->targetflowtemp, 4)); + has_update(telegram->read_value(hc->curroominfl, 27)); } // type 0x02B9 EMS+ for reading from RC300/RC310 thermostat @@ -2661,6 +2662,7 @@ void Thermostat::register_device_values_hc(std::shared_ptrminflowtemp, DeviceValueType::UINT, nullptr, FL_(minflowtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_minflowtemp)); register_device_value(tag, &hc->maxflowtemp, DeviceValueType::UINT, nullptr, FL_(maxflowtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_maxflowtemp)); register_device_value(tag, &hc->roominfluence, DeviceValueType::UINT, nullptr, FL_(roominfluence), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_roominfluence)); + register_device_value(tag, &hc->curroominfl, DeviceValueType::SHORT, nullptr, FL_(curroominfl), DeviceValueUOM::DEGREES); register_device_value(tag, &hc->nofrosttemp, DeviceValueType::INT, nullptr, FL_(nofrosttemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_nofrosttemp)); register_device_value(tag, &hc->targetflowtemp, DeviceValueType::UINT, nullptr, FL_(targetflowtemp), DeviceValueUOM::DEGREES); register_device_value(tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype), FL_(heatingtype), DeviceValueUOM::NONE); diff --git a/src/devices/thermostat.h b/src/devices/thermostat.h index 7e02418ee..ccdb3f403 100644 --- a/src/devices/thermostat.h +++ b/src/devices/thermostat.h @@ -55,6 +55,7 @@ class Thermostat : public EMSdevice { uint8_t manualtemp; uint8_t summer_setmode; uint8_t roominfluence; + int16_t curroominfl; uint8_t flowtempoffset; uint8_t minflowtemp; uint8_t maxflowtemp; diff --git a/src/locale_EN.h b/src/locale_EN.h index 7368160a5..4606a61e7 100644 --- a/src/locale_EN.h +++ b/src/locale_EN.h @@ -570,6 +570,7 @@ MAKE_PSTR_LIST(offsettemp, F("offsettemp"), F("offset temperature")) MAKE_PSTR_LIST(minflowtemp, F("minflowtemp"), F("min flow temperature")) MAKE_PSTR_LIST(maxflowtemp, F("maxflowtemp"), F("max flow temperature")) MAKE_PSTR_LIST(roominfluence, F("roominfluence"), F("room influence")) +MAKE_PSTR_LIST(curroominfl, F("curroominfl"), F("current room influence")) MAKE_PSTR_LIST(nofrosttemp, F("nofrosttemp"), F("nofrost temperature")) MAKE_PSTR_LIST(targetflowtemp, F("targetflowtemp"), F("target flow temperature")) MAKE_PSTR_LIST(heatingtype, F("heatingtype"), F("heating type"))