mirror of
https://github.com/openwrt/luci.git
synced 2025-01-31 03:41:47 +00:00
dcac704b3d
Introduce a new package luci-app-battstatus which queries battery charge information using i2c commands and displays a charge indicator in the upper right notification area. So far this package has been tested to work with the HooToo HT-TM05 travel router but might be extended to cover further models in the future. Signed-off-by: Russell Morris <rmorris@rkmorris.us> [rebase on top of master, rewrite commit message, adjust copyright, convert some ubus fields to boolean values] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
40 lines
897 B
Bash
Executable File
40 lines
897 B
Bash
Executable File
#!/bin/sh
|
|
|
|
. /usr/share/libubox/jshn.sh
|
|
|
|
case "$1" in
|
|
list)
|
|
printf '{ "getBatteryStatus": {} }'
|
|
;;
|
|
call)
|
|
case "$2" in
|
|
getBatteryStatus)
|
|
json_init
|
|
|
|
eval $(/bin/ubus call system board 2>/dev/null | /usr/bin/jsonfilter -e 'MODEL=@.model')
|
|
json_add_object "$MODEL"
|
|
|
|
if [ -f /usr/sbin/i2cset ] && [ -f /usr/sbin/i2cget ]; then
|
|
json_add_boolean valid 1
|
|
if [ $(i2cset -y 0 0x0a 0x0a 0x01 && i2cget -y 0 0x0a 0x0a) = 0x40 ]; then
|
|
json_add_boolean charging 1
|
|
else
|
|
json_add_boolean charging 0
|
|
fi
|
|
json_add_int percentage $(i2cset -y 0 0x0a 0x0a 0x10 && i2cget -y 0 0x0a 0x0a | xargs printf %d)
|
|
else
|
|
json_add_boolean valid 0
|
|
if [ ! -f /usr/sbin/i2cset ]; then
|
|
json_add_string message "Need i2cset"
|
|
else
|
|
json_add_string message "Need i2cget"
|
|
fi
|
|
fi
|
|
|
|
json_close_object
|
|
json_dump
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|