From 3f9a3bfc64284389dc88a7776b73992d05bef6a6 Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 12 Sep 2019 17:57:41 +0530 Subject: [PATCH] https://github.com/proddy/EMS-ESP/issues/180 --- CHANGELOG.md | 6 +++++- src/ems.cpp | 12 +++++++++--- src/version.h | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6aa93839b..5b67d5507 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.9.1 beta] 2019-09-07 +## [1.9.1 beta] 2019-09-12 ### Added - Support for multiple Heating Circuits (RC35 only for now and writing via telnet) - https://github.com/proddy/EMS-ESP/issues/162 + +### Fixed + +- fixed zero values (0.0) for setpoint temperature with the RC35 thermostat when in Auto mode - https://github.com/proddy/EMS-ESP/issues/180 ### Removed diff --git a/src/ems.cpp b/src/ems.cpp index b8f5b03d7..d26010d2e 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1390,14 +1390,20 @@ void _process_RC30StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it? - EMS_Thermostat.hc[hc_num].setpoint_roomTemp = _toByte(EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2 + // check if setpoint temp sensor is unavailable + if (EMS_RxTelegram->data[EMS_OFFSET_RC35StatusMessage_setpoint] == 0x7D) { + EMS_Thermostat.hc[hc_num].setpoint_roomTemp = EMS_VALUE_SHORT_NOTSET; + } else { + EMS_Thermostat.hc[hc_num].setpoint_roomTemp = _toShort(EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2 + } - // check if temp sensor is unavailable - if (EMS_RxTelegram->data[3] == 0x7D) { + // check if current temp sensor is unavailable + if (EMS_RxTelegram->data[EMS_OFFSET_RC35StatusMessage_curr] == 0x7D) { EMS_Thermostat.hc[hc_num].curr_roomTemp = EMS_VALUE_SHORT_NOTSET; } else { EMS_Thermostat.hc[hc_num].curr_roomTemp = _toShort(EMS_OFFSET_RC35StatusMessage_curr); } + EMS_Thermostat.hc[hc_num].day_mode = _bitRead(EMS_OFFSET_RC35StatusMessage_mode, 1); // get day mode flag EMS_Thermostat.hc[hc_num].circuitcalctemp = _toByte(EMS_OFFSET_RC35Set_circuitcalctemp); // 0x48 calculated temperature diff --git a/src/version.h b/src/version.h index c108e9995..ba0aba749 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.1b1" +#define APP_VERSION "1.9.1b2"