Wiki source code of Custom BACnet Points
Last modified by Mark Kohlmann on 2026/06/22 17:44
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
2.1 | 1 | 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. |
| |
1.1 | 2 | |
| 3 | ==== Supported Points: ==== | ||
| 4 | |||
| 5 | |=Point Type|=Version|=Description|=Default BACnet Type|=Supported BACnet Types|=Read/Write|=Units|=GlobalId Required|=Instances | ||
| |
3.1 | 6 | |AfterHours|3.051|Normal / After Hours system wide setting|MultiStateValue|BinaryInput |
| 7 | BinaryValue | ||
| 8 | MultiStateInput | ||
| 9 | MultiStateValue|((( | ||
| 10 | R | ||
| 11 | R/W | ||
| 12 | R | ||
| 13 | R/W | ||
| 14 | )))|N/A|No|1 Globally | ||
| |
1.1 | 15 | |AreaIntensity|3.050|Average intensity for an area. Writing to this point will set all loads in the area to the same level.|AnalogValue|AnalogInput |
| 16 | AnalogValue|R | ||
| 17 | R/W|((( | ||
| 18 | Percentage | ||
| 19 | Percentage | ||
| 20 | )))|Yes|1 per Area | ||
| 21 | |AreaOccupancy|3.050|Area occupancy status|BinaryInput|BinaryInput | ||
| 22 | BinaryValue|R | ||
| 23 | R|Occupied | ||
| 24 | Occupied|Yes|1 per Area | ||
| |
3.1 | 25 | |AreaOccupancyMode|3.051|Area Occupancy Mode|MultiStateValue|MultiStateInput |
| 26 | MultiStateValue|R | ||
| 27 | R/W|N/A|Yes|1 per Area | ||
| 28 | |AreaOverride|3.051|Area Override|BinaryValue|BinaryInput | ||
| 29 | BinaryValue|R | ||
| 30 | R/W|N/A|Yes|1 per Area | ||
| 31 | |AreaPower|3.051|Area Power Consumption|AnalogInput|AnalogInput | ||
| 32 | AnalogValue|R | ||
| 33 | R|Watts|Yes|1 per Area | ||
| 34 | |AreaScene|3.051|Area Scene Status/Recall|MultiStateValue|AnalogInput | ||
| 35 | AnalogValue | ||
| 36 | MultiStateInput | ||
| 37 | MultiStateValue|R | ||
| 38 | R/W | ||
| 39 | R | ||
| 40 | R/W|Scene # | ||
| 41 | Scene # | ||
| 42 | Scene Name/# | ||
| 43 | Scene Name/#|Yes|1 per Area | ||
| 44 | |DemandResponse|3.051|Demand Response Enable/Disable|BinaryValue|BinaryInput | ||
| 45 | BinaryValue|R | ||
| 46 | R/W|N/A|No|1 Globally | ||
| |
1.1 | 47 | |EnableDisable|3.050|Enabled control of an object that can be enabled/disabled|BinaryValue|BinaryInput |
| 48 | BinaryValue|R | ||
| 49 | R/W|Enabled | ||
| 50 | Enabled|Yes|1 per object | ||
| |
2.1 | 51 | |LoadIntensity|3.050|Intensity of a single load |
| 52 | On/Off (non-dim) load control|AnalogValue|AnalogValue | ||
| |
1.1 | 53 | BinaryValue|((( |
| 54 | R/W | ||
| 55 | R/W | ||
| 56 | )))|Percentage | ||
| 57 | On|Yes|1 per Load | ||
| 58 | |MasterOverride|3.050|Master override for the entire system|BinaryValue|BinaryInput | ||
| 59 | BinaryValue|R | ||
| 60 | R/W|On | ||
| 61 | On|No|1 Globally | ||
| 62 | |OccupancySensorOccupied|3.050|Occupancy sensor occupied status|BinaryInput|BinaryInput | ||
| 63 | BinaryValue|R | ||
| 64 | R|Occupied | ||
| 65 | Occupied|Yes|1 per Occupancy Sensor | ||
| |
4.1 | 66 | |PartitionSensorMode|3.077|Partition Sensor Mode |
| 67 | Auto - Use Partition Sensor State (Only available with MultiState) | ||
| 68 | Combined - Force partition to combined | ||
| 69 | Divided - Force partition to divided|MultiStateValue|((( | ||
| 70 | BinaryInput | ||
| 71 | BinaryValue | ||
| 72 | MultiStateInput | ||
| 73 | MultiStateValue | ||
| 74 | )))|R | ||
| 75 | R/W | ||
| 76 | R | ||
| 77 | R/W|Combined | ||
| 78 | Combined | ||
| 79 | Auto/Divided/Combined | ||
| 80 | Auto/Divided/Combined|Yes|1 per Partition Sensor | ||
| 81 | |PartitionSensorStatus|3.077|Partition Status|BinaryInput|((( | ||
| 82 | BinaryInput | ||
| 83 | MultiStateInput | ||
| 84 | )))|R | ||
| 85 | R|Combined | ||
| 86 | Divided/Combined|Yes|1 per Partition Sensor | ||
| |
3.1 | 87 | |PhotocellLevel|3.051|Photocell Reading|AnalogInput|AnalogInput |
| 88 | AnalogValue|R | ||
| 89 | R|Percentage or Lux | ||
| 90 | (Depends on Sensor)|Yes|1 per Photocell | ||
| |
1.1 | 91 | |
| 92 | ==== Configuration Options: ==== | ||
| 93 | |||
| 94 | |=Property|=Data Type|=Description | ||
| |
3.1 | 95 | |Type|string|The type of BACnet point to create (see //**Point Type**// column in Supported Points table above) |
| |
1.1 | 96 | |GlobalId|integer, 0-2147483647|GlobalId of the SR object related to the point, if not required use 0 |
| 97 | |InstanceId|integer, 0-4194302|BACnet instance ID address, must be unique | ||
| 98 | |OverrideLabel|string ~| null|Override the default label for the point | ||
| |
3.1 | 99 | |OverridePointType|string ~| null|Override the default BACnet type with a different supported type from //**Supported BACnet Types**// column |
| |
1.1 | 100 | |
| 101 | ==== Example config: ==== | ||
| 102 | |||
| 103 | |||
| 104 | ##{## | ||
| 105 | |||
| 106 | (% style="font-family:monospace" %) ... | ||
| 107 | |||
| 108 | ## "Features": "GlobalOverride, DemandResponse",## | ||
| 109 | |||
| 110 | ## "ObjectId": 4179501,## | ||
| 111 | |||
| 112 | ## "Port": 47808,## | ||
| 113 | |||
| 114 | ## ...## | ||
| 115 | |||
| 116 | ## "DefaultAreaBACnetMode": "ShowRunner",## | ||
| 117 | |||
| 118 | ## **"CustomPoints": [**## | ||
| 119 | |||
| 120 | **## {##** | ||
| 121 | |||
| 122 | **## "Type": "LoadIntensity",##** | ||
| 123 | |||
| 124 | **## "GlobalId": 2,##** | ||
| 125 | |||
| 126 | **## "InstanceId": 70002,##** | ||
| 127 | |||
| 128 | **## "OverrideLabel": null,##** | ||
| 129 | |||
| 130 | **## "OverridePointType": null##** | ||
| 131 | |||
| 132 | **## },##** | ||
| 133 | |||
| 134 | **## {##** | ||
| 135 | |||
| 136 | **## "Type": "OccupancySensorOccupied",##** | ||
| 137 | |||
| 138 | **## "GlobalId": 136,##** | ||
| 139 | |||
| 140 | **## "InstanceId": 70003,##** | ||
| 141 | |||
| 142 | **## "OverrideLabel": null,##** | ||
| 143 | |||
| 144 | **## "OverridePointType": null##** | ||
| 145 | |||
| 146 | **## },##** | ||
| 147 | |||
| 148 | **## {##** | ||
| 149 | |||
| 150 | **## "Type": "OccupancySensorOccupied",##** | ||
| 151 | |||
| 152 | **## "GlobalId": 136,##** | ||
| 153 | |||
| 154 | **## "InstanceId": 70004,##** | ||
| 155 | |||
| 156 | **## "OverrideLabel": "Occ 70004",##** | ||
| 157 | |||
| 158 | **## "OverridePointType": "BinaryValue"##** | ||
| 159 | |||
| 160 | **## },##** | ||
| 161 | |||
| 162 | **## {##** | ||
| 163 | |||
| 164 | **## "Type": "AreaOccupancy",##** | ||
| 165 | |||
| 166 | **## "GlobalId": 176,##** | ||
| 167 | |||
| 168 | **## "InstanceId": 70005,##** | ||
| 169 | |||
| 170 | **## "OverrideLabel": null,##** | ||
| 171 | |||
| 172 | **## "OverridePointType": null##** | ||
| 173 | |||
| 174 | **## },##** | ||
| 175 | |||
| 176 | **## {##** | ||
| 177 | |||
| 178 | **## "Type": "AreaOccupancy",##** | ||
| 179 | |||
| 180 | **## "GlobalId": 176,##** | ||
| 181 | |||
| 182 | **## "InstanceId": 70006,##** | ||
| 183 | |||
| 184 | **## "OverrideLabel": "Area Occ 70006",##** | ||
| 185 | |||
| 186 | **## "OverridePointType": "BinaryValue"##** | ||
| 187 | |||
| 188 | **## },##** | ||
| 189 | |||
| 190 | **## {##** | ||
| 191 | |||
| 192 | **## "Type": "AreaIntensity",##** | ||
| 193 | |||
| 194 | **## "GlobalId": 176,##** | ||
| 195 | |||
| 196 | **## "InstanceId": 70007,##** | ||
| 197 | |||
| 198 | **## "OverrideLabel": null,##** | ||
| 199 | |||
| 200 | **## "OverridePointType": null##** | ||
| 201 | |||
| 202 | **## },##** | ||
| 203 | |||
| 204 | **## {##** | ||
| 205 | |||
| 206 | **## "Type": "EnableDisable",##** | ||
| 207 | |||
| 208 | **## "GlobalId": 136,##** | ||
| 209 | |||
| 210 | **## "InstanceId": 70008,##** | ||
| 211 | |||
| 212 | **## "OverrideLabel": null,##** | ||
| 213 | |||
| 214 | **## "OverridePointType": null##** | ||
| 215 | |||
| 216 | **## },##** | ||
| 217 | |||
| 218 | **## {##** | ||
| 219 | |||
| 220 | **## "Type": "MasterOverride",##** | ||
| 221 | |||
| 222 | **## "GlobalId": 0,##** | ||
| 223 | |||
| 224 | **## "InstanceId": 70009,##** | ||
| 225 | |||
| 226 | **## "OverrideLabel": "Master Override Custom",##** | ||
| 227 | |||
| 228 | **## "OverridePointType": null##** | ||
| 229 | |||
| 230 | **## }##** | ||
| 231 | |||
| 232 | **## ]##** | ||
| 233 | |||
| 234 | ##}## |