OK - I see one trap you’ve fallen into. What you’ve done is almost correct, but remember, you declared the new variables as type integer:
What that means is a current less than 1 A will be rounded down to zero, apparent power will be ok but as power factor can never be greater than 1, that will almost always be zero too. What you need to do is as we do with temperature to retain the decimal part: multiply by (say) 100 before you assign the value to the variable, then multiply by 0.01 in emonHub to restore the value.
Otherwise, what you’ve done looks correct. I have not tried to compile it (and even if I did, my emonPi can’t be taken off the job it’s doing) and I can’t test it.
I should have mentioned that if you take the “emon” board out of your emonPi, you’ll still need the USB power while you are uploading to it. And note which way round the connectors to the LCD go.
If you’re using the Arduino IDE, you need to add this declaration at the top of
static void showString (PGM_P s);
(I don’t know whether platformio needs that or not.)