#!/bin/sh - startday=$1 export TZ=America/Los_Angeles getutctime() { date -j -v 0H -v -1H -v 0M -v 0S -f %F "$1" +%s } getwhday() { grep -h "^production $(echo "$1" | head -c 7)" solar.*.log | sort | head -n 1 | python -c ' import json import sys l = sys.stdin.readline() data = json.loads(l.split(" ", 2)[2]) proddata = data["production"][1] condata = data["consumption"][0] print "\t%14.03f\t%14.03f\t%14.03f\t%14.03f\t%14.03f\t%14.03f\t%14.03f" % (float(proddata["whToday"]), float(proddata["whLastSevenDays"]), float(proddata["whLastSevenDays"]) / 7, float(proddata["whLifetime"]), float(condata["whToday"]), float(condata["whLastSevenDays"]), float(condata["whLastSevenDays"]) / 7)' } startepoch=$(getutctime "$startday") now=$(date +%s) printf "Date\t\t%14s\t%14s\t%14s\t%14s\t%14s\t%14s\t%14s\n" wH "last 7" "avg last 7" "lifetime" "consum today" "con last 7" "con last 7 avg" while [ "$startepoch" -le "$now" ]; do echo -n $(date -r "$startepoch" +%F) getwhday "$startepoch" startepoch=$(date -r "$startepoch" -v +1d +%s) done