Skip to content

Instantly share code, notes, and snippets.

@redraw
Created May 5, 2024 20:47
Show Gist options
  • Save redraw/04721b50f45212c7842578effe7b7ec2 to your computer and use it in GitHub Desktop.
Save redraw/04721b50f45212c7842578effe7b7ec2 to your computer and use it in GitHub Desktop.
/usr/lib/systemd/system-sleep/battery-monitor
#!/bin/bash
# battery monitor systemd suspend/resume hook
LOGFILE="/var/log/battery.csv"
KERNEL=$(uname -r)
BIOS=$(dmidecode -s bios-version)
log() {
cd /sys/class/power_supply
for power_supply in BAT*/; do
if [ -f `pwd`/$power_supply/energy_full ] && [ -f `pwd`/$power_supply/energy_now ]; then
ENERGY_FULL=`cat $power_supply/energy_full`
ENERGY_NOW=`cat $power_supply/energy_now`
TIME=`date "+%s"`
echo \"$BIOS\",\"$KERNEL\",\"$1\",\"$power_supply\",\"$ENERGY_FULL\",\"$ENERGY_NOW\",\"$TIME\" >> $LOGFILE
fi
done
}
case $1 in
pre) log $2 ;; # "suspend", "hibernate", "hybrid-sleep", or "suspend-then-hibernate"
post) log resume ;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment