@@ -24,6 +24,12 @@ defmodule BACnet.Stack.Client do
2424 ```
2525 This is the same as `t:BACnet.Stack.TransportBehaviour.transport_msg/0`.
2626
27+ For BACnet proprietary messages, the following message is sent:
28+ ```elixir
29+ {:bacnet_transport, protocol_id, source_address, {:proprietary, type, destination, data}, portal}
30+ ```
31+ This is the same as `t:BACnet.Stack.TransportBehaviour.transport_msg/0`.
32+
2733 For BACnet APDU, the following message is sent:
2834 ```elixir
2935 {:bacnet_client, reference() | nil, apdu, {source_address, bvlc, npci}, pid()}
@@ -892,6 +898,22 @@ defmodule BACnet.Stack.Client do
892898 { :noreply , state }
893899 end
894900
901+ def handle_info (
902+ { :bacnet_transport , _proto , source_address , { :proprietary , _type , _destination , _payload } ,
903+ _portal } =
904+ data ,
905+ % State { notification_receiver: dest } = state
906+ ) do
907+ log_debug ( fn ->
908+ "Client: Got BACnet stack proprietary data from #{ inspect ( source_address ) } , data: #{ inspect ( data ) } "
909+ end )
910+
911+ Telemetry . execute_client_transport_message ( self ( ) , data , state )
912+
913+ send_process_dest ( dest , data )
914+ { :noreply , state }
915+ end
916+
895917 def handle_info (
896918 { :bacnet_transport , _proto , source_address , { :apdu , bvlc , npci , raw_apdu } = cb_data ,
897919 portal } = data ,
0 commit comments