#!/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

