diff --git a/defaults.inc b/defaults.inc index 3d3070be..a0615448 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.155-05152023' +VERS='2.156-05222023' noheader=' update service ' diff --git a/powerwall.sh b/powerwall.sh index 16f22caf..68683072 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -227,6 +227,16 @@ CHECKPOWER_SERVICE(){ while true; do INVSTATSINFO=$(curl -s "http://10.10.0.61/stats.json") if [ "${INVSTATSINFO}" != "" ]; then + [ -f ${TMPFOLDER}/powerlogger.insert ] && lastinsert=$(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/powerlogger.insert)) || lastinsert=100000 + if [ "$(compgen -G "${TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.dc.*")" != "" ]; then + wait=60 + else + wait=300 + fi + if [ ${lastinsert} -ge ${wait} ]; then + POWERLOGGER ${INVSTATSINFO} & + fi + INPUTACV=$(echo ${INVSTATSINFO} | jq '.inputs .inV') BATTVOLT=$(echo ${INVSTATSINFO} | jq '.inputs .battV') datetime=`date +'%Y-%m-%d %H:%M:%S'` @@ -317,6 +327,29 @@ CHECKPOWER_SERVICE(){ done # & } +POWERLOGGER(){ + JSONSTATS=${1} + datetime=`date +'%Y-%m-%d %H:%M:%S'` + # JSONSTATS=$(curl -s "http://10.10.0.61/stats.json") + inV=`echo ${JSONSTATS} | jq '.inputs .inV'` + inA=`echo ${JSONSTATS} | jq '.inputs .inA'` + outV=`echo ${JSONSTATS} | jq '.outputs .outV'` + outA=`echo ${JSONSTATS} | jq '.outputs .outA'` + battV=`echo ${JSONSTATS} | jq '.inputs .battV'` + xfA=`echo ${JSONSTATS} | jq '.inputs .xfA'` + + QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('3','${datetime}','${inV}','${inA}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('4','${datetime}','${outV}','${outA}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('5','${datetime}','${battV}','${xfA}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('${datetime}','${JSONSTATS}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + + touch ${TMPFOLDER}/powerlogger.insert +} + POWERLOGGER_SERVICE(){ while true; do datetime=`date +'%Y-%m-%d %H:%M:%S'`