Just had a thought.
I assume that weewxd is using software record generation. Check in the log. If so, [[Corrections]] does not apply the corrections to archive records because, in theory, the correction should have already been applied in the LOOP packets. Obviously that's not happening here.
I've created issue
#895 to track.
In the meantime, what you can do is
create a simple service to do the calculation. It would look something like this (NOT TESTED):
from weewx.engine import StdService
class Power(StdService):
def __init__(self, engine, config_dict):
super(Power, self).__init__(engine, config_dict)
self.bind(weewx.NEW_ARCHIVE_RECORD, self.new_archive_record)
def new_archive_record(self, event)
ampere = event.record.get('ampere')
linevoltage = event.record.get('linevoltage')
if ampere is not None and linevoltage is not None:
event.record['consumption'] = ampere * linevoltage
else:
event.record['consumption'] = None
This will work provided that linevoltage and ampere do not vary too much over the archive interval. Because you are using short intervals (60 seconds), this is probably not much of a problem.