KNX to BACnet gateway with LM3
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.
Make KNX/EIB objects BACnet readable/writable
- In Logic Machine objects marked as “Export object” will be available as BACnet objects
- Binary objects will appear as Binary Values, other numeric values will appear as Analog Values. Other types are not currently supported
- KNX bus write changes priority array value at configured object priority index
In System Configuration -> Network -> BACnet objects you can see marked objects on LogicMachine which are sent to BACnet network.
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.
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:
- require('bacnet')
Read current value of binary or analog object:
- bacnet.readvalue(device_id, object_type, object_id)
Read binary object:
- value = bacnet.readvalue(127001, 'binary value', 2305)
Read analog object:
- value = bacnet.readvalue(127001, 'analog value', 2306)
Write new value to binary or analog object priority array:
- 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:
- bacnet.write(127001, 'binary value', 2305, true)
Set analog object value:
- bacnet.write(127001, 'analog value', 2306, 22.5)
Set binary object value at priority 12:
- bacnet.write(127001, 'binary value', 2305, true, 12)
Set analog object value at priority 10:
- bacnet.write(127001, 'analog value', 2306, 22.5, 10)
Clear binary object value at priority 12:
- 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.