Could you please check the order of bytes against the concentrate pump data structure declaration? I see the 3rd parameter in structure is CP2 current set speed.
There is one more test routine added later in the source code (MSG_ID_DD_CONCENTRATE_PUMPS_START_STOP_OVERRIDE_REQUEST). Please add the dialin support.
This is another if/else. When doing this, we are saying there will only ever be 2 heaters. Where we use a switch statement, we are making it possible to add more heaters later. We should at least be consistent about how we do this throughout the unit.