Wiki source code of Custom BACnet Points

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

Show last authors
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.
2
3 ==== Supported Points: ====
4
5 |=Point Type|=Version|=Description|=Default BACnet Type|=Supported BACnet Types|=Read/Write|=Units|=GlobalId Required|=Instances
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
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
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
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
51 |LoadIntensity|3.050|Intensity of a single load
52 On/Off (non-dim) load control|AnalogValue|AnalogValue
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
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
87 |PhotocellLevel|3.051|Photocell Reading|AnalogInput|AnalogInput
88 AnalogValue|R
89 R|Percentage or Lux
90 (Depends on Sensor)|Yes|1 per Photocell
91
92 ==== Configuration Options: ====
93
94 |=Property|=Data Type|=Description
95 |Type|string|The type of BACnet point to create (see //**Point Type**// column in Supported Points table above)
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
99 |OverridePointType|string ~| null|Override the default BACnet type with a different supported type from //**Supported BACnet Types**// column
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 ##}##