Why XBee ZB sends unicast command as broadcast?

I am using XBee ZigBee SMT S2C module.
Sending 0x11 Explicit Addressing Command Frame as 16-bit unicast and 64-bit broadcast (0x0000000000FFFF):

7E 00 14 11 01 00 00 00 00 00 00 FF FF 5E 10 01 01 00 01 C0 FB 00 00 C3

For some reason I see broadcast message in RF (see captured packet below). Why it is happening?

[16:08:04.682651]	Power Configuration	41-88-6E-F1-84-FF-FF-00-00-08-10-FF-FF-00-00-1E-90-C1-54-9B-40-00-A2-13-00-08-01-01-00-FB-C0-01-39-2F-91-36-DC-45-55-D4-68-CB-8F-49-3B-BB-81-27-C3-B6-9C-AC-EC-13-AD-06-42-62-FF-FF
Frame Information: (60 bytes)
	Packet Number: 97
	Protocol: ZigBee
	Timestamp: 16:08:04.682651
	Time Delta: 0.831544
	Channel: 15
	Length: 60
	Link Quality: -35 dBm
	Source: USB8621
	Layer: Custom
	Status: Normal
MAC Header: (9 bytes)
	Frame Control: 0x8841
		ยทยทยทยท ยทยทยทยท ยทยทยทยท ยท001 = Frame Type: [0x1] Data
		ยทยทยทยท ยทยทยทยท ยทยทยทยท 0ยทยทยท = Security Enabled: [0x0] No
		ยทยทยทยท ยทยทยทยท ยทยทยท0 ยทยทยทยท = Frame Pending: [0x0] No
		ยทยทยทยท ยทยทยทยท ยทยท0ยท ยทยทยทยท = Acknowledgement Request: [0x0] No
		ยทยทยทยท ยทยทยทยท ยท1ยทยท ยทยทยทยท = Intra-PAN: [0x1] Yes
		ยทยทยทยท ยทยท00 0ยทยทยท ยทยทยทยท = Reserved: 0x0
		ยทยทยทยท 10ยทยท ยทยทยทยท ยทยทยทยท = Destination Addr Mode: [0x2] 16-bit Short Address
		ยทยท00 ยทยทยทยท ยทยทยทยท ยทยทยทยท = Reserved: 0x0
		10ยทยท ยทยทยทยท ยทยทยทยท ยทยทยทยท = Source Addr Mode: [0x2] 16-bit Short Address
	Sequence Number: 110
	Destination PAN ID: 0x84F1
	Destination Address: 0xFFFF
	Source Address: 0x0000
MAC Payload: (49 bytes)
	NWK Header: (16 bytes)
		Frame Control: 0x1008
			ยทยทยทยท ยทยทยทยท ยทยทยทยท ยทยท00 = Frame Type: [0x0] Data
			ยทยทยทยท ยทยทยทยท ยทยท00 10ยทยท = Protocol Version: 0x2
			ยทยทยทยท ยทยทยทยท 00ยทยท ยทยทยทยท = Route Discovery: [0x0] Suppressed
			ยทยทยทยท ยทยทยท0 ยทยทยทยท ยทยทยทยท = Multicast Flag: [0x0] Unicast or Broadcast
			ยทยทยทยท ยทยท0ยท ยทยทยทยท ยทยทยทยท = Security Enabled: [0x0] No
			ยทยทยทยท ยท0ยทยท ยทยทยทยท ยทยทยทยท = Source Route Included: [0x0] No
			ยทยทยทยท 0ยทยทยท ยทยทยทยท ยทยทยทยท = Destination IEEE Address Included: [0x0] No
			ยทยทยท1 ยทยทยทยท ยทยทยทยท ยทยทยทยท = Source IEEE Address Included: [0x1] Yes
			ยทยท0ยท ยทยทยทยท ยทยทยทยท ยทยทยทยท = Device Initiator: [0x0] No
			00ยทยท ยทยทยทยท ยทยทยทยท ยทยทยทยท = Reserved: 0x0
		Destination Address: 0xFFFF
		Source Address: 0x0000
		Radius: 0x1E
		Sequence Number: 144
		Source IEEE Address: 00:13:A2:00:40:9B:54:C1
	NWK Payload: (33 bytes)
		APS Header: 0x3901C0FB00010108
			Frame Control: 0x08
				ยทยทยทยท ยทยท00 = Frame Type: [0x0] Data
				ยทยทยทยท 10ยทยท = Delivery Mode: [0x2] Broadcast
				ยทยทยท0 ยทยทยทยท = Acknowledgement Format: 0x0
					Format: [0x0] Data Frame
				ยทยท0ยท ยทยทยทยท = Security Enabled: [0x0] No
				ยท0ยทยท ยทยทยทยท = Acknowledgement Request: [0x0] No
				0ยทยทยท ยทยทยทยท = Extended Header Present: [0x0] No
			Destination Endpoint: 0x01
			Cluster ID: [0x0001] General: Power Configuration
			Profile ID: [0xC0FB] Private
			Source Endpoint: 0x01
			APS Counter: 57
		APS Payload: (25 bytes)
			ZCL Header: 0xDC36912F
				Frame Control: 0x2F
					ยทยทยทยท ยทยท11 = Frame Type: [0x3] Reserved
					ยทยทยทยท ยท1ยทยท = Manufacturer Specific: [0x1] Manufacturer Code Included in the ZCL Frame
					ยทยทยทยท 1ยทยทยท = Direction: [0x1] From Server to Client
					ยทยทยท0 ยทยทยทยท = Disable Default Response: [0x0] No
					001ยท ยทยทยทยท = Reserved: 0x1
				Manufacter Code Field: 0x3691
				Transaction Sequence Number: 220
			ZCL Payload: (21 bytes)
				Private Payload: (21 bytes)
MAC Footer: 0xFFFF
	Frame Check Sequence: 0xFFFF

1 Like

That is because a 64 bit address of 0xFFFF is the broadcast address.

1 Like

What should be put to 64-bit address when only 0xFF FF, 0x00 00, and a full address are supported?

Why not 0x FF FE (unknown) is not supported?

Address 00 00 00 00 00 00 00 00 and FF FF are not the only ones supported. They are just special addresses. The first, 00 00 00 00 00 00 00 00 is indicating the Coordinator of the network where as 00 00 00 00 00 00 FF FF is the broadcast address. Anything else would be the 64 bit MAC address of the node you want to send a Unicast message to.