#!/bin/sh ### Temperature monitoring plug-in based on scom program from Sensorsoft ### Copyright (c) 2003 "prog" ### ### THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ### WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ### MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ### ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ### WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ### ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ### OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ### ### # define temperature zones from different sensors, connected to serial ports ### THERM_B=`/scom/scom -Q /scom/setupfiles/ST6105.ini /dev/ttyS15 2>/dev/null` THERM_A=`/scom/scom -Q /scom/setupfiles/ST6105.ini /dev/ttyS44 2>/dev/null` THERM_C=`/scom/scom -Q /scom/setupfiles/ST6105.ini /dev/ttyS45 2>/dev/null` ### PROG="therm" # name of a program TEST="therm" # name of this test HI_GRAD="78" # define alarm temp level MED_GRAD="71" # define warning temp level AWK=/bin/awk ### # run some initial checks first if test ! "$BBHOME" then echo "template: BBHOME is not set" exit 1 fi if test ! -d "$BBHOME" then echo "template: BBHOME is invalid" exit 1 fi if test ! "$BBTMP" then echo "template: The BB environment is not set" exit 1 fi . $BBHOME/etc/bbdef.sh # set BB environment main_temp () { # Getting temperature from each sensor and send status to $BBDISPLAY TEMPERATURE="$1" BBDISP="$2" MACHINE="$3" SENSOR_TST=`echo "$TEMPERATURE" | $GREP "F"` if [ "$SENSOR_TST" = "" ]; then exit 0 fi T_GRAD=`echo "$TEMPERATURE" | $AWK -F"." '{print $1}'` # parsing out temp COLOR="green" STATUS="Server room temperature is: $TEMPERATURE" if [ "$T_GRAD" -lt "$HI_GRAD" ] && [ "$T_GRAD" -gt "$MED_GRAD" ] then COLOR="yellow"; export COLOR fi if [ "$T_GRAD" -ge "$HI_GRAD" ] then COLOR="red"; export COLOR fi LINE="status $MACHINE.$TEST $COLOR `date` $STATUS" # SEND IT TO BBDISPLAY $BB $BBDISP "$LINE" } # End of Main_Temp main_temp "$THERM_B" "192.168.2.10" "Zone_B" main_temp "$THERM_C" "192.168.2.10" "Zone_C" main_temp "$THERM_A" "192.168.2.10" "Zone_A"