#!/bin/bash # defines DIR="/sys/devices/virtual/thermal" # helper function direxists() { [ `adb shell "[ -d $1 ] && echo found"` ] } fileexists() { [ `adb shell "[ -f $1 ] && echo found"` ] } getprop() { if fileexists $1; then echo "`adb shell cat $1 | tr -d '\r'`" else echo "FILE $1 NOT FOUND" fi } print_if_exists() { if fileexists $1; then local ERROR=`getprop $1 | grep "Invalid"` if [ ${#ERROR} -eq 0 ]; then eval "$2=`getprop $1`" else eval "$2=ERROR" fi else eval "$2=DNE" fi } # setup if [[ "`adb shell id | tr -d '\r' | awk -F'[()]' '{print $2}'`" != "root" ]]; then adb root adb wait-for-device fi # device name echo Device: `adb shell getprop ro.product.model` # get zones ZONES=`adb shell ls $DIR | tr -d '\r' | grep thermal_zone | tr -d thermal_zone | sort -n` # print temperature of each zone for ZONE in $ZONES; do print_if_exists $DIR"/thermal_zone"$ZONE"/mode" MODE print_if_exists $DIR"/thermal_zone"$ZONE"/temp" TEMP print_if_exists $DIR"/thermal_zone"$ZONE"/type" TYPE printf "Zone %02d: MODE=%-8s TEMP=%-5s TYPE=%s\n" $ZONE $MODE $TEMP $TYPE done # error if ! direxists $DIR; then echo "Thermal directory not found" fi