The c.t. you are using should be within 0.5% at the current you are measuring, I cannot think of a reason why you are seeing an error this large.
This appears to be a single phase installation with the c.t. expansion board giving you 12 channels in total. Therefore are you using the demonstration sketch and emonLibDB? If you are, you can adjust the calibration by editing the sketch. You can adjust the calibration of voltage from the emonVs and current from the c.t. separately if you wish, calibrating the voltage will make this correct and affect the power reading from all the c.t’s, or you can change only the calibration for each c.t. if the voltage error is acceptable.
For the voltage, change the value “100” in the line EmonLibDB_set_vInput(1, 100.0, 0.16); // emonVS Input channel 1, voltage calibration 100, phase error 0.16°
to 1.017 (but adjust to give the correct reading).
Then for each c.t (and when you have done this, you must not move the c.t to a different input channel), change the value (100 here, 20.0 for your 20 A c.t) in lines like EmonLibDB_set_cInput(1, 100.0, 0.3); // emonTx4 Current/power Input channel 1, 0.3° phase error for 100 A CT
to give the correct power - 20.8 using the numbers you gave above.
The value for phase error should not have a major effect on the power with most loads, but you can if you wish adjust for a power factor (Leistungsfaktor) closest to 1.0. To see this, in your sketch print the value with Serial.print(EmonLibDB_getPF(ch),4); - “ch” is the channel number 1 - 12.
Something is very seriously wrong if a 20 A c.t. with a calibration factor anywhere close to 20 reads a quarter of what it should. Are you sure you have the c.t. you think you have, connected to the input you think it is?
Are you able to measure the voltage directly from the c.t? Do you see 233 mV at 14 A with your water heater?
For the 50 A c.t., you should have 12.5 / 50 × 333 mV = 83.25 mV
For the 20 A c.t., you should have 12.5 / 20 × 333 mV = 208.125 mV
I can only think that you have faulty c.t’s, the 50 A c.t. is really a 42.2 A c.t.
and the 20 A c.t. is really a 67.5 A c.t.
I only look at the numbers and know these c.t’s are not 0.5% accuracy.
One final check: if you restore the calibration of your emonTx4 to 50.0 and 20.0, does the emonTx4 read,
for the 50 A c.t. 50 A × 98.592 / 333 × 240 V = 3552 W approximately, and
for the 20 A c.t. 20 A × 61.62 / 333 × 240 V = 888 W approximately.
If it does, your emonTx4 is correct, or nearly so.