BACnetStack_SendReadForeignDeviceTable
bool BACnetStack_SendReadForeignDeviceTable( const uint32_t networkPortInstance, const uint8_t * connectionString, const uint8_t connectionStringLength);Sends a ReadForeignDeviceTable BVLL message to a specified BBMD (BACnet Broadcast Management Device) to request the BBMD’s foreign device table.
BACnet reference: ANSI/ASHRAE 135-2024 Annex J: J.2.7 (Read-Foreign-Device-Table) and J.5.2.1.1 (its use).
Parameters
Section titled “Parameters”| Parameter | Direction | Description |
|---|---|---|
networkPortInstance |
in | The IPv4 Network Port object instance to send on. |
connectionString |
in | The connection string that represents the IP Address and Port of the BBMD to send the message. Example: 0xC0, 0xA8, 0x01, 0x05, 0xBA, 0xC0 is 192.168.1.5:47808. It must be exactly 6 octets; any other connectionStringLength returns false and sends nothing. |
connectionStringLength |
in | The number of bytes in the connection string. |
Returns
Section titled “Returns”True if successfully sent, otherwise false. BY DESIGN there is no hook that delivers the peer’s reply. Capture the inbound frame in your CallbackReceiveMessageForPort and decode it with BACnetStack_DecodeAs() - that is the intended and supported way to read the returned table. Note that BACnetStack_GetBDTEntry() and BACnetStack_GetFDTEntry() read THIS device’s OWN tables, not the peer’s reply to this request.
Topic: BACnet/IP: BBMD and foreign devices. Declared in CASBACnetStackDLL.h.