Power meter with Pulsed Output?

volatile unsigned int watts = 0;
const unsigned long wattMilliseconds = 5UL * 1000UL * 60UL * 60UL * 1000UL;  // 5 kWh in watt milliseconds.

void ISR1()
    {
    static unsigned long previousPulseTime = 0;
    unsigned long currentTime = millis();
    unsigned long elapsedTime = currentTime - previousPulseTime;
    previousPulseTime = currentTime;

    watts = wattMilliseconds / elapsedTime;
    }