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:
+131
-99
@@ -1,115 +1,147 @@
|
||||
#!/bin/bash
|
||||
|
||||
PROG=`basename $0`
|
||||
OPTIONAL=1
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $PROG <<BACnetID>>
|
||||
echo "usage: $PROG [OPTIONS] <<BACnetID>> [ <<BACnetID>> ... ]
|
||||
|
||||
Will return Required and Optional property values
|
||||
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
|
||||
usage
|
||||
exit
|
||||
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"
|
||||
echo -n "OBJECT IDENTIFIER:"
|
||||
./bacrp $1 8 $1 75
|
||||
echo -n "OBJECT NAME:"
|
||||
./bacrp $1 8 $1 77
|
||||
echo -n "OBJECT TYPE:"
|
||||
./bacrp $1 8 $1 79
|
||||
echo -n "SYSTEM STATUS:"
|
||||
./bacrp $1 8 $1 112
|
||||
echo -n "VENDOR NAME:"
|
||||
./bacrp $1 8 $1 121
|
||||
echo -n "VENDOR IDENTIFIER:"
|
||||
./bacrp $1 8 $1 120
|
||||
echo -n "MODEL NAME:"
|
||||
./bacrp $1 8 $1 70
|
||||
echo -n "FIRMWARE REVISION:"
|
||||
./bacrp $1 8 $1 44
|
||||
echo -n "APPLICATION SOFTWARE VERSION:"
|
||||
./bacrp $1 8 $1 12
|
||||
echo -n "PROTOCOL VERSION:"
|
||||
./bacrp $1 8 $1 98
|
||||
echo -n "PROTOCOL REVISION:"
|
||||
./bacrp $1 8 $1 139
|
||||
echo -n "PROTOCOL SERVICES SUPPORTED:"
|
||||
./bacrp $1 8 $1 97
|
||||
echo -n "OBJECT TYPES SUPPORTED:"
|
||||
./bacrp $1 8 $1 96
|
||||
echo -n "OBJECT LIST LENGTH:"
|
||||
./bacrp $1 8 $1 76 0
|
||||
echo -n "OBJECT LIST:"
|
||||
./bacrp $1 8 $1 76
|
||||
echo -n "MAX APDU LENGTH ACCEPTED:"
|
||||
./bacrp $1 8 $1 62
|
||||
echo -n "SEGMENTATION SUPPORTED:"
|
||||
./bacrp $1 8 $1 107
|
||||
echo -n "APDU TIMEOUT:"
|
||||
./bacrp $1 8 $1 11
|
||||
echo -n "NUMGER OF APDU ENTRIES:"
|
||||
./bacrp $1 8 $1 73
|
||||
echo -n "DEVICE ADDRESS BINDING:"
|
||||
./bacrp $1 8 $1 30
|
||||
echo -n "DATABASE REVISION:"
|
||||
./bacrp $1 8 $1 155
|
||||
echo ""
|
||||
echo "Test: Read Optional Properties of Device Object $1"
|
||||
echo -n "LOCATION:"
|
||||
./bacrp $1 8 $1 58
|
||||
echo -n "DESCRIPTION:"
|
||||
./bacrp $1 8 $1 28
|
||||
echo -n "MAX SEGMENTS SUPPORTED:"
|
||||
./bacrp $1 8 $1 167
|
||||
echo -n "VT CLASSES SUPPORTED:"
|
||||
./bacrp $1 8 $1 122
|
||||
echo -n "ACTIVE VT SESSIONS:"
|
||||
./bacrp $1 8 $1 5
|
||||
echo -n "LOCAL TIME:"
|
||||
./bacrp $1 8 $1 57
|
||||
echo -n "LOCAL DATE:"
|
||||
./bacrp $1 8 $1 56
|
||||
echo -n "UTC OFFSET:"
|
||||
./bacrp $1 8 $1 119
|
||||
echo -n "DAYLIGHT SAVINGS STATUS:"
|
||||
./bacrp $1 8 $1 24
|
||||
echo -n "APDU SEGMENT TIMEOUT:"
|
||||
./bacrp $1 8 $1 10
|
||||
echo -n "LIST OF SESSION KEYS:"
|
||||
./bacrp $1 8 $1 55
|
||||
echo -n "TIME SYNCHRONIZATION RECIPIENTS:"
|
||||
./bacrp $1 8 $1 116
|
||||
echo -n "MAX MASTER:"
|
||||
./bacrp $1 8 $1 64
|
||||
echo -n "MAX INFO FRAMES:"
|
||||
./bacrp $1 8 $1 63
|
||||
echo -n "ACK REQUIRED:"
|
||||
./bacrp $1 8 $1 1
|
||||
echo -n "CONFIGURATION FILES:"
|
||||
./bacrp $1 8 $1 154
|
||||
echo -n "LAST RESTORE TIME:"
|
||||
./bacrp $1 8 $1 157
|
||||
echo -n "BACKUP FAILURE TIMEOUT:"
|
||||
./bacrp $1 8 $1 153
|
||||
echo -n "ACTIVE COV SUBSCRIPTIONS:"
|
||||
./bacrp $1 8 $1 152
|
||||
echo -n "SLAVE PROXY ENABLE:"
|
||||
./bacrp $1 8 $1 172
|
||||
echo -n "MANUAL SLAVE ADDRESS BINDING:"
|
||||
./bacrp $1 8 $1 170
|
||||
echo -n "AUTO SLAVE DISCOVERY:"
|
||||
./bacrp $1 8 $1 169
|
||||
echo -n "SLAVE ADDRESS BINDING:"
|
||||
./bacrp $1 8 $1 171
|
||||
echo -n "PROFILE NAME:"
|
||||
./bacrp $1 8 $1 168
|
||||
run_test()
|
||||
{
|
||||
echo "Test: Read Required Properties of Device Object $1"
|
||||
echo -n "OBJECT IDENTIFIER:"
|
||||
./bacrp $1 8 $1 75
|
||||
echo -n "OBJECT NAME:"
|
||||
./bacrp $1 8 $1 77
|
||||
echo -n "OBJECT TYPE:"
|
||||
./bacrp $1 8 $1 79
|
||||
echo -n "SYSTEM STATUS:"
|
||||
./bacrp $1 8 $1 112
|
||||
echo -n "VENDOR NAME:"
|
||||
./bacrp $1 8 $1 121
|
||||
echo -n "VENDOR IDENTIFIER:"
|
||||
./bacrp $1 8 $1 120
|
||||
echo -n "MODEL NAME:"
|
||||
./bacrp $1 8 $1 70
|
||||
echo -n "FIRMWARE REVISION:"
|
||||
./bacrp $1 8 $1 44
|
||||
echo -n "APPLICATION SOFTWARE VERSION:"
|
||||
./bacrp $1 8 $1 12
|
||||
echo -n "PROTOCOL VERSION:"
|
||||
./bacrp $1 8 $1 98
|
||||
echo -n "PROTOCOL REVISION:"
|
||||
./bacrp $1 8 $1 139
|
||||
echo -n "PROTOCOL SERVICES SUPPORTED:"
|
||||
./bacrp $1 8 $1 97
|
||||
echo -n "OBJECT TYPES SUPPORTED:"
|
||||
./bacrp $1 8 $1 96
|
||||
echo -n "OBJECT LIST LENGTH:"
|
||||
./bacrp $1 8 $1 76 0
|
||||
echo -n "OBJECT LIST:"
|
||||
./bacrp $1 8 $1 76
|
||||
echo -n "MAX APDU LENGTH ACCEPTED:"
|
||||
./bacrp $1 8 $1 62
|
||||
echo -n "SEGMENTATION SUPPORTED:"
|
||||
./bacrp $1 8 $1 107
|
||||
echo -n "APDU TIMEOUT:"
|
||||
./bacrp $1 8 $1 11
|
||||
echo -n "NUMGER OF APDU ENTRIES:"
|
||||
./bacrp $1 8 $1 73
|
||||
echo -n "DEVICE ADDRESS BINDING:"
|
||||
./bacrp $1 8 $1 30
|
||||
echo -n "DATABASE REVISION:"
|
||||
./bacrp $1 8 $1 155
|
||||
if [ $OPTIONAL -eq 1 ] ; then
|
||||
echo "Test: Read Optional Properties of Device Object $1"
|
||||
echo -n "LOCATION:"
|
||||
./bacrp $1 8 $1 58
|
||||
echo -n "DESCRIPTION:"
|
||||
./bacrp $1 8 $1 28
|
||||
echo -n "MAX SEGMENTS SUPPORTED:"
|
||||
./bacrp $1 8 $1 167
|
||||
echo -n "VT CLASSES SUPPORTED:"
|
||||
./bacrp $1 8 $1 122
|
||||
echo -n "ACTIVE VT SESSIONS:"
|
||||
./bacrp $1 8 $1 5
|
||||
echo -n "LOCAL TIME:"
|
||||
./bacrp $1 8 $1 57
|
||||
echo -n "LOCAL DATE:"
|
||||
./bacrp $1 8 $1 56
|
||||
echo -n "UTC OFFSET:"
|
||||
./bacrp $1 8 $1 119
|
||||
echo -n "DAYLIGHT SAVINGS STATUS:"
|
||||
./bacrp $1 8 $1 24
|
||||
echo -n "APDU SEGMENT TIMEOUT:"
|
||||
./bacrp $1 8 $1 10
|
||||
echo -n "LIST OF SESSION KEYS:"
|
||||
./bacrp $1 8 $1 55
|
||||
echo -n "TIME SYNCHRONIZATION RECIPIENTS:"
|
||||
./bacrp $1 8 $1 116
|
||||
echo -n "MAX MASTER:"
|
||||
./bacrp $1 8 $1 64
|
||||
echo -n "MAX INFO FRAMES:"
|
||||
./bacrp $1 8 $1 63
|
||||
echo -n "ACK REQUIRED:"
|
||||
./bacrp $1 8 $1 1
|
||||
echo -n "CONFIGURATION FILES:"
|
||||
./bacrp $1 8 $1 154
|
||||
echo -n "LAST RESTORE TIME:"
|
||||
./bacrp $1 8 $1 157
|
||||
echo -n "BACKUP FAILURE TIMEOUT:"
|
||||
./bacrp $1 8 $1 153
|
||||
echo -n "ACTIVE COV SUBSCRIPTIONS:"
|
||||
./bacrp $1 8 $1 152
|
||||
echo -n "SLAVE PROXY ENABLE:"
|
||||
./bacrp $1 8 $1 172
|
||||
echo -n "MANUAL SLAVE ADDRESS BINDING:"
|
||||
./bacrp $1 8 $1 170
|
||||
echo -n "AUTO SLAVE DISCOVERY:"
|
||||
./bacrp $1 8 $1 169
|
||||
echo -n "SLAVE ADDRESS BINDING:"
|
||||
./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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user