#!/bin/sh

# Converts output of script/EnphaseBasicCapture.sh on stdin
# to stdout suitable for graphing with graphing/storesim/batsim1-daymean-1.txt
# line by line.

# Typical input:
#20180809T12:20Z consumption.readingTime 1533817200 consumption.net.wNow -181.51 consumption.total.wNow 437.258 production.wNow 618.767 storage.percentFull 69 storage.wNow -266 storage.readingTime 1533817139
#20180809T12:25Z consumption.readingTime 1533817500 consumption.net.wNow -102.944 consumption.total.wNow 455.742 production.wNow 558.686 storage.percentFull 70 storage.wNow -265 storage.readingTime 1533817441
#20180809T12:30Z consumption.readingTime 1533817799 consumption.net.wNow -109.519 consumption.total.wNow 385.462 production.wNow 494.981 storage.percentFull 72 storage.wNow -266 storage.readingTime 1533817742

# Output from above:
#G daymean HH:MM 12:20 n 1 flow|W 181.51 SoC|% 69
#G daymean HH:MM 12:25 n 1 flow|W 102.94 SoC|% 70
#G daymean HH:MM 12:30 n 1 flow|W 109.51 SoC|% 72

# Note that consumption.net.wNow is import, so is negated.

# Maybe run as:
# Prepare graph with a command similar to:
#sh $0 < /var/log/Enphase/XXXXXXXX.log > .work/tmp/batsim1-daymean.dat.tmp && gnuplot graphing/storesim/batsim1-daymean-1.txt
# eg:
#sh script/EnphaseBasic-to-batsim1-daymean.sh < /var/log/Enphase/20180809.log > .work/tmp/batsim1-daymean.dat.tmp && gnuplot -e "title='Outturn 2018/08/09'" graphing/storesim/batsim1-daymean-1.txt && chmod a+r batsim1-daymean.png

exec awk '/^20[0-9]{6}T[0-9]{2}:[0-9]{2}Z / {
        HHMM=substr($1, 10, 5);
        print "G daymean HH:MM", HHMM, "n 1 flow|W", -$5, "SoC|%", $11;
        }'
