Files
rpi-ina219/mqtt/send

33 lines
941 B
Bash
Executable File

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