Is the current rate the same as the target rate? I think the target should be a fixed value that has not been reached, but the current rate is rising toward the target.
But if VECTORCAST is defined there is no default clause. I'm suggesting: ... default: #ifndef VECTORCAST heatDisinfectUIState = HEAT_DISINFECT_UI_STATE_HEAT_UP_WATER; #endif break;
Out of sync w/ HD f/w, which is expecting larger payload. Additional 3 fields can be zeroes, but payload size must be increased to 32 (x20) so HD will accept it.