123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/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
|