Custom BACnet Points

Last modified by Mark Kohlmann on 2026/06/22 17:44

SR version 3.050 and later support Custom BACnet Points.  The custom points are defined in the SrBacnetConfig.json file.  All point names must be unique, make sure OverrideLabel options are not duplicated if you use this option.  Only define needed points.  Global points limit still applies.  Custom points may coexist with default points, be cautious that your instance IDs do not overlap if using both.  A BACnet instance is unique defined by its type and Instance ID.  AnalogValue at InstanceID 7001 can coexist with a BinaryValue at InstanceId 7001 but this is not best practice.

Supported Points:

Point TypeVersionDescriptionDefault BACnet TypeSupported BACnet TypesRead/WriteUnitsGlobalId RequiredInstances
AfterHours3.051Normal / After Hours system wide settingMultiStateValueBinaryInput
BinaryValue
MultiStateInput
MultiStateValue

R
R/W
R
R/W

N/ANo1 Globally
AreaIntensity3.050Average intensity for an area.  Writing to this point will set all loads in the area to the same level.AnalogValueAnalogInput
AnalogValue
R
R/W

Percentage
Percentage

Yes1 per Area
AreaOccupancy3.050Area occupancy statusBinaryInputBinaryInput
BinaryValue
R
R
Occupied
Occupied
Yes1 per Area
AreaOccupancyMode3.051Area Occupancy ModeMultiStateValueMultiStateInput
MultiStateValue
R
R/W
N/AYes1 per Area
AreaOverride3.051Area OverrideBinaryValueBinaryInput
BinaryValue
R
R/W
N/AYes1 per Area
AreaPower3.051Area Power ConsumptionAnalogInputAnalogInput
AnalogValue
R
R
WattsYes1 per Area
AreaScene3.051Area Scene Status/RecallMultiStateValueAnalogInput
AnalogValue
MultiStateInput
MultiStateValue
R
R/W
R
R/W
Scene #
Scene #
Scene Name/#
Scene Name/#
Yes1 per Area
DemandResponse3.051Demand Response Enable/DisableBinaryValueBinaryInput
BinaryValue
R
R/W
N/ANo1 Globally
EnableDisable3.050Enabled control of an object that can be enabled/disabledBinaryValueBinaryInput
BinaryValue
R
R/W
Enabled
Enabled
Yes1 per object
LoadIntensity3.050Intensity of a single load
On/Off (non-dim) load control
AnalogValueAnalogValue
BinaryValue

R/W
R/W

Percentage
On
Yes1 per Load
MasterOverride3.050Master override for the entire systemBinaryValueBinaryInput
BinaryValue
R
R/W
On
On
No1 Globally
OccupancySensorOccupied3.050Occupancy sensor occupied statusBinaryInputBinaryInput
BinaryValue
R
R
Occupied
Occupied
Yes1 per Occupancy Sensor
PartitionSensorMode3.077Partition Sensor Mode
Auto - Use Partition Sensor State (Only available with MultiState)
Combined - Force partition to combined
Divided - Force partition to divided
MultiStateValue

BinaryInput
BinaryValue
MultiStateInput
MultiStateValue

R
​R/W
R
R/W
Combined
Combined
Auto/Divided/Combined
Auto/Divided/Combined
Yes1 per Partition Sensor
PartitionSensorStatus3.077Partition StatusBinaryInput

BinaryInput
MultiStateInput

R
R
Combined
Divided/Combined
Yes1 per Partition Sensor
PhotocellLevel3.051Photocell ReadingAnalogInputAnalogInput
AnalogValue
R
R
Percentage or Lux
(Depends on Sensor)
Yes1 per Photocell

Configuration Options:

PropertyData TypeDescription
TypestringThe type of BACnet point to create (see Point Type column in Supported Points table above)
GlobalIdinteger, 0-2147483647GlobalId of the SR object related to the point, if not required use 0
InstanceIdinteger, 0-4194302BACnet instance ID address, must be unique
OverrideLabelstring | nullOverride the default label for the point
OverridePointTypestring | nullOverride the default BACnet type with a different supported type from Supported BACnet Types column

Example config:

{

  ...

  "Features": "GlobalOverride, DemandResponse",

  "ObjectId": 4179501,

  "Port": 47808,

  ...

  "DefaultAreaBACnetMode": "ShowRunner",

  "CustomPoints": [

    {

      "Type": "LoadIntensity",

      "GlobalId": 2,

      "InstanceId": 70002,

      "OverrideLabel": null,

      "OverridePointType": null

    },

    {

      "Type": "OccupancySensorOccupied",

      "GlobalId": 136,

      "InstanceId": 70003,

      "OverrideLabel": null,

      "OverridePointType": null

    },

    {

      "Type": "OccupancySensorOccupied",

      "GlobalId": 136,

      "InstanceId": 70004,

      "OverrideLabel": "Occ 70004",

      "OverridePointType": "BinaryValue"

    },

    {

      "Type": "AreaOccupancy",

      "GlobalId": 176,

      "InstanceId": 70005,

      "OverrideLabel": null,

      "OverridePointType": null

    },

    {

      "Type": "AreaOccupancy",

      "GlobalId": 176,

      "InstanceId": 70006,

      "OverrideLabel": "Area Occ 70006",

      "OverridePointType": "BinaryValue"

    },

    {

      "Type": "AreaIntensity",

      "GlobalId": 176,

      "InstanceId": 70007,

      "OverrideLabel": null,

      "OverridePointType": null

    },

    {

      "Type": "EnableDisable",

      "GlobalId": 136,

      "InstanceId": 70008,

      "OverrideLabel": null,

      "OverridePointType": null

    },

    {

      "Type": "MasterOverride",

      "GlobalId": 0,

      "InstanceId": 70009,

      "OverrideLabel": "Master Override Custom",

      "OverridePointType": null

    }

  ]

}