add RC300 thermostat temp -1 to clear temporary setpoint

This commit is contained in:
MichaelDvP
2021-03-12 13:56:30 +01:00
parent ae99f98f0e
commit 93327b1ffe
2 changed files with 10 additions and 1 deletions

View File

@@ -16,6 +16,7 @@
- Added in MQTT nested mode, for thermostat and mixer, like we had back in v2 - Added in MQTT nested mode, for thermostat and mixer, like we had back in v2
- Cascade MC400 (product-id 210) (3.0.0b6) - Cascade MC400 (product-id 210) (3.0.0b6)
- values for wwMaxPower, wwFlowtempOffset - values for wwMaxPower, wwFlowtempOffset
- RC300 `thermostat temp -1` to clear temporary setpoint in auto mode
### Fixed ### Fixed
- telegrams matched to masterthermostat 0x18 - telegrams matched to masterthermostat 0x18

View File

@@ -1731,6 +1731,10 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
offset = 0x0A; // manual offset offset = 0x0A; // manual offset
} else { } else {
offset = 0x08; // auto offset offset = 0x08; // auto offset
// special case to reactivate auto temperature, see #737, #746
if (temperature == -1) {
factor = 0xFF; // use factor as value
}
} }
validate_typeid = monitor_typeids[hc->hc_num() - 1]; // get setpoint roomtemp back validate_typeid = monitor_typeids[hc->hc_num() - 1]; // get setpoint roomtemp back
break; break;
@@ -1887,7 +1891,11 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
// add the write command to the Tx queue. value is *2 // add the write command to the Tx queue. value is *2
// post validate is the corresponding monitor or set type IDs as they can differ per model // post validate is the corresponding monitor or set type IDs as they can differ per model
write_command(set_typeid, offset, (uint8_t)((float)temperature * (float)factor), validate_typeid); if (factor == 0xFF) {
write_command(set_typeid, offset, factor, validate_typeid);
} else {
write_command(set_typeid, offset, (uint8_t)((float)temperature * (float)factor), validate_typeid);
}
return true; return true;
} }