device.bacnet

BACnet device

type

object

properties

  • deviceIdentifier

A BACnet Device Identifier is a unique value assigned to each device on a BACnet network. This parameter defines the identifier of the remote BACnet device with which communication is established. When multiple osp-bacnet modules are instantiated, each module must be configured with a unique Device Identifier.

Example: 20001.

type

integer

  • enableAutoRequestMethod

BACnet allows performing complex checks and optimizations based on response to protocolServicesSupported.

This approach is more accurate and more efficient; however, some devices are misconfigured and report options that are not actually supported. This option makes it possible to disable these checks and fall back to simpler, less efficient requests without validating the device configuration.

By default, the recommend setting is to keep this option enabled and disabling it only if communication errors occur with the device.

Default value is [true]

type

boolean

default

True

  • enableGetObjectsList

When a device is connected, the first step is to retrieve the list of supported protocols, then to fetch the objectList from the device. This feature is mandatory for using propertiesAcquisionRules and notificationRules.

By default, the recommend setting is to keep this option enabled and disabling it only if communication errors occur with the device.

Default value is [true]

type

boolean

default

True

  • enableGetSupportedProtocols

When a device is connected, the first step is to retrieve the list of supported protocols. This retrieval allows the use of more advanced requests based on the device capabilities.

Some devices do not support this request (fetch protocolServicesSupported property) or implement it incorrectly. For this reason, it is possible to disable the supported-protocols retrieval.

By default, the recommend setting is to keep this option enabled and disabling it only if communication errors occur with the device, as enabling this feature reduces network traffic.

Default value is [true]

type

boolean

default

True

  • enableMultiCov

When a COV (Change of Value) subscription request is performed, some properties can be subscribed using a single request. This feature is enabled when protocolServicesSupported reports the SubscribeCovPropertyMultiple capability, allowing multiple properties to be subscribed at the same time.

Some devices report this capability but do not implement it correctly, or report support without actually supporting the feature. In such cases, it is possible to force the use of single-property requests by setting this parameter to false.

Indicates whether the aggregator should use the multiples COV in a single request.

This features is by used if the device report usage supported, but as some device return true, but doesn’t support this features, it’s possible to change the behavior statically by setting to false

This option has no effect when the device reports its capabilities via protocolServicesSupported.

Default value is [true]

type

boolean

default

True

  • enableMultiValuePolling

When a ReadProperty request is performed, some properties can be retrieved using a single request. This feature is enabled when protocolServicesSupported reports the ReadPropertyMultiple capability, allowing multiple properties to be fetched at the same time.

Some devices report this capability but do not implement it correctly, or report support without actually supporting the feature. In such cases, it is possible to force the use of single-property requests by setting this parameter to false.

By default, the recommend setting is to keep this option enabled and disabling it only if communication errors occur with the device.

This option has no effect when the device reports its capabilities via protocolServicesSupported.

Default value is [true]

type

boolean

default

True

  • isTemplateGeneratedByOspComposer

Name of the playbook that generated this file. If present, the file is managed by the Composer and may be overwritten on regeneration. Used for selective clean. Do not edit or set manually.

type

string

  • maxRequestByMulti

By default, multiple requests (COV and pollingMultiStrategy) are executed using the limits defined by the target device’s protocolServicesSupported configuration. When this information is not available or not supported by the device, this option allows you to define a custom limit, specifying how many properties or subscriptions are included in a single request.

This option has no effect when the device reports its capabilities via protocolServicesSupported.

Default value is [10]

type

integer

default

10

  • moduleId

The BACnet module module.bacnet ↗️ that will be used to communicate.

For example modules.bacnet.bacnet-1 is the default OnSphere path of the BACnet module.

type

string

  • notifications

Configuration for BACnet notifications class either from rules (dynamic) and for notification.bacnet files.

For more information about notification subscription rules ↗️.

Default value is [{“autoAcknowledgeAlarms”:false,”autoAcknowledgeEvents”:true,”defaultSubscriptionParameter”:{“bacnetTransitions”:[“TO_OFF_NORMAL”,”TO_FAULT”,”TO_NORMAL”],”confirmedDelivery”:true,”days”:[“MONDAY”,”TUESDAY”,”WEDNESDAY”,”THURSDAY”,”FRIDAY”,”SATURDAY”,”SUNDAY”],”fromTime”:{“hour”:0,”hundredth”:0,”minute”:0,”second”:0},”toTime”:{“hour”:23,”hundredth”:99,”minute”:59,”second”:59}},”subscriptionMethod”:”RECIPIENT_LIST_REGISTER”,”subscriptionRefreshFrequency”:{“unit”:”SECONDS”,”value”:300}}]

default

autoAcknowledgeAlarms

False

autoAcknowledgeEvents

True

defaultSubscriptionParameter

bacnetTransitions

TO_OFF_NORMAL

TO_FAULT

TO_NORMAL

confirmedDelivery

True

days

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

fromTime

hour

0

hundredth

0

minute

0

second

0

toTime

hour

23

hundredth

99

minute

59

second

59

subscriptionMethod

RECIPIENT_LIST_REGISTER

subscriptionRefreshFrequency

unit

SECONDS

value

300

NotificationsConfiguration

  • propertiesAcquisitionRules

Rules define how properties are fetched based on the device’s configuration and values. For example, if a device reports 10 objects and a rule specifies subscribing to all presentValue properties, this results in 10 subscriptions, one per object. If the device later changes to 8 objects, the system will automatically adjust, resulting in 8 subscriptions after detecting the configuration change.

For more information about properties acquisition rules ↗️.

PropertiesAcquisitionRules

  • supervision

Configuration for the device health monitoring (supervision). It defines the method and frequency used to detect if the device is still reachable on the network.

For more information about supervision ↗️.

Default value is [{“delayBetweenRetriesMs”:{“unit”:”MILLISECONDS”,”value”:500},”maxRetriesBeforeError”:3,”method”:”OBJECT_NAME”,”monitoringFrequency”:{“unit”:”SECONDS”,”value”:30},”sleepBeforeFirstConnection”:{“unit”:”SECONDS”,”value”:0}}]

default

delayBetweenRetriesMs

unit

MILLISECONDS

value

500

maxRetriesBeforeError

3

method

OBJECT_NAME

monitoringFrequency

unit

SECONDS

value

30

sleepBeforeFirstConnection

unit

SECONDS

value

0

DeviceSupervisionEntity

  • templateId

The id of the template to use for this file

type

string

  • templateVariables

The variables and their values to be replaced from the template

type

object

additionalProperties

  • variablesFiles

The variables files to use to replace the variables. The first file of the list will take precedence over the following one. Template variables take precedence over the contents of the files.

type

array

items

type

string

additionalProperties

False

NotificationsConfiguration

type

object

properties

  • autoAcknowledgeAlarms

In BACnet systems, events are generally acknowledged automatically by machines or supervisory logic, while alarms are intended to be acknowledged by a human operator.

Notification Classes may require acknowledgement. When this is the case, two different behaviors are supported:

  • Automatic acknowledgement for events, handled by the system.

  • Manual acknowledgement for alarms, requiring operator action.

The autoAcknowledgeAlarms parameter allows this behavior to be adjusted. When enabled, alarms are acknowledged automatically, making them behave like events; when disabled, acknowledgement is required even for alarms

Default value is [false]

type

boolean

default

False

  • autoAcknowledgeEvents

In BACnet systems, events are generally acknowledged automatically by machines or supervisory logic, while alarms are intended to be acknowledged by a human operator.

Notification Classes may require acknowledgement. When this is the case, two different behaviors are supported:

  • Automatic acknowledgement for events, handled by the system.

  • Manual acknowledgement for alarms, requiring operator action.

The autoAcknowledgeEvents parameter allows this behavior to be adjusted. When enabled, events are acknowledged automatically; when disabled, acknowledgement is required even for events, making them behave like alarms.

Default value is [true]

type

boolean

default

True

  • defaultLinkedAction

When a notification is triggered, a linked action will be executed. The data provided when a notification triggered gonna be in the linked action including the properties to fetch.

If a specific action is defined in the subscription rules, this default action will be overridden.

For more information about notification subscription rules ↗️.

For more information about actions ↗️.

LinkedActionConfigurationEntity

  • defaultOnTriggerObjectPropertiesToFetch

Define which properties should be fetched from the object that triggered the notification. It’s useful to fetch additional context information about the event that triggered the notification.

If a specific set of properties is defined in the subscription rules, this default set will be overridden.

PropertiesEntity

  • defaultSubscriptionParameter

The parameter of the subscription defining when the notification should be triggered. If the notification is triggered but the current time is outside of the defined parameter, no action will be executed.

If a specific action is defined in the subscription rules, this default action will be overridden.

Default value is [{“bacnetTransitions”:[“TO_OFF_NORMAL”,”TO_FAULT”,”TO_NORMAL”],”confirmedDelivery”:true,”days”:[“MONDAY”,”TUESDAY”,”WEDNESDAY”,”THURSDAY”,”FRIDAY”,”SATURDAY”,”SUNDAY”],”fromTime”:{“hour”:0,”hundredth”:0,”minute”:0,”second”:0},”toTime”:{“hour”:23,”hundredth”:99,”minute”:59,”second”:59}}]

default

bacnetTransitions

TO_OFF_NORMAL

TO_FAULT

TO_NORMAL

confirmedDelivery

True

days

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

fromTime

hour

0

hundredth

0

minute

0

second

0

toTime

hour

23

hundredth

99

minute

59

second

59

SubscriptionParameter

  • subscriptionMethod

The recipient registration mode defines how the OnSphere BACnet client is registered to receive event notifications from BACnet devices.

NONE In this mode, OnSphere is not automatically registered as a notification recipient. The BACnet devices must be manually configured to include OnSphere in their recipientList.

RECIPIENT_LIST_REGISTER In this mode, OnSphere automatically ensures that it is registered as a recipient on the BACnet devices. The getRecipient mechanism retrieves the current recipientList from the device, verifies whether OnSphere is already present, and adds it if necessary. This registration check is performed periodically, at a configurable interval, to detect and correct any missing or removed recipient entries. This guarantees that OnSphere remains registered and continues to receive event notifications reliably.

see documentation ↗️

Default value is [“RECIPIENT_LIST_REGISTER”]

type

string

enum

NONE, RECIPIENT_LIST_REGISTER

default

RECIPIENT_LIST_REGISTER

  • subscriptionRefreshFrequency

At this interval, the BACnet client checks whether it is registered as a recipient on the device. This process generates communication with the target device for each configured notification by issuing GetRecipientList requests. The configured interval represents a tradeoff between network load and the speed at which the system can automatically re-register after a remote device reboot. A value of 0 (<1ms) disables this polling mechanism entirely. To minimize network traffic, an alternative approach is to use the NONE subscription method and manually configure the recipient registration directly on each device.

Default value is [{“unit”:”SECONDS”,”value”:300}]

default

unit

SECONDS

value

300

DurationConfigurationEntity

  • subscriptionRules

The module support the discovery of NotificationClass on the device, and automatically create subscription for them depending of the rule configuration. This functionality allowing to use the device as the source of configuration for alarming purpose.

For more information about notification subscription rules ↗️.

type

array

items

NotificationSubscriptionRules

additionalProperties

False

LinkedActionConfigurationEntity

type

object

properties

  • actionId

The itemId of the action.ospp to execute

type

string

  • expiration

The duration after which the action will be timed out

DurationConfigurationEntity

  • moduleId

The module that will execute the action, this can be used for example if the action is a ping who can be executed by multiples instance of osp-network-monitor

type

string

  • parameters

The parameters are allowing to choice the parameters who will be sent to the action. Each action required different parameters base on the type.

type

object

additionalProperties

oneOf

CONSTANT

LIST

PROPERTIES

FIELD

additionalProperties

False

DurationConfigurationEntity

type

object

properties

  • unit

The unit of time expressed

type

string

enum

NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS

  • value

The amount of time expressed with the unit

type

integer

additionalProperties

False

CONSTANT

type

object

properties

  • type

type

string

enum

CONSTANT

default

CONSTANT

  • value

A constant value

additionalProperties

False

LIST

type

object

properties

  • type

type

string

enum

LIST

default

LIST

  • values

A list of value accessors

type

array

items

oneOf

CONSTANT

LIST

PROPERTIES

FIELD

additionalProperties

False

PROPERTIES

type

object

properties

  • type

type

string

enum

PROPERTIES

default

PROPERTIES

  • properties

An object of value accessors

type

object

additionalProperties

oneOf

CONSTANT

LIST

PROPERTIES

FIELD

additionalProperties

False

FIELD

type

object

properties

  • type

type

string

enum

FIELD

default

FIELD

  • field

A field of the value

type

string

enum

ID, CONTENT, ERROR, TYPE, TIMESTAMP, NAME, DESCRIPTION

  • fieldParser

An expression to access a field of the JSON content of the value

type

string

additionalProperties

False

PropertiesEntity

type

object

properties

  • range

type

string

additionalProperties

False

SubscriptionParameter

type

object

properties

  • bacnetTransitions

In BACnet systems, object can transition between different states, such as “offnormal”, “fault”, and “normal”. This parameter allows you to specify which bacnetTransitions should trigger a LinkedAction.

Warning This parameter is on the client side, meaning that the BACnet device must support and be configured for Intrinsic Reporting for the notifications to work as expected.

Learn more about BACNET ↗️.

Default value is [[“TO_OFF_NORMAL”,”TO_FAULT”,”TO_NORMAL”]]

type

array

default

TO_OFF_NORMAL

TO_FAULT

TO_NORMAL

items

type

string

enum

TO_OFF_NORMAL, TO_FAULT, TO_NORMAL

  • confirmedDelivery

Define if the notification must use confirmation for the message transmission.

Learn more about BACNET ↗️.

Default value is [true]

type

boolean

default

True

  • days

Define which days of the week the notification should be triggered.

Learn more about BACNET ↗️.

Default value is [[“MONDAY”,”TUESDAY”,”WEDNESDAY”,”THURSDAY”,”FRIDAY”,”SATURDAY”,”SUNDAY”]]

type

array

default

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

items

type

string

enum

MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY

  • fromTime

Define the moment of the day when the notification should start being triggered.

Learn more about BACNET ↗️.

Default value is [{“hour”:0,”hundredth”:0,”minute”:0,”second”:0}]

default

hour

0

hundredth

0

minute

0

second

0

Time

  • toTime

Define the moment of the day when the notification should stop being triggered.

Learn more about BACNET ↗️.

Default value is [{“hour”:23,”hundredth”:99,”minute”:59,”second”:59}]

default

hour

23

hundredth

99

minute

59

second

59

Time

additionalProperties

False

Time

type

object

properties

  • hour

An hour of the day.

type

integer

maximum

23

minimum

0

  • hundredth

An hundredth of the second.

type

integer

maximum

99

minimum

0

  • minute

An minute of the hour.

type

integer

maximum

59

minimum

0

  • second

An second of the minute.

type

integer

maximum

59

minimum

0

additionalProperties

False

NotificationSubscriptionRules

type

object

properties

  • description

A textual description, only for documentation purpose

type

string

  • instanceIds

Represents a selection of Bacnet object instances.

You can select a single instance, e.g., “8” multiple instances, e.g., “8,9,12” or a range of instances, e.g., “2..4”.

All these methods can be combined, e.g., “1,3..8,12,14..”.

Learn more about BACNET ↗️.

type

string

  • linkedAction

The action to execute when an notification is received.

For more information about actions ↗️.

LinkedActionConfigurationEntity

  • onTriggerObjectPropertiesToFetch

Represents a selection of BACnet properties.

The properties can be selected either by specifying a range of property identifiers or by providing an explicit list of property names. Only one selection method can be used at a time.

Learn more about BACnet ↗️.

Learn more about usage for properties subscription↗️. Learn more about usage for usage in notifications↗️.

oneOf

type

object

properties

  • range

Represents a selection of BACnet property identifiers.

You can select a single property, e.g., “85”, multiple properties, e.g., “85,87,92” or a range of properties, e.g., “80..90”. For ranges, the start or end can be left open, e.g., “..100” or “75..”. All these methods can be combined, e.g., “60,65..70,85,90..”.

Learn more about BACnet ↗️.

type

string

additionalProperties

False

type

object

properties

  • names

Represents an explicit list of BACnet property names.

This list contains standard BACnet property identifiers and allows precise selection of individual properties.

Learn more about BACnet ↗️.

type

array

items

type

string

enum

ACKED_TRANSITIONS, ACK_REQUIRED, ACTION, ACTION_TEXT, ACTIVE_TEXT, ACTIVE_VT_SESSIONS, ALARM_VALUE, ALARM_VALUES, ALL, ALL_WRITES_SUCCESSFUL, APDU_SEGMENT_TIMEOUT, APDU_TIMEOUT, APPLICATION_SOFTWARE_VERSION, ARCHIVE, BIAS, CHANGE_OF_STATE_COUNT, CHANGE_OF_STATE_TIME, NOTIFICATION_CLASS, CONTROLLED_VARIABLE_REFERENCE, CONTROLLED_VARIABLE_UNITS, CONTROLLED_VARIABLE_VALUE, COV_INCREMENT, DATE_LIST, DAYLIGHT_SAVINGS_STATUS, DEADBAND, DERIVATIVE_CONSTANT, DERIVATIVE_CONSTANT_UNITS, DESCRIPTION, DESCRIPTION_OF_HALT, DEVICE_ADDRESS_BINDING, DEVICE_TYPE, EFFECTIVE_PERIOD, ELAPSED_ACTIVE_TIME, ERROR_LIMIT, EVENT_ENABLE, EVENT_STATE, EVENT_TYPE, EXCEPTION_SCHEDULE, FAULT_VALUES, FEEDBACK_VALUE, FILE_ACCESS_METHOD, FILE_SIZE, FILE_TYPE, FIRMWARE_REVISION, HIGH_LIMIT, INACTIVE_TEXT, IN_PROCESS, INSTANCE_OF, INTEGRAL_CONSTANT, INTEGRAL_CONSTANT_UNITS, LIMIT_ENABLE, LIST_OF_GROUP_MEMBERS, LIST_OF_OBJECT_PROPERTY_REFERENCES, LOCAL_DATE, LOCAL_TIME, LOCATION, LOW_LIMIT, MANIPULATED_VARIABLE_REFERENCE, MAXIMUM_OUTPUT, MAX_APDU_LENGTH_ACCEPTED, MAX_INFO_FRAMES, MAX_MASTER, MAX_PRES_VALUE, MINIMUM_OFF_TIME, MINIMUM_ON_TIME, MINIMUM_OUTPUT, MIN_PRES_VALUE, MODEL_NAME, MODIFICATION_DATE, NOTIFY_TYPE, NUMBER_OF_APDU_RETRIES, NUMBER_OF_STATES, OBJECT_IDENTIFIER, OBJECT_LIST, OBJECT_NAME, OBJECT_PROPERTY_REFERENCE, OBJECT_TYPE, OPTIONAL, OUT_OF_SERVICE, OUTPUT_UNITS, EVENT_PARAMETERS, POLARITY, PRESENT_VALUE, PRIORITY, PRIORITY_ARRAY, PRIORITY_FOR_WRITING, PROCESS_IDENTIFIER, PROGRAM_CHANGE, PROGRAM_LOCATION, PROGRAM_STATE, PROPORTIONAL_CONSTANT, PROPORTIONAL_CONSTANT_UNITS, PROTOCOL_OBJECT_TYPES_SUPPORTED, PROTOCOL_SERVICES_SUPPORTED, PROTOCOL_VERSION, READ_ONLY, REASON_FOR_HALT, RECIPIENT_LIST, RELIABILITY, RELINQUISH_DEFAULT, REQUIRED, RESOLUTION, SEGMENTATION_SUPPORTED, SETPOINT, SETPOINT_REFERENCE, STATE_TEXT, STATUS_FLAGS, SYSTEM_STATUS, TIME_DELAY, TIME_OF_ACTIVE_TIME_RESET, TIME_OF_STATE_COUNT_RESET, TIME_SYNCHRONIZATION_RECIPIENTS, UNITS, UPDATE_INTERVAL, UTC_OFFSET, VENDOR_IDENTIFIER, VENDOR_NAME, VT_CLASSES_SUPPORTED, WEEKLY_SCHEDULE, ATTEMPTED_SAMPLES, AVERAGE_VALUE, BUFFER_SIZE, CLIENT_COV_INCREMENT, COV_RESUBSCRIPTION_INTERVAL, EVENT_TIME_STAMPS, LOG_BUFFER, LOG_DEVICE_OBJECT_PROPERTY, ENABLE, LOG_INTERVAL, MAXIMUM_VALUE, MINIMUM_VALUE, NOTIFICATION_THRESHOLD, PROTOCOL_REVISION, RECORDS_SINCE_NOTIFICATION, RECORD_COUNT, START_TIME, STOP_TIME, STOP_WHEN_FULL, TOTAL_RECORD_COUNT, VALID_SAMPLES, WINDOW_INTERVAL, WINDOW_SAMPLES, MAXIMUM_VALUE_TIMESTAMP, MINIMUM_VALUE_TIMESTAMP, VARIANCE_VALUE, ACTIVE_COV_SUBSCRIPTIONS, BACKUP_FAILURE_TIMEOUT, CONFIGURATION_FILES, DATABASE_REVISION, DIRECT_READING, LAST_RESTORE_TIME, MAINTENANCE_REQUIRED, MEMBER_OF, MODE, OPERATION_EXPECTED, SETTING, SILENCED, TRACKING_VALUE, ZONE_MEMBERS, LIFE_SAFETY_ALARM_VALUES, MAX_SEGMENTS_ACCEPTED, PROFILE_NAME, AUTO_SLAVE_DISCOVERY, MANUAL_SLAVE_ADDRESS_BINDING, SLAVE_ADDRESS_BINDING, SLAVE_PROXY_ENABLE, LAST_NOTIFY_RECORD, SCHEDULE_DEFAULT, ACCEPTED_MODES, ADJUST_VALUE, COUNT, COUNT_BEFORE_CHANGE, COUNT_CHANGE_TIME, COV_PERIOD, INPUT_REFERENCE, LIMIT_MONITORING_INTERVAL, LOGGING_OBJECT, LOGGING_RECORD, PRESCALE, PULSE_RATE, SCALE, SCALE_FACTOR, UPDATE_TIME, VALUE_BEFORE_CHANGE, VALUE_SET, VALUE_CHANGE_TIME, ALIGN_INTERVALS, INTERVAL_OFFSET, LAST_RESTART_REASON, LOGGING_TYPE, RESTART_NOTIFICATION_RECIPIENTS, TIME_OF_DEVICE_RESTART, TIME_SYNCHRONIZATION_INTERVAL, TRIGGER, UTC_TIME_SYNCHRONIZATION_RECIPIENTS, NODE_SUBTYPE, NODE_TYPE, STRUCTURED_OBJECT_LIST, SUBORDINATE_ANNOTATIONS, SUBORDINATE_LIST, ACTUAL_SHED_LEVEL, DUTY_WINDOW, EXPECTED_SHED_LEVEL, FULL_DUTY_BASELINE, REQUESTED_SHED_LEVEL, SHED_DURATION, SHED_LEVEL_DESCRIPTIONS, SHED_LEVELS, STATE_DESCRIPTION, DOOR_ALARM_STATE, DOOR_EXTENDED_PULSE_TIME, DOOR_MEMBERS, DOOR_OPEN_TOO_LONG_TIME, DOOR_PULSE_TIME, DOOR_STATUS, DOOR_UNLOCK_DELAY_TIME, LOCK_STATUS, MASKED_ALARM_VALUES, SECURED_STATUS, ABSENTEE_LIMIT, ACCESS_ALARM_EVENTS, ACCESS_DOORS, ACCESS_EVENT, ACCESS_EVENT_AUTHENTICATION_FACTOR, ACCESS_EVENT_CREDENTIAL, ACCESS_EVENT_TIME, ACCESS_TRANSACTION_EVENTS, ACCOMPANIMENT, ACCOMPANIMENT_TIME, ACTIVATION_TIME, ACTIVE_AUTHENTICATION_POLICY, ASSIGNED_ACCESS_RIGHTS, AUTHENTICATION_FACTORS, AUTHENTICATION_POLICY_LIST, AUTHENTICATION_POLICY_NAMES, AUTHENTICATION_STATUS, AUTHORIZATION_MODE, BELONGS_TO, CREDENTIAL_DISABLE, CREDENTIAL_STATUS, CREDENTIALS, CREDENTIALS_IN_ZONE, DAYS_REMAINING, ENTRY_POINTS, EXIT_POINTS, EXPIRATION_TIME, EXTENDED_TIME_ENABLE, FAILED_ATTEMPT_EVENTS, FAILED_ATTEMPTS, FAILED_ATTEMPTS_TIME, LAST_ACCESS_EVENT, LAST_ACCESS_POINT, LAST_CREDENTIAL_ADDED, LAST_CREDENTIAL_ADDED_TIME, LAST_CREDENTIAL_REMOVED, LAST_CREDENTIAL_REMOVED_TIME, LAST_USE_TIME, LOCKOUT, LOCKOUT_RELINQUISH_TIME, MAX_FAILED_ATTEMPTS, MEMBERS, MUSTER_POINT, NEGATIVE_ACCESS_RULES, NUMBER_OF_AUTHENTICATION_POLICIES, OCCUPANCY_COUNT, OCCUPANCY_COUNT_ADJUST, OCCUPANCY_COUNT_ENABLE, OCCUPANCY_LOWER_LIMIT, OCCUPANCY_LOWER_LIMIT_ENFORCED, OCCUPANCY_STATE, OCCUPANCY_UPPER_LIMIT, OCCUPANCY_UPPER_LIMIT_ENFORCED, PASSBACK_MODE, PASSBACK_TIMEOUT, POSITIVE_ACCESS_RULES, REASON_FOR_DISABLE, SUPPORTED_FORMATS, SUPPORTED_FORMAT_CLASSES, THREAT_AUTHORITY, THREAT_LEVEL, TRACE_FLAG, TRANSACTION_NOTIFICATION_CLASS, USER_EXTERNAL_IDENTIFIER, USER_INFORMATION_REFERENCE, USER_NAME, USER_TYPE, USES_REMAINING, ZONE_FROM, ZONE_TO, ACCESS_EVENT_TAG, GLOBAL_IDENTIFIER, VERIFICATION_TIME, BASE_DEVICE_SECURITY_POLICY, DISTRIBUTION_KEY_REVISION, DO_NOT_HIDE, KEY_SETS, LAST_KEY_SERVER, NETWORK_ACCESS_SECURITY_POLICIES, PACKET_REORDER_TIME, SECURITY_PDU_TIMEOUT, SECURITY_TIME_WINDOW, SUPPORTED_SECURITY_ALGORITHMS, UPDATE_KEY_SET_TIMEOUT, BACKUP_AND_RESTORE_STATE, BACKUP_PREPARATION_TIME, RESTORE_COMPLETION_TIME, RESTORE_PREPARATION_TIME, BIT_MASK, BIT_TEXT, IS_UTC, GROUP_MEMBERS, GROUP_MEMBER_NAMES, MEMBER_STATUS_FLAGS, REQUESTED_UPDATE_INTERVAL, COVU_PERIOD, COVU_RECIPIENTS, EVENT_MESSAGE_TEXTS, EVENT_MESSAGE_TEXTS_CONFIG, EVENT_DETECTION_ENABLE, EVENT_ALGORITHM_INHIBIT, EVENT_ALGORITHM_INHIBIT_REF, TIME_DELAY_NORMAL, RELIABILITY_EVALUATION_INHIBIT, FAULT_PARAMETERS, FAULT_TYPE, LOCAL_FORWARDING_ONLY, PROCESS_IDENTIFIER_FILTER, SUBSCRIBED_RECIPIENTS, PORT_FILTER, AUTHORIZATION_EXEMPTIONS, ALLOW_GROUP_DELAY_INHIBIT, CHANNEL_NUMBER, CONTROL_GROUPS, EXECUTION_DELAY, LAST_PRIORITY, WRITE_STATUS, PROPERTY_LIST, SERIAL_NUMBER, BLINK_WARN_ENABLE, DEFAULT_FADE_TIME, DEFAULT_RAMP_RATE, DEFAULT_STEP_INCREMENT, EGRESS_TIME, IN_PROGRESS, INSTANTANEOUS_POWER, LIGHTING_COMMAND, LIGHTING_COMMAND_DEFAULT_PRIORITY, MAX_ACTUAL_VALUE, MIN_ACTUAL_VALUE, POWER, TRANSITION, EGRESS_ACTIVE, INTERFACE_VALUE, FAULT_HIGH_LIMIT, FAULT_LOW_LIMIT, LOW_DIFF_LIMIT, STRIKE_COUNT, TIME_OF_STRIKE_COUNT_RESET, DEFAULT_TIMEOUT, INITIAL_TIMEOUT, LAST_STATE_CHANGE, STATE_CHANGE_VALUES, TIMER_RUNNING, TIMER_STATE, APDU_LENGTH, IP_ADDRESS, IP_DEFAULT_GATEWAY, IP_DHCP_ENABLE, IP_DHCP_LEASE_TIME, IP_DHCP_LEASE_TIME_REMAINING, IP_DHCP_SERVER, IP_DNS_SERVER, BACNET_IP_GLOBAL_ADDRESS, BACNET_IP_MODE, BACNET_IP_MULTICAST_ADDRESS, BACNET_IP_NAT_TRAVERSAL, IP_SUBNET_MASK, BACNET_IP_UDP_PORT, BBMD_ACCEPT_FD_REGISTRATIONS, BBMD_BROADCAST_DISTRIBUTION_TABLE, BBMD_FOREIGN_DEVICE_TABLE, CHANGES_PENDING, COMMAND, FD_BBMD_ADDRESS, FD_SUBSCRIPTION_LIFETIME, LINK_SPEED, LINK_SPEEDS, LINK_SPEED_AUTONEGOTIATE, MAC_ADDRESS, NETWORK_INTERFACE_NAME, NETWORK_NUMBER, NETWORK_NUMBER_QUALITY, NETWORK_TYPE, ROUTING_TABLE, VIRTUAL_MAC_ADDRESS_TABLE, COMMAND_TIME_ARRAY, CURRENT_COMMAND_PRIORITY, LAST_COMMAND_TIME, VALUE_SOURCE, VALUE_SOURCE_ARRAY, BACNET_IPV6_MODE, IPV6_ADDRESS, IPV6_PREFIX_LENGTH, BACNET_IPV6_UDP_PORT, IPV6_DEFAULT_GATEWAY, BACNET_IPV6_MULTICAST_ADDRESS, IPV6_DNS_SERVER, IPV6_AUTO_ADDRESSING_ENABLE, IPV6_DHCP_LEASE_TIME, IPV6_DHCP_LEASE_TIME_REMAINING, IPV6_DHCP_SERVER, IPV6_ZONE_INDEX, ASSIGNED_LANDING_CALLS, CAR_ASSIGNED_DIRECTION, CAR_DOOR_COMMAND, CAR_DOOR_STATUS, CAR_DOOR_TEXT, CAR_DOOR_ZONE, CAR_DRIVE_STATUS, CAR_LOAD, CAR_LOAD_UNITS, CAR_MODE, CAR_MOVING_DIRECTION, CAR_POSITION, ELEVATOR_GROUP, ENERGY_METER, ENERGY_METER_REF, ESCALATOR_MODE, FAULT_SIGNALS, FLOOR_TEXT, GROUP_ID, GROUP_MODE, HIGHER_DECK, INSTALLATION_ID, LANDING_CALLS, LANDING_CALL_CONTROL, LANDING_DOOR_STATUS, LOWER_DECK, MACHINE_ROOM_ID, MAKING_CAR_CALL, NEXT_STOPPING_FLOOR, OPERATION_DIRECTION, PASSENGER_ALARM, POWER_MODE, REGISTERED_CAR_CALL, ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS, PROTOCOL_LEVEL, REFERENCE_PORT, DEPLOYED_PROFILE_LOCATION, PROFILE_LOCATION, TAGS, SUBORDINATE_NODE_TYPES, SUBORDINATE_TAGS, SUBORDINATE_RELATIONSHIPS, DEFAULT_SUBORDINATE_RELATIONSHIP, REPRESENTS

additionalProperties

False

  • processIdentifier

The BACnet process identifier associated with this notification recipient.

This integer uniquely identifies the process or application instance within the BACnet network that should handle the notification. It allows the system to route the notification to the correct recipient process, ensuring that actions linked to this notification are executed by the intended process.

Learn more about BACnet Process Identifiers ↗️.

type

integer

  • specificSubscriptionParameters

The parameter of the subscription like the transition to react on and when to react.

SubscriptionParameter

additionalProperties

False

PropertiesAcquisitionRules

type

object

properties

  • acquisitionRules

The module support the discovery of BACnet objects on the device, and automatically create property acquisition for them depending of the rule configuration. This functionality allowing to use the device as the source of configuration for data acquisition.

For more information about properties acquisition rules ↗️.

type

array

items

PropertyAcquisitionRules

  • defaultLinkedAction

Default linked action executed when property acquisition rules are applied.

If a specific linked action is defined in the acquisition rule, this default linked action will be overridden.

For more information about properties acquisition rules ↗️.

For more information about actions ↗️.

LinkedActionConfigurationEntity

  • defaultMode

Default read strategy applied to property acquisition rules.

If a specific mode is defined in the acquisition rule, this default mode will be overridden.

oneOf

PROPERTY_SUBSCRIPTION

OBJECT_SUBSCRIPTION

MULTIPLE_POLLING

SINGLE_POLLING

additionalProperties

False

PropertyAcquisitionRules

type

object

properties

  • description

Optional human-readable description intended for documentation and configuration clarity.

This field has no functional impact on execution. It is useful to explain the purpose of the acquisition rule, especially in complex configurations with multiple rules.

type

string

  • includes

List of rules defining which BACnet properties must be acquired. Each rule specifies the object types, instance IDs, and properties to be acquired.

type

array

items

PropertyIncludeRules

  • linkedAction

Optional action to be executed when the acquisition rule is applied.

If not specified, the default linked action is applied.

LinkedActionConfigurationEntity

  • mode

Strategy defining how the BACnet properties are read from the device.

If not specified, the default read strategy is applied.

oneOf

PROPERTY_SUBSCRIPTION

OBJECT_SUBSCRIPTION

MULTIPLE_POLLING

SINGLE_POLLING

additionalProperties

False

PropertyIncludeRules

type

object

properties

  • instanceIds

Represents a selection of BACnet object instances.

You can select a single instance, e.g., “8” multiple instances, e.g., “8,9,12” or a range of instances, e.g., “2..4”.

All these methods can be combined, e.g., “1,3..8,12,14..”.

Learn more about BACNET ↗️.

type

string

  • objectTypes

Represents a selection of BACnet object types.

The object types can be selected either by specifying a range of numeric object type identifiers or by providing an explicit list of object type names. Only one selection method can be used at a time.

Learn more about BACnet ↗️.

oneOf

type

object

properties

  • range

Represents a selection of BACnet object types.

You can select a single object type using its numeric identifier, e.g., “2”, multiple object types, e.g., “2,5,8”, or a range of object types, e.g., “1..5”. For ranges, the start or end can be left open, e.g., “..3” or “7..”. All these methods can be combined, e.g., “0,2..6,10,15..”.

Learn more about BACnet ↗️.

type

string

additionalProperties

False

type

object

properties

  • names

Represents a list of BACnet object types.

This list can include standard BACnet object types, such as “ANALOG_VALUE”, or their numeric identifiers, which is useful for vendor-specific object types.

Learn more about BACnet ↗️.

type

array

items

type

string

enum

ANALOG_INPUT, ANALOG_OUTPUT, ANALOG_VALUE, BINARY_INPUT, BINARY_OUTPUT, BINARY_VALUE, CALENDAR, COMMAND, DEVICE, EVENT_ENROLLMENT, FILE, GROUP, LOOP, MULTI_STATE_INPUT, MULTI_STATE_OUTPUT, NOTIFICATION_CLASS, PROGRAM, SCHEDULE, AVERAGING, MULTI_STATE_VALUE, TREND_LOG, LIFE_SAFETY_POINT, LIFE_SAFETY_ZONE, ACCUMULATOR, PULSE_CONVERTER, EVENT_LOG, GLOBAL_GROUP, TREND_LOG_MULTIPLE, LOAD_CONTROL, STRUCTURED_VIEW, ACCESS_DOOR, TIMER, ACCESS_CREDENTIAL, ACCESS_POINT, ACCESS_RIGHTS, ACCESS_USER, ACCESS_ZONE, CREDENTIAL_DATA_INPUT, NETWORK_SECURITY, BITSTRING_VALUE, CHARACTERSTRING_VALUE, DATE_PATTERN_VALUE, DATE_VALUE, DATETIME_PATTERN_VALUE, DATETIME_VALUE, INTEGER_VALUE, LARGE_ANALOG_VALUE, OCTETSTRING_VALUE, POSITIVE_INTEGER_VALUE, TIME_PATTERN_VALUE, TIME_VALUE, NOTIFICATION_FORWARDER, ALERT_ENROLLMENT, CHANNEL, LIGHTING_OUTPUT, BINARY_LIGHTING_OUTPUT, NETWORK_PORT, ELEVATOR_GROUP, ESCALATOR, LIFT

additionalProperties

False

  • properties

Represents a selection of BACnet properties.

The properties can be selected either by specifying a range of property identifiers or by providing an explicit list of property names. Only one selection method can be used at a time.

Learn more about BACnet ↗️.

Learn more about usage for properties subscription↗️. Learn more about usage for usage in notifications↗️.

oneOf

type

object

properties

  • range

Represents a selection of BACnet property identifiers.

You can select a single property, e.g., “85”, multiple properties, e.g., “85,87,92” or a range of properties, e.g., “80..90”. For ranges, the start or end can be left open, e.g., “..100” or “75..”. All these methods can be combined, e.g., “60,65..70,85,90..”.

Learn more about BACnet ↗️.

type

string

additionalProperties

False

type

object

properties

  • names

Represents an explicit list of BACnet property names.

This list contains standard BACnet property identifiers and allows precise selection of individual properties.

Learn more about BACnet ↗️.

type

array

items

type

string

enum

ACKED_TRANSITIONS, ACK_REQUIRED, ACTION, ACTION_TEXT, ACTIVE_TEXT, ACTIVE_VT_SESSIONS, ALARM_VALUE, ALARM_VALUES, ALL, ALL_WRITES_SUCCESSFUL, APDU_SEGMENT_TIMEOUT, APDU_TIMEOUT, APPLICATION_SOFTWARE_VERSION, ARCHIVE, BIAS, CHANGE_OF_STATE_COUNT, CHANGE_OF_STATE_TIME, NOTIFICATION_CLASS, CONTROLLED_VARIABLE_REFERENCE, CONTROLLED_VARIABLE_UNITS, CONTROLLED_VARIABLE_VALUE, COV_INCREMENT, DATE_LIST, DAYLIGHT_SAVINGS_STATUS, DEADBAND, DERIVATIVE_CONSTANT, DERIVATIVE_CONSTANT_UNITS, DESCRIPTION, DESCRIPTION_OF_HALT, DEVICE_ADDRESS_BINDING, DEVICE_TYPE, EFFECTIVE_PERIOD, ELAPSED_ACTIVE_TIME, ERROR_LIMIT, EVENT_ENABLE, EVENT_STATE, EVENT_TYPE, EXCEPTION_SCHEDULE, FAULT_VALUES, FEEDBACK_VALUE, FILE_ACCESS_METHOD, FILE_SIZE, FILE_TYPE, FIRMWARE_REVISION, HIGH_LIMIT, INACTIVE_TEXT, IN_PROCESS, INSTANCE_OF, INTEGRAL_CONSTANT, INTEGRAL_CONSTANT_UNITS, LIMIT_ENABLE, LIST_OF_GROUP_MEMBERS, LIST_OF_OBJECT_PROPERTY_REFERENCES, LOCAL_DATE, LOCAL_TIME, LOCATION, LOW_LIMIT, MANIPULATED_VARIABLE_REFERENCE, MAXIMUM_OUTPUT, MAX_APDU_LENGTH_ACCEPTED, MAX_INFO_FRAMES, MAX_MASTER, MAX_PRES_VALUE, MINIMUM_OFF_TIME, MINIMUM_ON_TIME, MINIMUM_OUTPUT, MIN_PRES_VALUE, MODEL_NAME, MODIFICATION_DATE, NOTIFY_TYPE, NUMBER_OF_APDU_RETRIES, NUMBER_OF_STATES, OBJECT_IDENTIFIER, OBJECT_LIST, OBJECT_NAME, OBJECT_PROPERTY_REFERENCE, OBJECT_TYPE, OPTIONAL, OUT_OF_SERVICE, OUTPUT_UNITS, EVENT_PARAMETERS, POLARITY, PRESENT_VALUE, PRIORITY, PRIORITY_ARRAY, PRIORITY_FOR_WRITING, PROCESS_IDENTIFIER, PROGRAM_CHANGE, PROGRAM_LOCATION, PROGRAM_STATE, PROPORTIONAL_CONSTANT, PROPORTIONAL_CONSTANT_UNITS, PROTOCOL_OBJECT_TYPES_SUPPORTED, PROTOCOL_SERVICES_SUPPORTED, PROTOCOL_VERSION, READ_ONLY, REASON_FOR_HALT, RECIPIENT_LIST, RELIABILITY, RELINQUISH_DEFAULT, REQUIRED, RESOLUTION, SEGMENTATION_SUPPORTED, SETPOINT, SETPOINT_REFERENCE, STATE_TEXT, STATUS_FLAGS, SYSTEM_STATUS, TIME_DELAY, TIME_OF_ACTIVE_TIME_RESET, TIME_OF_STATE_COUNT_RESET, TIME_SYNCHRONIZATION_RECIPIENTS, UNITS, UPDATE_INTERVAL, UTC_OFFSET, VENDOR_IDENTIFIER, VENDOR_NAME, VT_CLASSES_SUPPORTED, WEEKLY_SCHEDULE, ATTEMPTED_SAMPLES, AVERAGE_VALUE, BUFFER_SIZE, CLIENT_COV_INCREMENT, COV_RESUBSCRIPTION_INTERVAL, EVENT_TIME_STAMPS, LOG_BUFFER, LOG_DEVICE_OBJECT_PROPERTY, ENABLE, LOG_INTERVAL, MAXIMUM_VALUE, MINIMUM_VALUE, NOTIFICATION_THRESHOLD, PROTOCOL_REVISION, RECORDS_SINCE_NOTIFICATION, RECORD_COUNT, START_TIME, STOP_TIME, STOP_WHEN_FULL, TOTAL_RECORD_COUNT, VALID_SAMPLES, WINDOW_INTERVAL, WINDOW_SAMPLES, MAXIMUM_VALUE_TIMESTAMP, MINIMUM_VALUE_TIMESTAMP, VARIANCE_VALUE, ACTIVE_COV_SUBSCRIPTIONS, BACKUP_FAILURE_TIMEOUT, CONFIGURATION_FILES, DATABASE_REVISION, DIRECT_READING, LAST_RESTORE_TIME, MAINTENANCE_REQUIRED, MEMBER_OF, MODE, OPERATION_EXPECTED, SETTING, SILENCED, TRACKING_VALUE, ZONE_MEMBERS, LIFE_SAFETY_ALARM_VALUES, MAX_SEGMENTS_ACCEPTED, PROFILE_NAME, AUTO_SLAVE_DISCOVERY, MANUAL_SLAVE_ADDRESS_BINDING, SLAVE_ADDRESS_BINDING, SLAVE_PROXY_ENABLE, LAST_NOTIFY_RECORD, SCHEDULE_DEFAULT, ACCEPTED_MODES, ADJUST_VALUE, COUNT, COUNT_BEFORE_CHANGE, COUNT_CHANGE_TIME, COV_PERIOD, INPUT_REFERENCE, LIMIT_MONITORING_INTERVAL, LOGGING_OBJECT, LOGGING_RECORD, PRESCALE, PULSE_RATE, SCALE, SCALE_FACTOR, UPDATE_TIME, VALUE_BEFORE_CHANGE, VALUE_SET, VALUE_CHANGE_TIME, ALIGN_INTERVALS, INTERVAL_OFFSET, LAST_RESTART_REASON, LOGGING_TYPE, RESTART_NOTIFICATION_RECIPIENTS, TIME_OF_DEVICE_RESTART, TIME_SYNCHRONIZATION_INTERVAL, TRIGGER, UTC_TIME_SYNCHRONIZATION_RECIPIENTS, NODE_SUBTYPE, NODE_TYPE, STRUCTURED_OBJECT_LIST, SUBORDINATE_ANNOTATIONS, SUBORDINATE_LIST, ACTUAL_SHED_LEVEL, DUTY_WINDOW, EXPECTED_SHED_LEVEL, FULL_DUTY_BASELINE, REQUESTED_SHED_LEVEL, SHED_DURATION, SHED_LEVEL_DESCRIPTIONS, SHED_LEVELS, STATE_DESCRIPTION, DOOR_ALARM_STATE, DOOR_EXTENDED_PULSE_TIME, DOOR_MEMBERS, DOOR_OPEN_TOO_LONG_TIME, DOOR_PULSE_TIME, DOOR_STATUS, DOOR_UNLOCK_DELAY_TIME, LOCK_STATUS, MASKED_ALARM_VALUES, SECURED_STATUS, ABSENTEE_LIMIT, ACCESS_ALARM_EVENTS, ACCESS_DOORS, ACCESS_EVENT, ACCESS_EVENT_AUTHENTICATION_FACTOR, ACCESS_EVENT_CREDENTIAL, ACCESS_EVENT_TIME, ACCESS_TRANSACTION_EVENTS, ACCOMPANIMENT, ACCOMPANIMENT_TIME, ACTIVATION_TIME, ACTIVE_AUTHENTICATION_POLICY, ASSIGNED_ACCESS_RIGHTS, AUTHENTICATION_FACTORS, AUTHENTICATION_POLICY_LIST, AUTHENTICATION_POLICY_NAMES, AUTHENTICATION_STATUS, AUTHORIZATION_MODE, BELONGS_TO, CREDENTIAL_DISABLE, CREDENTIAL_STATUS, CREDENTIALS, CREDENTIALS_IN_ZONE, DAYS_REMAINING, ENTRY_POINTS, EXIT_POINTS, EXPIRATION_TIME, EXTENDED_TIME_ENABLE, FAILED_ATTEMPT_EVENTS, FAILED_ATTEMPTS, FAILED_ATTEMPTS_TIME, LAST_ACCESS_EVENT, LAST_ACCESS_POINT, LAST_CREDENTIAL_ADDED, LAST_CREDENTIAL_ADDED_TIME, LAST_CREDENTIAL_REMOVED, LAST_CREDENTIAL_REMOVED_TIME, LAST_USE_TIME, LOCKOUT, LOCKOUT_RELINQUISH_TIME, MAX_FAILED_ATTEMPTS, MEMBERS, MUSTER_POINT, NEGATIVE_ACCESS_RULES, NUMBER_OF_AUTHENTICATION_POLICIES, OCCUPANCY_COUNT, OCCUPANCY_COUNT_ADJUST, OCCUPANCY_COUNT_ENABLE, OCCUPANCY_LOWER_LIMIT, OCCUPANCY_LOWER_LIMIT_ENFORCED, OCCUPANCY_STATE, OCCUPANCY_UPPER_LIMIT, OCCUPANCY_UPPER_LIMIT_ENFORCED, PASSBACK_MODE, PASSBACK_TIMEOUT, POSITIVE_ACCESS_RULES, REASON_FOR_DISABLE, SUPPORTED_FORMATS, SUPPORTED_FORMAT_CLASSES, THREAT_AUTHORITY, THREAT_LEVEL, TRACE_FLAG, TRANSACTION_NOTIFICATION_CLASS, USER_EXTERNAL_IDENTIFIER, USER_INFORMATION_REFERENCE, USER_NAME, USER_TYPE, USES_REMAINING, ZONE_FROM, ZONE_TO, ACCESS_EVENT_TAG, GLOBAL_IDENTIFIER, VERIFICATION_TIME, BASE_DEVICE_SECURITY_POLICY, DISTRIBUTION_KEY_REVISION, DO_NOT_HIDE, KEY_SETS, LAST_KEY_SERVER, NETWORK_ACCESS_SECURITY_POLICIES, PACKET_REORDER_TIME, SECURITY_PDU_TIMEOUT, SECURITY_TIME_WINDOW, SUPPORTED_SECURITY_ALGORITHMS, UPDATE_KEY_SET_TIMEOUT, BACKUP_AND_RESTORE_STATE, BACKUP_PREPARATION_TIME, RESTORE_COMPLETION_TIME, RESTORE_PREPARATION_TIME, BIT_MASK, BIT_TEXT, IS_UTC, GROUP_MEMBERS, GROUP_MEMBER_NAMES, MEMBER_STATUS_FLAGS, REQUESTED_UPDATE_INTERVAL, COVU_PERIOD, COVU_RECIPIENTS, EVENT_MESSAGE_TEXTS, EVENT_MESSAGE_TEXTS_CONFIG, EVENT_DETECTION_ENABLE, EVENT_ALGORITHM_INHIBIT, EVENT_ALGORITHM_INHIBIT_REF, TIME_DELAY_NORMAL, RELIABILITY_EVALUATION_INHIBIT, FAULT_PARAMETERS, FAULT_TYPE, LOCAL_FORWARDING_ONLY, PROCESS_IDENTIFIER_FILTER, SUBSCRIBED_RECIPIENTS, PORT_FILTER, AUTHORIZATION_EXEMPTIONS, ALLOW_GROUP_DELAY_INHIBIT, CHANNEL_NUMBER, CONTROL_GROUPS, EXECUTION_DELAY, LAST_PRIORITY, WRITE_STATUS, PROPERTY_LIST, SERIAL_NUMBER, BLINK_WARN_ENABLE, DEFAULT_FADE_TIME, DEFAULT_RAMP_RATE, DEFAULT_STEP_INCREMENT, EGRESS_TIME, IN_PROGRESS, INSTANTANEOUS_POWER, LIGHTING_COMMAND, LIGHTING_COMMAND_DEFAULT_PRIORITY, MAX_ACTUAL_VALUE, MIN_ACTUAL_VALUE, POWER, TRANSITION, EGRESS_ACTIVE, INTERFACE_VALUE, FAULT_HIGH_LIMIT, FAULT_LOW_LIMIT, LOW_DIFF_LIMIT, STRIKE_COUNT, TIME_OF_STRIKE_COUNT_RESET, DEFAULT_TIMEOUT, INITIAL_TIMEOUT, LAST_STATE_CHANGE, STATE_CHANGE_VALUES, TIMER_RUNNING, TIMER_STATE, APDU_LENGTH, IP_ADDRESS, IP_DEFAULT_GATEWAY, IP_DHCP_ENABLE, IP_DHCP_LEASE_TIME, IP_DHCP_LEASE_TIME_REMAINING, IP_DHCP_SERVER, IP_DNS_SERVER, BACNET_IP_GLOBAL_ADDRESS, BACNET_IP_MODE, BACNET_IP_MULTICAST_ADDRESS, BACNET_IP_NAT_TRAVERSAL, IP_SUBNET_MASK, BACNET_IP_UDP_PORT, BBMD_ACCEPT_FD_REGISTRATIONS, BBMD_BROADCAST_DISTRIBUTION_TABLE, BBMD_FOREIGN_DEVICE_TABLE, CHANGES_PENDING, COMMAND, FD_BBMD_ADDRESS, FD_SUBSCRIPTION_LIFETIME, LINK_SPEED, LINK_SPEEDS, LINK_SPEED_AUTONEGOTIATE, MAC_ADDRESS, NETWORK_INTERFACE_NAME, NETWORK_NUMBER, NETWORK_NUMBER_QUALITY, NETWORK_TYPE, ROUTING_TABLE, VIRTUAL_MAC_ADDRESS_TABLE, COMMAND_TIME_ARRAY, CURRENT_COMMAND_PRIORITY, LAST_COMMAND_TIME, VALUE_SOURCE, VALUE_SOURCE_ARRAY, BACNET_IPV6_MODE, IPV6_ADDRESS, IPV6_PREFIX_LENGTH, BACNET_IPV6_UDP_PORT, IPV6_DEFAULT_GATEWAY, BACNET_IPV6_MULTICAST_ADDRESS, IPV6_DNS_SERVER, IPV6_AUTO_ADDRESSING_ENABLE, IPV6_DHCP_LEASE_TIME, IPV6_DHCP_LEASE_TIME_REMAINING, IPV6_DHCP_SERVER, IPV6_ZONE_INDEX, ASSIGNED_LANDING_CALLS, CAR_ASSIGNED_DIRECTION, CAR_DOOR_COMMAND, CAR_DOOR_STATUS, CAR_DOOR_TEXT, CAR_DOOR_ZONE, CAR_DRIVE_STATUS, CAR_LOAD, CAR_LOAD_UNITS, CAR_MODE, CAR_MOVING_DIRECTION, CAR_POSITION, ELEVATOR_GROUP, ENERGY_METER, ENERGY_METER_REF, ESCALATOR_MODE, FAULT_SIGNALS, FLOOR_TEXT, GROUP_ID, GROUP_MODE, HIGHER_DECK, INSTALLATION_ID, LANDING_CALLS, LANDING_CALL_CONTROL, LANDING_DOOR_STATUS, LOWER_DECK, MACHINE_ROOM_ID, MAKING_CAR_CALL, NEXT_STOPPING_FLOOR, OPERATION_DIRECTION, PASSENGER_ALARM, POWER_MODE, REGISTERED_CAR_CALL, ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS, PROTOCOL_LEVEL, REFERENCE_PORT, DEPLOYED_PROFILE_LOCATION, PROFILE_LOCATION, TAGS, SUBORDINATE_NODE_TYPES, SUBORDINATE_TAGS, SUBORDINATE_RELATIONSHIPS, DEFAULT_SUBORDINATE_RELATIONSHIP, REPRESENTS

additionalProperties

False

additionalProperties

False

ObjectTypesEntity

type

object

properties

  • range

type

string

additionalProperties

False

PROPERTY_SUBSCRIPTION

type

object

properties

  • strategy

type

string

enum

PROPERTY_SUBSCRIPTION

default

PROPERTY_SUBSCRIPTION

  • covIncrement

When a BACnet COV Subscribe request is sent, a COV increment value may be included. This value defines the minimum change required for the controller to generate a COV notification. If the COV increment is specified in the subscription configuration file, it will override the COV increment value locally configured in the controller for the duration of the subscription.

As a result, the controller will use the COV increment provided by the subscriber to determine when COV notifications are triggered. Care must therefore be taken when configuring this parameter, as an inappropriate value may alter the expected behavior of COV reporting and impact system performance or data accuracy.

type

number

  • subscriptionRefreshFrequency

In a BACnet system, COV (Change of Value) subscription frequency defines how often a subscribing device renews its subscription to receive value change notifications from a BACnet controller. This parameter does not control how often COV notifications are sent, but how frequently the subscription request is reissued to keep the subscription active.

Subscription validity, expressed as a lifetime or timeout, defines the maximum duration for which a COV subscription remains active without renewal. If the subscription is not refreshed before the validity period expires, the controller automatically cancels the subscription and stops sending COV notifications.

The COV subscription frequency represents a tradeoff between network load and fault detection time. A higher subscription frequency increases network traffic but reduces the time required to detect a controller failure or communication loss. Conversely, a lower subscription frequency minimizes network load but increases the duration during which a controller may remain unreachable before the subscription expires. The subscription frequency must therefore be carefully balanced to ensure both network efficiency and acceptable fault detection latency.

DurationConfigurationEntity

  • subscriptionValidity

In a BACnet COV mechanism, the validity value (subscription lifetime) is transmitted to the controller with each COV Subscribe request. This value defines the maximum time the controller shall maintain the subscription without receiving a renewal request.

To ensure uninterrupted COV notifications, the validity value must be configured greater than the subscription renewal frequency. As a best practice, the validity period should be at least three times longer than the subscription frequency. This margin accounts for communication delays, network congestion, or temporary device unavailability, and prevents unintended subscription expiration.

If the validity period is too short compared to the subscription frequency, missed or delayed Subscribe requests may cause the controller to cancel the subscription, resulting in loss of COV updates.

If no value is provided, the default is set to three times the subscription frequency.

DurationConfigurationEntity

additionalProperties

False

OBJECT_SUBSCRIPTION

type

object

properties

  • strategy

type

string

enum

OBJECT_SUBSCRIPTION

default

OBJECT_SUBSCRIPTION

  • subscriptionRefreshFrequency

In a BACnet system, COV (Change of Value) subscription frequency defines how often a subscribing device renews its subscription to receive value change notifications from a BACnet controller. This parameter does not control how often COV notifications are sent, but how frequently the subscription request is reissued to keep the subscription active.

Subscription validity, expressed as a lifetime or timeout, defines the maximum duration for which a COV subscription remains active without renewal. If the subscription is not refreshed before the validity period expires, the controller automatically cancels the subscription and stops sending COV notifications.

The COV subscription frequency represents a tradeoff between network load and fault detection time. A higher subscription frequency increases network traffic but reduces the time required to detect a controller failure or communication loss. Conversely, a lower subscription frequency minimizes network load but increases the duration during which a controller may remain unreachable before the subscription expires. The subscription frequency must therefore be carefully balanced to ensure both network efficiency and acceptable fault detection latency.

DurationConfigurationEntity

  • subscriptionValidity

In a BACnet COV mechanism, the validity value (subscription lifetime) is transmitted to the controller with each COV Subscribe request. This value defines the maximum time the controller shall maintain the subscription without receiving a renewal request. If the validity period is too short compared to the subscription frequency, missed or delayed Subscribe requests may cause the controller to cancel the subscription, resulting in loss of COV updates.

To ensure uninterrupted COV notifications, the validity value must be configured greater than the subscription renewal frequency. As a best practice, the validity period should be at least three times longer than the subscription frequency. This margin accounts for communication delays, network congestion, or temporary device unavailability, and prevents unintended subscription expiration.

If no value is provided, the default is set to three times the subscription frequency.

DurationConfigurationEntity

additionalProperties

False

MULTIPLE_POLLING

type

object

properties

  • strategy

type

string

enum

MULTIPLE_POLLING

default

MULTIPLE_POLLING

  • frequency

Polling frequency defines how often a BACnet supervisory system reads data from a controller. A higher polling rate provides faster updates and quicker detection of changes but increases network traffic and may impact communication performance. A lower polling rate reduces network load but results in slower data updates. The polling frequency should be configured according to data criticality, network type, and system size to ensure reliable and efficient BACnet communication.

DurationConfigurationEntity

additionalProperties

False

SINGLE_POLLING

type

object

properties

  • strategy

type

string

enum

SINGLE_POLLING

default

SINGLE_POLLING

  • frequency

Polling frequency defines how often a BACnet supervisory system reads data from a controller. A higher polling rate provides faster updates and quicker detection of changes but increases network traffic and may impact communication performance. A lower polling rate reduces network load but results in slower data updates. The polling frequency should be configured according to data criticality, network type, and system size to ensure reliable and efficient BACnet communication.

DurationConfigurationEntity

additionalProperties

False

DeviceSupervisionEntity

type

object

properties

  • delayBetweenRetriesMs

Delay in milliseconds between each retry attempt during connectivity checks.

The default value is 500 milliseconds.

Learn more about BACNET ↗️.

Default value is [{“unit”:”MILLISECONDS”,”value”:500}]

default

unit

MILLISECONDS

value

500

DurationConfigurationEntity

  • maxRetriesBeforeError

Maximum number of retries for each connectivity check before reporting an error.

The default value is 3 retries.

Learn more about BACNET ↗️.

Default value is [3]

type

integer

default

3

  • method

This supervision method is used to monitor the connection status and to detect any configuration changes that may have occurred since the previous check.

  • FORCE_CONNECTED: Always report the connection as enabled; used for devices that do not support a real connectivity check.

  • OBJECT_NAME: BACnet request (PropertyIdentifier.objectName) used solely to verify device connectivity.

  • TIME_OF_DEVICE_RESTART: BACnet request (PropertyIdentifier.timeOfDeviceRestart) used to detect configuration changes by identifying device restarts.

Learn more about BACNET ↗️.

Default value is [“OBJECT_NAME”]

type

string

enum

FORCE_CONNECTED, OBJECT_NAME, TIME_OF_DEVICE_RESTART

default

OBJECT_NAME

  • monitoringFrequency

Interval between check of the device connection or connection change detection

Default value is 30 seconds.

Learn more about BACNET ↗️.

Default value is [{“unit”:”SECONDS”,”value”:30}]

default

unit

SECONDS

value

30

DurationConfigurationEntity

  • sleepBeforeFirstConnection

This value helps prevent excessive load on the BACnet network during module restarts when many devices are involved by enabling batch processing based on device criticality.

The initial connexion will be random between 0 and the value set.

The default value is 0 seconds.

Learn more about BACNET ↗️.

Default value is [{“unit”:”SECONDS”,”value”:0}]

default

unit

SECONDS

value

0

DurationConfigurationEntity

additionalProperties

False