And it works.
I can now override the #57 command response using SR=57:65,00 to pretend that the maximum boiler temperature is 65,00 degrees. Evohome then scales the control setpoint between some minimum and the fake maximum temperature of 65. Log extract:
Code: Select all
22:04:35.399535 Command: SR=57:65,00
22:04:35.440532 SR: 57:65/0
22:04:37.903679 T80190000 Read-Data Boiler water temperature: 0.00
22:04:38.195700 BC01942CD Read-Ack Boiler water temperature: 66.80
22:04:38.437733 T90014C00 Write-Data Control setpoint: 76.00
22:04:38.706759 B50014C00 Write-Ack Control setpoint: 76.00
...
22:04:58.382856 T80190000 Read-Data Boiler water temperature: 0.00
22:04:58.718843 BC019434D Read-Ack Boiler water temperature: 67.30
22:04:58.925945 T90014C00 Write-Data Control setpoint: 76.00
22:04:59.217079 B50014C00 Write-Ack Control setpoint: 76.00
...
22:05:02.716139 T80190000 Read-Data Boiler water temperature: 0.00
22:05:03.039131 BC019434D Read-Ack Boiler water temperature: 67.30
22:05:03.262193 T90014C00 Write-Data Control setpoint: 76.00
22:05:03.545155 B50014C00 Write-Ack Control setpoint: 76.00
...
22:05:07.576364 T00395000 Read-Data Max CH water setpoint: 80.00
22:05:07.885404 BC0395000 Read-Ack Max CH water setpoint: 80.00
22:05:07.905126 AC0394100 Read-Ack Max CH water setpoint: 65.00
22:05:08.125435 T00394100 Read-Data Max CH water setpoint: 65.00
22:05:08.385432 BC0395000 Read-Ack Max CH water setpoint: 80.00
22:05:08.391833 AC0394100 Read-Ack Max CH water setpoint: 65.00
22:05:08.655487 T00394100 Read-Data Max CH water setpoint: 65.00
22:05:08.890453 BC0395000 Read-Ack Max CH water setpoint: 80.00
22:05:08.910505 AC0394100 Read-Ack Max CH water setpoint: 65.00
...
22:05:10.808619 T80190000 Read-Data Boiler water temperature: 0.00
22:05:11.066606 BC019434D Read-Ack Boiler water temperature: 67.30
22:05:11.352594 T90013E00 Write-Data Control setpoint: 62.00
22:05:11.562626 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:12.990673 T80190000 Read-Data Boiler water temperature: 0.00
22:05:13.224551 B401943CD Read-Ack Boiler water temperature: 67.80
22:05:13.519715 T90013E00 Write-Data Control setpoint: 62.00
22:05:13.719756 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:10.808619 T80190000 Read-Data Boiler water temperature: 0.00
22:05:11.066606 BC019434D Read-Ack Boiler water temperature: 67.30
22:05:11.352594 T90013E00 Write-Data Control setpoint: 62.00
22:05:11.562626 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:12.990673 T80190000 Read-Data Boiler water temperature: 0.00
22:05:13.224551 B401943CD Read-Ack Boiler water temperature: 67.80
22:05:13.519715 T90013E00 Write-Data Control setpoint: 62.00
22:05:13.719756 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:18.391972 T80190000 Read-Data Boiler water temperature: 0.00
22:05:18.702003 B401943CD Read-Ack Boiler water temperature: 67.80
22:05:18.918069 T90013E00 Write-Data Control setpoint: 62.00
22:05:19.206057 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:22.709280 T80190000 Read-Data Boiler water temperature: 0.00
22:05:23.036279 BC01942CD Read-Ack Boiler water temperature: 66.80
22:05:23.253401 T90013E00 Write-Data Control setpoint: 62.00
22:05:23.527313 B50013E00 Write-Ack Control setpoint: 62.00
...
22:05:28.122525 T80190000 Read-Data Boiler water temperature: 0.00
22:05:28.381581 B401940E6 Read-Ack Boiler water temperature: 64.90
...
...
22:08:09.569913 T00394100 Read-Data Max CH water setpoint: 65.00
22:08:09.754827 BC0395000 Read-Ack Max CH water setpoint: 80.00
22:08:09.770608 AC0394100 Read-Ack Max CH water setpoint: 65.00
Note that any subsequent read data from the thermostat contains the new 65 degree value as parameter. Which I still think is strange.
Next step would be to make this setting survive reset, save it in eeprom, or maybe just hard-code a convenient default temperature in to the firmware.