Supported Data Types
The ESF BACNet Driver supports the following data types.
Primitive
All primitive data types are supported (BitString, Boolean, CharacterString, Date, Double, Enumerated, Null, ObjectIdentifier, OctetString, Real, SignedInteger, Time, UnsignedInteger, Unsigned8, Unsigned16 and Unsigned32). They can be converted to almost all Java types.
Enumerated
All enumerated are supported. They can be converted only to Java strings.
Constructed
The constructed types are converted to JSON Strings. All types are supported, except the following types: ActionCommand (partial support), ActionCommandList, AssignedAccessRights, ChannelValue (partial support), CovSubscriptions, CovMultipleSubscriptions, CredentialAuthenticationFactor, DeviceObjectPropertyValue, EventLogRecord, EventNotificationSubscription, GroupChannelValue, KeyIdentifier, LogData, LogMultipleRecord, LogRecord, LogStatus, NameValue, ObjectPropertyValue, PropertyAccessResult, PropertyStates, PropertyValue, ReadAccessResults, ReadAccessSpecification, SecurityKeySet, WriteAccessSpecification.
Examples of JSON strings for constructed types
- ValueSources:
{
"ValueSource":{
"Address":{
"NetworkNumber":2,
"MacAddress":"[11,22,33,44,55,66]"
}
}
}
{
"ValueSource":{
"DeviceObjectReference":{
"ObjectId":{
"ObjectIdentifier":{
"ObjectType":"device",
"InstanceNumber":9
}
},
"DeviceId":{
"ObjectIdentifier":{
"ObjectType":"analog-input",
"InstanceNumber":9
}
}
}
}
}
- Arrays of primitives:
{
"Unsigned32Array":[
100,
33
]
}
- Client COV:
{
"ClientCov":{
"Real":1.0
}
}
- Process ID Selection:
{
"ProcessIdSelection":{
"Unsigned32":32
}
}
- Recipient List:
[
{
"Destination":{
"ValidDays":"[false, true, true, true, true, true, true]",
"FromTime":{
"Time":{
"Hour":1,
"Minute":0,
"Second":0,
"Hundredth":0
}
},
"ToTime":{
"Time":{
"Hour":23,
"Minute":59,
"Second":59,
"Hundredth":99
}
},
"Recipient":{
"Recipient":{
"ObjectIdentifier":{
"ObjectType":"analog-input",
"InstanceNumber":0
}
}
},
"ProcessIdentifier":0,
"IssueConfirmedNotifications":false,
"Transitions":"[false, false, false]"
}
},
{
"Destination":{
"ValidDays":"[true, true, true, true, true, true, true]",
"FromTime":{
"Time":{
"Hour":0,
"Minute":0,
"Second":0,
"Hundredth":0
}
},
"ToTime":{
"Time":{
"Hour":23,
"Minute":59,
"Second":59,
"Hundredth":99
}
},
"Recipient":{
"Recipient":{
"ObjectIdentifier":{
"ObjectType":"analog-input",
"InstanceNumber":0
}
}
},
"ProcessIdentifier":0,
"IssueConfirmedNotifications":false,
"Transitions":"[false, false, false]"
}
}
]