module.bacnet

BACnet module

type

object

properties

  • deviceIdentifier

This parameter defines the identifier of the OSP-BACnet device on the BACnet network. The constructor requires a unique device ID, which is specified by this parameter.

For example: 1234.

Learn more about BACnet ↗️.

type

integer

  • experimentalFeatures

These experimental features are not yet stable and may change at any time.

If you are using them, we would appreciate any feedback.

Once a feature is considered stable, it will either be moved to another configuration parameter or enabled permanently.

Default value is [{“enableHotReload”:false}]

default

enableHotReload

False

ExperimentalFeatures

  • 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

  • linkedActionThreadPoolSize

The size of the thread pool used to execute actions linked to BACnet acquisition values. Increasing this value allows more actions to be executed in parallel, but also increases resource usage.

Default value is [10]

type

integer

default

10

  • loggingConfiguration

The configuration of module’s logging

Default value is [{“externalLogLevel”:”WARN”,”moduleLogLevel”:”INFO”}]

default

externalLogLevel

WARN

moduleLogLevel

INFO

LoggingConfigurationEntity

  • messagingConfiguration

The configuration of the Rabbit MQ used for communication

MessagingConfigurationEntity

  • networkConfiguration

Configuration of the local BACnet device, including OSP module identification and network parameters. This identification is used when communication with other protocols is required

NetworkConfigurationFile

  • remoteDevicesCacheDuration

BACnet devices are discovered using Who-Is broadcast requests and the corresponding I-Am responses from devices on the network. The module stores each discovered device using an internal timer and issues a new Who-Is request when the timer expires. Increasing this value reduces network load by limiting the frequency of device refresh operations; however, higher values also increase the time required to detect changes on the network.

Default value is [{“unit”:”MINUTES”,”value”:15}]

default

unit

MINUTES

value

15

DurationConfigurationEntity

  • startupValueErrorTimeout

The delay during which the error are not published when the module is starting or the value configuration has changed.

When a value without an error is publish the delay will be remove immediately. The following errors will not be delayed.

This also concern the uninitialized value.

During this period, any republish request will generate an uninitialized value.

This can be override on the value configuration.

Default value is [{“unit”:”MINUTES”,”value”:1}]

default

unit

MINUTES

value

1

DurationConfigurationEntity

  • 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

ExperimentalFeatures

type

object

properties

  • enableHotReload

Flag to enable/disable the hot-reload on the module.

The modules capabilities ↗️ describe which module support it.

Default value is [false]

type

boolean

default

False

additionalProperties

False

LoggingConfigurationEntity

type

object

properties

  • externalLogLevel

The log level for external libraries logging

Default value is [“WARN”]

type

string

enum

TRACE, DEBUG, INFO, WARN, ERROR, DISABLE

default

WARN

  • moduleLogLevel

The log level for module’s behavior logging

Default value is [“INFO”]

type

string

enum

TRACE, DEBUG, INFO, WARN, ERROR, DISABLE

default

INFO

  • scriptLogLevel

The log level for module’s internal script behavior logging (if not set the moduleLogLevel will be used)

type

string

enum

TRACE, DEBUG, INFO, WARN, ERROR, DISABLE

additionalProperties

False

MessagingConfigurationEntity

type

object

properties

  • bufferSize

The size of the buffer to use when the broker is disconnected (default: 60000).

Default value is [60000]

type

integer

minimum

1

default

60000

  • clientId

The ID of the client, must be different for each module instance.

type

string

  • host

The host of the rabbit MQ provider

type

string

  • storeMessagesOnDisk

Flag to indicate to store the message (The path /osp/messages must be mount to a volume).

Default value is [false]

type

boolean

default

False

additionalProperties

False

NetworkConfigurationFile

type

object

properties

  • networkTimeout

When a request is issued in BACnet, the answer must arrive before this timeout, otherwise the request will be in error

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

default

unit

SECONDS

value

6

DurationConfigurationEntity

  • networkTransmissionRetries

When a device doesn’t answer to a request, the system will retries X times to perform the request.

Default value is [2]

type

integer

default

2

  • port

“To communicate with other BACnet devices, the module uses a locally instantiated device. By default, this device uses port 47808, which is commonly used in many BACnet configurations. However, if port 47808 is already in use by another service, this may cause conflicts. This setting allows you to configure the port used by the local device.

For example, you may choose to use port 47809.

Learn more about BACNET networking ↗️.

Default value is [47808]

type

integer

default

47808

  • sourceAddress

To communicate with other BACnet devices the module uses a locally created device.

By default this local device will use default gateway as source IP. But you may want to force another local ip address.

If this field is set, this IP will be used as source IP for BACnet locally created device.

Learn more about BACNET networking ↗️.

type

string

  • subnetAddress

The bind address used by the BACnet device. Since the address is configured inside a container, make sure the network is properly forwarded and understand when it is necessary to change the default value (0.0.0.0).

Learn more about BACNET networking ↗️.

Default value is [“0.0.0.0”]

type

string

default

0.0.0.0

  • subnetMask

The subnet mask used for broadcast requests (such as Who-Is). The value is expressed in reverse: 0 corresponds to a 32-bit mask (255.255.255.255), while 32 corresponds to 0.0.0.0.

For example, if the IPv4 network is 200.100.10.0/24 (which includes 256 addresses), you should enter 24 here.

Learn more about BACNET networking ↗️.

Default value is [0]

type

integer

default

0

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