#!/bin/sh
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

. /lib/functions.sh

mount -o remount,ro /overlay /overlay
mount -o remount,ro / /

stop_instance() {
	/etc/init.d/nut-server stop "$1"
}

shutdown_instance() {
	local cfg="$1"
	config_get driver "$cfg" driver "usbhid-ups"
	/lib/nut/${driver} -a "$cfg" -k
}

[ -f /var/run/killpower ] && {
	[ -f /etc/config/nut_server ] && {
		config_load nut_server

		# Can't FSD unless drivers are stopped
		config_foreach stop_instance driver
		# Driver will  wait 'offdelay' before shutting down
		config_foreach shutdown_instance driver
		# So this can happen
		poweroff
		# And just in case
		sleep 120
		# Uh-oh failed to poweroff UPS
		reboot -f
	} || {
		poweroff
	}
} || {
	poweroff
}