#!/bin/bash ROUNDS=5 VOLTAGE=0 CURRENT=0 POWER=0 for i in $(seq ${ROUNDS}); do RESULT=$(/usr/bin/ina219) VOLTAGE_RAW=$(echo $RESULT | /bin/sed 's/\([0-9]\+\)mV \+\([0-9\.]\+\)mA/\1/') VOLTAGE=$(echo "scale=3; $VOLTAGE+$VOLTAGE_RAW" | /usr/bin/bc) CURRENT_RAW=$(echo $RESULT | /bin/sed 's/\([0-9]\+\)mV \+\([0-9\.]\+\)mA/\2/') CURRENT=$(echo "scale=3; $CURRENT+$CURRENT_RAW" | /usr/bin/bc) done VOLTAGE=$(echo "scale=0; $VOLTAGE/$ROUNDS" | /usr/bin/bc) CURRENT=$(echo "scale=0; $CURRENT/$ROUNDS" | /usr/bin/bc) POWER=$(echo "scale=0; $VOLTAGE*$CURRENT/1000" | /usr/bin/bc) echo "voltage.value $VOLTAGE" echo "current.value $CURRENT" echo "power.value $POWER" SENSOR_NAME="voltage" SENSOR_UNIT="mV" DEVICE_NAME="heat-pi ina219" ./mqtt $VOLTAGE SENSOR_NAME="current" SENSOR_UNIT="mA" DEVICE_NAME="heat-pi ina219" ./mqtt $CURRENT SENSOR_NAME="power" SENSOR_UNIT="mW" DEVICE_NAME="heat-pi ina219" ./mqtt $POWER