diff --git a/powerwall.sh b/powerwall.sh index 8e9039da..790569f5 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -551,7 +551,7 @@ CHECKPOWER(){ OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'` OUTPUTA2=`echo "scale=1; ${OUTPUTA}*2" | bc` OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'` - OUTPUTW=`printf "%'.1f\n" ${OUTPUTW}` + [[ "${OUTPUTW}" == *"."* ]] && OUTPUTW=`printf "%'.1f\n" ${OUTPUTW}` || OUTPUTW=`printf "%'.0f\n" ${OUTPUTW}` BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'` BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'` fi @@ -570,7 +570,7 @@ CHECKPOWER(){ if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then SVRRM_VOLT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //') SVRRM_WATT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.4.1 | sed 's/.*: //') - SVRRM_WATT=`printf "%'.1f\n" ${SVRRM_WATT}` + [[ "${SVRRM_WATT}" == *"."* ]] && SVRRM_WATT=`printf "%'.1f\n" ${SVRRM_WATT}` || SVRRM_WATT=`printf "%'.0f\n" ${SVRRM_WATT}` SVRRM_AMP=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //') SVRRM_AMP=`echo "scale=1; ${SVRRM_AMP}/10" | bc` fi @@ -580,7 +580,7 @@ CHECKPOWER(){ APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | bc` # APCPDU_WATT=$(snmpwalk -v 1 -c public 10.10.1.210 .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //') APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc` - APCPDU_WATT=`printf "%'.1f\n" ${APCPDU_WATT}` + [[ "${APCPDU_WATT}" == *"."* ]] && APCPDU_WATT=`printf "%'.1f\n" ${APCPDU_WATT}` || APCPDU_WATT=`printf "%'.0f\n" ${APCPDU_WATT}` fi echo -e "${idsCL[LightCyan]}ServerRack Amps ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_AMP}'A${idsCL[Default]}" @@ -591,7 +591,7 @@ CHECKPOWER(){ if [ "$(CHECK_HOST 10.10.1.210)" != "false" ]; then NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc` NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` - NETRK_WATT=`printf "%'.1f\n" ${NETRK_WATT}` + [[ "${NETRK_WATT}" == *"."* ]] && NETRK_WATT=`printf "%'.1f\n" ${NETRK_WATT}` || NETRK_WATT=`printf "%'.0f\n" ${NETRK_WATT}` fi VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc` fi @@ -614,7 +614,8 @@ CHECKPOWER(){ if [ -f ${hostfile} ] && [ "${hostfile}" != "${PW_TMPFOLDER}/*.hostpower" ]; then host=${hostfile%.*}; host=${host##*/} if [ "${host}" != "*" ] && [ "${host}" != "done" ]; then - watts=`printf "%'.1f\n" $(cat ${hostfile})` + watts=$(cat ${hostfile}) + [[ "${watts}" == *"."* ]] && watts=`printf "%'.1f\n" ${watts}` || watts=`printf "%'.0f\n" ${watts}` if [ "${watts}" == "down" ]; then hostpower="${idsCL[Red]}Host Offline" elif [ "${watts}" == "0" ]; then hostpower="${idsCL[Default]}n/a" else hostpower="${idsCL[Green]}${watts}'W"