33 lines
941 B
Bash
Executable File
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
|
|
|