-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwatch_power.sh
executable file
·40 lines (37 loc) · 1.46 KB
/
watch_power.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
AU="A"
CU="µWh"
battery_device=$(ls /sys/class/power_supply/ | grep -E '^BAT[0-9]')
charge_now="energy_now"
charge_full="energy_full"
if [ -f "/sys/class/power_supply/${battery_device}/charge_now" ]; then
charge_now="charge_now"
charge_full="charge_full"
fi
CF=$(cat "/sys/class/power_supply/${battery_device}/${charge_full}")
CN=$(cat "/sys/class/power_supply/${battery_device}/${charge_now}")
STATUS=$(cat "/sys/class/power_supply/${battery_device}/status")
CAPACITY=$(cat "/sys/class/power_supply/${battery_device}/capacity")
VOLTAGE=$(cat "/sys/class/power_supply/${battery_device}/voltage_now")
if [ -f "/sys/class/power_supply/${battery_device}/power_now" ]; then
POWER=$(cat "/sys/class/power_supply/${battery_device}/power_now")
fi
if [ -f "/sys/class/power_supply/${battery_device}/current_now" ]; then
CURRENT=$(cat "/sys/class/power_supply/${battery_device}/current_now")
fi
if [ ! -f "/sys/class/power_supply/${battery_device}/power_now" ]; then
POWER=$(echo "(${VOLTAGE} * ${CURRENT}) / 1000000" | bc)
AU="µA"
CU="µAh"
fi
if [ ! -f "/sys/class/power_supply/${battery_device}/current_now" ]; then
CURRENT=$(echo "scale=6; ${POWER} / ${VOLTAGE}" | bc)
fi
echo " date: $(date)"
echo " charge_now: ${CN}${CU}"
echo " charge_full: ${CF}${CU}"
echo " status: $STATUS"
echo " percentage: ${CAPACITY}%"
echo " charge power: ${POWER}µW"
echo "charge voltage: ${VOLTAGE}µV"
echo "charge current: ${CURRENT}${AU}"