Example: KNX to BACnet gateway with LM3

BACnet server mode: transparent data transfer to BACnet network

BACnet server specific configuration can be done in System Configuration -> Network -> BACnet Settings.

bacnet_server_LM3

 

Make KNX/EIB objects BACnet readable/writable

In System Configuration -> Network -> BACnet objects you can see marked objects on LogicMachine which are sent to BACnet network.

bacnet_server_objects

BACnet client mode

Normally this mode is used to interconnect LogicMachine, for example, with VRV systems over BACnet IP protocol. The settings are available in BACnet tab.

bacnet_client_lm3

By clicking on Scan Network button you can see a list of BACnet server devices on the network. With Scan Selected you can rescan specific BACnet server for respective objects.

 

Mapping received BACnet objects to KNX

Mapping to KNX objects currently is done over scripting.

Before using any bacnet function, you must include the library:

Source code    
  1. require('bacnet')

Read current value of binary or analog object:

Source code    
  1. bacnet.readvalue(device_id, object_type, object_id)

Read binary object:

Source code    
  1. value = bacnet.readvalue(127001, 'binary value', 2305)

Read analog object:

Source code    
  1. value = bacnet.readvalue(127001, 'analog value', 2306)

Write new value to binary or analog object priority array:

Source code    
  1. bacnet.write = function(device_id, object_type, object_id, value, priority)

Value can be nil, boolean, number or a numeric string
Priority parameter is optional, lowest priority is used by default

Set binary object value:

Source code    
  1. bacnet.write(127001, 'binary value', 2305, true)

Set analog object value:

Source code    
  1. bacnet.write(127001, 'analog value', 2306, 22.5)

Set binary object value at priority 12:

Source code    
  1. bacnet.write(127001, 'binary value', 2305, true, 12)

Set analog object value at priority 10:

Source code    
  1. bacnet.write(127001, 'analog value', 2306, 22.5, 10)

Clear binary object value at priority 12:

Source code    
  1. bacnet.write(127001, 'binary value', 2305, nil, 12)

 

BACnet over 868MHz

Embedded Systems is implementing also BACnet over wireless 868MHz ZigBee. Standard is available here.