build/packages/bsp/common/usr/lib/armbian/armbian-check-battery-shutdown

30 lines
992 B
Bash
Executable File

#!/bin/bash
set -o nounset
set -o errexit
set -o pipefail
shopt -s dotglob
# SPDX-License-Identifier: MIT
# This script should be executed every 5 minutes by a cron job `/etc/cron.d/armbian-check-battery`.
# It checks if battery is discharging and battery level is more than 10%. If less, then start a system shutdown.
# Script uses `batteryinfo` function from `30-armbian-sysinfo` file of Armbian distribution.
BATTERY_PERCENT_MIN='10'
# Include functions:
# getboardtemp()
# batteryinfo()
# ambienttemp()
source /usr/lib/armbian/armbian-allwinner-battery
batteryinfo
# `status_battery_text` has a leading whitespace
if [ "$status_battery_connected" == '1' ] && [[ "$status_battery_text" =~ [[:space:]]*discharging ]]; then
# When no battery connected, variable `battery_percent` is not defined!
if [ "$battery_percent" -lt "$BATTERY_PERCENT_MIN" ]; then
logger --tag cron_check_battery_shutdown "battery_percent = $battery_percent, running shutdown"
shutdown -h +1
fi
fi