Added ability to scan muiltiple Device IDs passed on the command line

Added -O parameter to supress optional property scan
This commit is contained in:
brayra
2009-07-16 19:04:07 +00:00
parent 6a811d32e1
commit fb1b2a9c90
+131 -99
View File
@@ -1,115 +1,147 @@
#!/bin/bash #!/bin/bash
PROG=`basename $0` PROG=`basename $0`
OPTIONAL=1
usage() usage()
{ {
echo "usage: $PROG <<BACnetID>> echo "usage: $PROG [OPTIONS] <<BACnetID>> [ <<BACnetID>> ... ]
Will return Required and Optional property values Will return Required and Optional property values
from the requested device. from the requested device.
-o Display optional properties [default behavior]
-O Supress display of optional properties
-h Display this help
" "
} }
while getopts ":oOh" opt; do
case $opt in
o ) OPTIONAL=1
;;
O ) OPTIONAL=0
;;
h ) usage
exit 1
;;
\? ) usage
exit 1
esac
done
shift $(($OPTIND -1))
if [ $# -eq 0 ] || [ "$1" = "" ] ; then if [ $# -eq 0 ] || [ "$1" = "" ] ; then
usage usage
exit exit
fi fi
if [ $(( $1 + 0 )) -eq 0 ] ; then
echo "ERROR: ID must be an integer!!" >&2
usage
exit
fi
echo "Test: Read Required Properties of Device Object $1" run_test()
echo -n "OBJECT IDENTIFIER:" {
./bacrp $1 8 $1 75 echo "Test: Read Required Properties of Device Object $1"
echo -n "OBJECT NAME:" echo -n "OBJECT IDENTIFIER:"
./bacrp $1 8 $1 77 ./bacrp $1 8 $1 75
echo -n "OBJECT TYPE:" echo -n "OBJECT NAME:"
./bacrp $1 8 $1 79 ./bacrp $1 8 $1 77
echo -n "SYSTEM STATUS:" echo -n "OBJECT TYPE:"
./bacrp $1 8 $1 112 ./bacrp $1 8 $1 79
echo -n "VENDOR NAME:" echo -n "SYSTEM STATUS:"
./bacrp $1 8 $1 121 ./bacrp $1 8 $1 112
echo -n "VENDOR IDENTIFIER:" echo -n "VENDOR NAME:"
./bacrp $1 8 $1 120 ./bacrp $1 8 $1 121
echo -n "MODEL NAME:" echo -n "VENDOR IDENTIFIER:"
./bacrp $1 8 $1 70 ./bacrp $1 8 $1 120
echo -n "FIRMWARE REVISION:" echo -n "MODEL NAME:"
./bacrp $1 8 $1 44 ./bacrp $1 8 $1 70
echo -n "APPLICATION SOFTWARE VERSION:" echo -n "FIRMWARE REVISION:"
./bacrp $1 8 $1 12 ./bacrp $1 8 $1 44
echo -n "PROTOCOL VERSION:" echo -n "APPLICATION SOFTWARE VERSION:"
./bacrp $1 8 $1 98 ./bacrp $1 8 $1 12
echo -n "PROTOCOL REVISION:" echo -n "PROTOCOL VERSION:"
./bacrp $1 8 $1 139 ./bacrp $1 8 $1 98
echo -n "PROTOCOL SERVICES SUPPORTED:" echo -n "PROTOCOL REVISION:"
./bacrp $1 8 $1 97 ./bacrp $1 8 $1 139
echo -n "OBJECT TYPES SUPPORTED:" echo -n "PROTOCOL SERVICES SUPPORTED:"
./bacrp $1 8 $1 96 ./bacrp $1 8 $1 97
echo -n "OBJECT LIST LENGTH:" echo -n "OBJECT TYPES SUPPORTED:"
./bacrp $1 8 $1 76 0 ./bacrp $1 8 $1 96
echo -n "OBJECT LIST:" echo -n "OBJECT LIST LENGTH:"
./bacrp $1 8 $1 76 ./bacrp $1 8 $1 76 0
echo -n "MAX APDU LENGTH ACCEPTED:" echo -n "OBJECT LIST:"
./bacrp $1 8 $1 62 ./bacrp $1 8 $1 76
echo -n "SEGMENTATION SUPPORTED:" echo -n "MAX APDU LENGTH ACCEPTED:"
./bacrp $1 8 $1 107 ./bacrp $1 8 $1 62
echo -n "APDU TIMEOUT:" echo -n "SEGMENTATION SUPPORTED:"
./bacrp $1 8 $1 11 ./bacrp $1 8 $1 107
echo -n "NUMGER OF APDU ENTRIES:" echo -n "APDU TIMEOUT:"
./bacrp $1 8 $1 73 ./bacrp $1 8 $1 11
echo -n "DEVICE ADDRESS BINDING:" echo -n "NUMGER OF APDU ENTRIES:"
./bacrp $1 8 $1 30 ./bacrp $1 8 $1 73
echo -n "DATABASE REVISION:" echo -n "DEVICE ADDRESS BINDING:"
./bacrp $1 8 $1 155 ./bacrp $1 8 $1 30
echo "" echo -n "DATABASE REVISION:"
echo "Test: Read Optional Properties of Device Object $1" ./bacrp $1 8 $1 155
echo -n "LOCATION:" if [ $OPTIONAL -eq 1 ] ; then
./bacrp $1 8 $1 58 echo "Test: Read Optional Properties of Device Object $1"
echo -n "DESCRIPTION:" echo -n "LOCATION:"
./bacrp $1 8 $1 28 ./bacrp $1 8 $1 58
echo -n "MAX SEGMENTS SUPPORTED:" echo -n "DESCRIPTION:"
./bacrp $1 8 $1 167 ./bacrp $1 8 $1 28
echo -n "VT CLASSES SUPPORTED:" echo -n "MAX SEGMENTS SUPPORTED:"
./bacrp $1 8 $1 122 ./bacrp $1 8 $1 167
echo -n "ACTIVE VT SESSIONS:" echo -n "VT CLASSES SUPPORTED:"
./bacrp $1 8 $1 5 ./bacrp $1 8 $1 122
echo -n "LOCAL TIME:" echo -n "ACTIVE VT SESSIONS:"
./bacrp $1 8 $1 57 ./bacrp $1 8 $1 5
echo -n "LOCAL DATE:" echo -n "LOCAL TIME:"
./bacrp $1 8 $1 56 ./bacrp $1 8 $1 57
echo -n "UTC OFFSET:" echo -n "LOCAL DATE:"
./bacrp $1 8 $1 119 ./bacrp $1 8 $1 56
echo -n "DAYLIGHT SAVINGS STATUS:" echo -n "UTC OFFSET:"
./bacrp $1 8 $1 24 ./bacrp $1 8 $1 119
echo -n "APDU SEGMENT TIMEOUT:" echo -n "DAYLIGHT SAVINGS STATUS:"
./bacrp $1 8 $1 10 ./bacrp $1 8 $1 24
echo -n "LIST OF SESSION KEYS:" echo -n "APDU SEGMENT TIMEOUT:"
./bacrp $1 8 $1 55 ./bacrp $1 8 $1 10
echo -n "TIME SYNCHRONIZATION RECIPIENTS:" echo -n "LIST OF SESSION KEYS:"
./bacrp $1 8 $1 116 ./bacrp $1 8 $1 55
echo -n "MAX MASTER:" echo -n "TIME SYNCHRONIZATION RECIPIENTS:"
./bacrp $1 8 $1 64 ./bacrp $1 8 $1 116
echo -n "MAX INFO FRAMES:" echo -n "MAX MASTER:"
./bacrp $1 8 $1 63 ./bacrp $1 8 $1 64
echo -n "ACK REQUIRED:" echo -n "MAX INFO FRAMES:"
./bacrp $1 8 $1 1 ./bacrp $1 8 $1 63
echo -n "CONFIGURATION FILES:" echo -n "ACK REQUIRED:"
./bacrp $1 8 $1 154 ./bacrp $1 8 $1 1
echo -n "LAST RESTORE TIME:" echo -n "CONFIGURATION FILES:"
./bacrp $1 8 $1 157 ./bacrp $1 8 $1 154
echo -n "BACKUP FAILURE TIMEOUT:" echo -n "LAST RESTORE TIME:"
./bacrp $1 8 $1 153 ./bacrp $1 8 $1 157
echo -n "ACTIVE COV SUBSCRIPTIONS:" echo -n "BACKUP FAILURE TIMEOUT:"
./bacrp $1 8 $1 152 ./bacrp $1 8 $1 153
echo -n "SLAVE PROXY ENABLE:" echo -n "ACTIVE COV SUBSCRIPTIONS:"
./bacrp $1 8 $1 172 ./bacrp $1 8 $1 152
echo -n "MANUAL SLAVE ADDRESS BINDING:" echo -n "SLAVE PROXY ENABLE:"
./bacrp $1 8 $1 170 ./bacrp $1 8 $1 172
echo -n "AUTO SLAVE DISCOVERY:" echo -n "MANUAL SLAVE ADDRESS BINDING:"
./bacrp $1 8 $1 169 ./bacrp $1 8 $1 170
echo -n "SLAVE ADDRESS BINDING:" echo -n "AUTO SLAVE DISCOVERY:"
./bacrp $1 8 $1 171 ./bacrp $1 8 $1 169
echo -n "PROFILE NAME:" echo -n "SLAVE ADDRESS BINDING:"
./bacrp $1 8 $1 168 ./bacrp $1 8 $1 171
echo -n "PROFILE NAME:"
./bacrp $1 8 $1 168
fi
echo " "
}
while [ $# -gt 0 ] ; do
ID=$(( $1 + 0 ))
shift
if [ $ID -eq 0 ] ; then
echo "ERROR: Device ID must be an integer!! [ID=$ID]" >&2
fi
run_test $ID
done