# Limitations

## Writing to multiple automation protocols¶

In larger setups the edge device must talk to different automation components through different protocols, e.g., HVAC devices speak BACnet while switches are controlled through KNX and lightning is integrated through the DALI protocol. SWOP protocol assumes that the message field datapoint uniquely identifies the target datpoint among all existing automation networks.

On the rare ocassion that datapoints on two different automation networks are named the same it is up to the SWOP implementation to disambiguate. It is the recommendation to add the x-automation_protocol field for this purpose. x-automation_protocol should be of type object and should contain field identifier according to Table 1. Other information, e.g., version of the standard used, is optional (see Example 1).

Protocol Identifier
BACnet bacnet
DALI dali
KNX knx
LON lon
Modbus modbus
... ...

Table 1: Protocol identifiers.

 1 2 3 4 "x-automation_protocol: { 'protocol': 'bacnet', 'version': 'ISO 16484-5' } 
Example 1: The x-automation_protocol field.