diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 88da762a..3b8a9919 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -8,5 +8,6 @@ ### Changed - split `show values` in smaller packages (edited) - extended length of IP/hostname from 32 to 48 chars (#676) +- check flowsensor for `tap_water_active` ### Removed diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 38d99a6f..b98153e8 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -914,7 +914,17 @@ void Boiler::check_active(const bool force) { } // check if tap water is active, bits 1 and 4 must be set - b = ((boilerState_ & 0x0A) == 0x0A); + // also check if there is a flowsensor and flow-type + static bool flowsensor = false; + if (Helpers::hasValue(wWCurFlow_) && (wWCurFlow_ > 0) && (wWType_ == 1)) { + flowsensor = true; + } + if (flowsensor) { + b = ((wWCurFlow_ > 0) && ((boilerState_ & 0x0A) == 0x0A)); + } else { + b = ((boilerState_ & 0x0A) == 0x0A); + } + val = b ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF; if (tapwaterActive_ != val || force) { tapwaterActive_ = val;