Giter Club home page Giter Club logo

Comments (14)

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett. You have two nodes in you network, the coordinator dongle with address 0 and another node with address 40442, correct?

Your log starts at 940 stating that there are 2 endopints on the dongle. Is this finding related to the following line at 941?
I've not looked into the code yet and the order of printouts might not be the order of events.

At 943 the discovery of the dongle's endopint 2 is started requesting it's simple descriptor but there are other things moving. For example, you receive ZDO_MGMT_LQI_RSP at 945. This probably matches a previous request not shown in the log. This response shows the existence of your other node with address 40442. However,
The same ZDO_MGMT_LQI_RSP is received at 955. Is this expected?

Also note that while the discovery of the dongle's endpoint 2, the discovery process requests the IEEE address of the other node with address 40442. This requests goes over the air and the response is not showed in the log.

Then we get to the problem. The simple descriptor for the dongle's ep 2 is received at 968 and the discovery process continues with ep 1.
However the simple descriptor for the dongle's ep 2 is received also at 971 and is understood as the simple descriptor of ep1.

Also note that the simple descriptor of ep 1 is reported twice at 994 and 995 (but nobody is waiting for it at that point).

Is the above picture correct?

It looks like all asynchronous responses are duplicated but is this a firmware or an application problem? Can you reproduce this sistematically or did it happen just once?

About your proposal to try to match the ep number, I'd go further also matching the destination address and the network address of interest. These parameters are common to every ZDO request.

Ciao,
Cristiano

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

You have two nodes in you network, the coordinator dongle with address 0 and another node with address 40442, correct?

Actually, there is only one node, the coordinator dongle. It would be discovered as address 0 and address 40442 since I've set a custom endpoint to the dongle to make it work as a IAS CIE.
So that 2 endpoints are found. ep 1 is IAS CIE while ep 2 is the default ZigBee controller (See ApplicationFrameworkLayer).
Then, inspecting of each endpoint would be started since 943.
However, the response of simple descriptor request of ep 2 would be received twice at 968 and 975. As a result, the response at 975 would be incorrectly considered as the result of inspection of ep 1 since 969. And inspection of ep 1 would receive two response as well.

_So the problem is that why there are two response of simple descriptor request for each endpoint?_

"destination address" and "network address" can not be used for resolving above issue as these two endpoints have the same values. So I have to use the "endpoint" provided by the znp interface to handle this case.

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,
The ZigBee coordinator always has the single network address 0x0000 independently of the number of endpoints registered.
It looks like you have a second node (40442) associated to the coordinator (or it was associated in the past, you turned it off and/or you started zigbee4java without clearing the network state. Please see my note above about the IEEE address request sent to this node.

About the suggestion to match ep, destination network address e address of interest, it does not help in this specific case but in those cases where you could receive a delayed response from a node while you are inspecting another one. It's just defensive code.

Can you reproduce the problem systematically?

Ciao,
Cristiano

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

You are right. The node 40442 is another node, which was associated in the past. It disappear after resetting the dongle (4th parameter is set to "true" for clearing the network state).

Can you reproduce the problem systematically?

Yes. It could be reproduced easily. Add codes below in start() of ZigBeeConsole besides Brhett@bb3428b

ZigBeeNetworkManager manager = zigbeeApi.getZigBeeNetworkManager();
manager.addCustomEndpoint("1", "260", "1024", "0", "[0,1,3,1281]", "[3,1280,1282]");

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,

This leads us to your other issue #63.
Is it possible that this API was deprecated due to the above issue? I cannot test it right now but what happens if you add another custom ep?

Ciao,
Cristiano

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

Is it possible that this API was deprecated due to the above issue?

I don't know. I found the API has been marked as deprecated since the 1st revision of ZigBeeNetworkManager.java (copying from z4o?)

I cannot test it right now but what happens if you add another custom ep?

If we don't resolve the duplicated response of ZDO_SIMPLE_DESC_RSP, the "list" command would not list the added custom virtual device (IAS CIE in this case).

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,
I've just fetched your custom_device branch and it works fine for me.
I'm testing on Ubuntu 12.04 and an Oracle JDK 7 starting the console like this:

java -jar target/zigbee-console-javase-2.0.3-SNAPSHOT.jar /dev/ttyACM0 11 0x1234 true

The relevant part of the log is:

09:32:56 657  DEBUG  -> AF_REGISTER (Packet: length = 41, apiId = 0x24 0x00, full data = 0xfe 0x29 0x24 0x00 0x01 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x01 0x00 0x02 0x00 0x03 0x00 0x04 0x00 0x05 0x00 0x06 0x00 0x07 0x00 0x08 0x00 0x09 0x00 0x0f 0x00 0x0a 0x00 0x0c 0x00 0x15 0x00 0x02 0x07 0x00 0x01 0x00, checksum = 0x00, error = false, errorMessage = null) 
09:32:56 670  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
09:32:56 670  INFO   Registered default sending endpoint 1 with clusters: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 10, 12, 21, 1794, 256]
09:32:56 670  DEBUG  Adding <profileId,clusterId> <260,0> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,1> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,2> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,3> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,4> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,5> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,6> to sender2EndPoint hashtable
09:32:56 671  DEBUG  Adding <profileId,clusterId> <260,7> to sender2EndPoint hashtable
09:32:56 672  DEBUG  Adding <profileId,clusterId> <260,8> to sender2EndPoint hashtable
09:32:56 672  DEBUG  Adding <profileId,clusterId> <260,9> to sender2EndPoint hashtable
09:32:56 672  DEBUG  Adding <profileId,clusterId> <260,15> to sender2EndPoint hashtable
09:32:56 673  DEBUG  Adding <profileId,clusterId> <260,10> to sender2EndPoint hashtable
09:32:56 673  DEBUG  Adding <profileId,clusterId> <260,12> to sender2EndPoint hashtable
09:32:56 673  DEBUG  Adding <profileId,clusterId> <260,21> to sender2EndPoint hashtable
09:32:56 673  DEBUG  Adding <profileId,clusterId> <260,1794> to sender2EndPoint hashtable
09:32:56 674  DEBUG  Adding <profileId,clusterId> <260,256> to sender2EndPoint hashtable
09:32:56 675  DEBUG  -> AF_REGISTER (Packet: length = 41, apiId = 0x24 0x00, full data = 0xfe 0x29 0x24 0x00 0x02 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x01 0x01 0x02 0x01 0x00 0x02 0x01 0x02 0x02 0x02 0x04 0x02 0x00 0x03 0x03 0x04 0x00 0x04 0x01 0x04 0x02 0x04 0x04 0x04 0x05 0x04 0x06 0x04 0x04 0x0b 0x00 0x05 0x14, checksum = 0x14, error = false, errorMessage = null) 
09:32:56 688  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
09:32:56 688  INFO   Registered default sending endpoint 2 with clusters: [257, 258, 512, 513, 514, 516, 768, 1027, 1024, 1025, 1026, 1028, 1029, 1030, 2820, 1280]
09:32:56 688  DEBUG  Adding <profileId,clusterId> <260,257> to sender2EndPoint hashtable
09:32:56 688  DEBUG  Adding <profileId,clusterId> <260,258> to sender2EndPoint hashtable
09:32:56 689  DEBUG  Adding <profileId,clusterId> <260,512> to sender2EndPoint hashtable
09:32:56 689  DEBUG  Adding <profileId,clusterId> <260,513> to sender2EndPoint hashtable
09:32:56 689  DEBUG  Adding <profileId,clusterId> <260,514> to sender2EndPoint hashtable
09:32:56 690  DEBUG  Adding <profileId,clusterId> <260,516> to sender2EndPoint hashtable
09:32:56 690  DEBUG  Adding <profileId,clusterId> <260,768> to sender2EndPoint hashtable
09:32:56 690  DEBUG  Adding <profileId,clusterId> <260,1027> to sender2EndPoint hashtable
09:32:56 690  DEBUG  Adding <profileId,clusterId> <260,1024> to sender2EndPoint hashtable
09:32:56 691  DEBUG  Adding <profileId,clusterId> <260,1025> to sender2EndPoint hashtable
09:32:56 691  DEBUG  Adding <profileId,clusterId> <260,1026> to sender2EndPoint hashtable
09:32:56 691  DEBUG  Adding <profileId,clusterId> <260,1028> to sender2EndPoint hashtable
09:32:56 691  DEBUG  Adding <profileId,clusterId> <260,1029> to sender2EndPoint hashtable
09:32:56 692  DEBUG  Adding <profileId,clusterId> <260,1030> to sender2EndPoint hashtable
09:32:56 692  DEBUG  Adding <profileId,clusterId> <260,2820> to sender2EndPoint hashtable
09:32:56 692  DEBUG  Adding <profileId,clusterId> <260,1280> to sender2EndPoint hashtable
09:32:56 693  DEBUG  -> AF_REGISTER (Packet: length = 13, apiId = 0x24 0x00, full data = 0xfe 0x0d 0x24 0x00 0x03 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x02 0x01 0x05 0x02 0x05 0x2e, checksum = 0x2e, error = false, errorMessage = null) 
09:32:56 700  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
09:32:56 700  INFO   Registered default sending endpoint 3 with clusters: [1281, 1282]
09:32:56 700  DEBUG  Adding <profileId,clusterId> <260,1281> to sender2EndPoint hashtable
09:32:56 700  DEBUG  Adding <profileId,clusterId> <260,1282> to sender2EndPoint hashtable
09:32:56 701  DEBUG  Sending permit join with data: 0
09:32:56 702  DEBUG  -> ZDO_MGMT_PERMIT_JOIN_REQ (Packet: length = 5, apiId = 0x25 0x36, full data = 0xfe 0x05 0x25 0x36 0x0f 0xfc 0xff 0x00 0x01 0x1b, checksum = 0x1b, error = false, errorMessage = null) 
09:32:56 714  DEBUG  <- ZDO_MGMT_PERMIT_JOIN_REQ_SRSP (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 714  DEBUG  -> ZDO_MGMT_PERMIT_JOIN_REQ (Packet: length = 5, apiId = 0x25 0x36, full data = 0xfe 0x05 0x25 0x36 0x02 0x00 0x00 0x00 0x01 0x15, checksum = 0x15, error = false, errorMessage = null) 
09:32:56 725  DEBUG  <- ZDO_MGMT_PERMIT_JOIN_REQ_SRSP (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 726  DEBUG  <-- ZToolPacket (Packet: length = 1, apiId = 0x45 0xcb, full data = 0xfe 0x01 0x45 0xcb 0x00 0x8f, checksum = 0x8f, error = false, errorMessage = null)
09:32:56 731  DEBUG  <-- ZDO_MGMT_PERMIT_JOIN_RSP (ZDO_MGMT_PERMIT_JOIN_RSP{SrcAddress=0x00 0x00, Status=SUCCESS(0)})
09:32:56 735  DEBUG  Inspecting ZigBee network for new nodes.
09:32:56 738  DEBUG  -> ZDO_IEEE_ADDR_REQ (Packet: length = 4, apiId = 0x25 0x01, full data = 0xfe 0x04 0x25 0x01 0x00 0x00 0x01 0x00 0x21, checksum = 0x21, error = false, errorMessage = null) 
09:32:56 739  DEBUG  Inspecting ZigBee network for new nodes.
ZigBee API starting up ... [OK]
09:32:56 745  DEBUG  <- ZDO_IEEE_ADDR_REQ_SRSP (ZDO_IEEE_ADDR_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 748  DEBUG  Inspection queue: New queue size: 0. Failed queue size: 0
There are 0 known devices in the network.
ZigBee console ready.
> 09:32:56 756  DEBUG  <-- ZDO_IEEE_ADDR_RSP (ZDO_IEEE_ADDR_RSP{AssocDevList=[], assocDevList=[], IEEEAddr=0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20, nwkAddr=0x00 0x00, NumAssocDev=0, SrcAddress=null, SrcAddrMode=0, StartIndex=0, Status=SUCCESS(0)})
09:32:56 756  DEBUG  -> ZDO_IEEE_ADDR_REQ (Packet: length = 4, apiId = 0x25 0x01, full data = 0xfe 0x04 0x25 0x01 0x00 0x00 0x00 0x00 0x20, checksum = 0x20, error = false, errorMessage = null) 
09:32:56 757  DEBUG  Waiting for other request to complete
09:32:56 763  DEBUG  <- ZDO_IEEE_ADDR_REQ_SRSP (ZDO_IEEE_ADDR_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 763  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
09:32:56 774  DEBUG  <-- ZDO_IEEE_ADDR_RSP (ZDO_IEEE_ADDR_RSP{AssocDevList=[], assocDevList=[], IEEEAddr=0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20, nwkAddr=0x00 0x00, NumAssocDev=0, SrcAddress=null, SrcAddrMode=0, StartIndex=0, Status=SUCCESS(0)})
09:32:56 775  DEBUG  ZDO_IEEE_ADDR_RSP from 0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20 with 0 associated
09:32:56 776  DEBUG  Waiting for other request to complete
09:32:56 776  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x12 0x00 0x00 0x06 0x5d, checksum = 0x5d, error = false, errorMessage = null)
09:32:56 777  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
09:32:56 780  DEBUG  Network browsing completed, waiting until 1442908076735
09:32:56 780  DEBUG  Inspecting device 00:12:4B:00:01:48:F1:20.
09:32:56 781  DEBUG  Waiting for other request to complete
09:32:56 782  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x12 0x00 0x00 0x06 0x5d, checksum = 0x5d, error = false, errorMessage = null)
09:32:56 782  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
09:32:56 782  DEBUG  ZDO_MGMT_LQI_REQ to 0 from index 0
09:32:56 783  DEBUG  Waiting for other request to complete
09:32:56 786  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x12 0x00 0x00 0x06 0x5d, checksum = 0x5d, error = false, errorMessage = null)
09:32:56 786  DEBUG  -> ZDO_MGMT_LQI_REQ (Packet: length = 3, apiId = 0x25 0x31, full data = 0xfe 0x03 0x25 0x31 0x00 0x00 0x00 0x17, checksum = 0x17, error = false, errorMessage = null) 
09:32:56 786  DEBUG  Adding node #0 (00:12:4B:00:01:48:F1:20) to the network
Node added: 00:12:4B:00:01:48:F1:20 (#0)
09:32:56 787  DEBUG  Created node object for #0 (00:12:4B:00:01:48:F1:20) that was not available on the network
09:32:56 787  DEBUG  Inspecting new node #0 (00:12:4B:00:01:48:F1:20)
09:32:56 787  DEBUG  Waiting for other request to complete
09:32:56 793  DEBUG  <- ZDO_MGMT_LQI_REQ_SRSP (ZDO_MGMT_LQI_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 793  DEBUG  -> ZDO_NODE_DESC_REQ (Packet: length = 4, apiId = 0x25 0x02, full data = 0xfe 0x04 0x25 0x02 0x00 0x00 0x00 0x00 0x23, checksum = 0x23, error = false, errorMessage = null) 
09:32:56 800  DEBUG  <-- ZDO_MGMT_LQI_RSP (ZDO_MGMT_LQI_RSP{NeighborLQICount=0, NeighborLQIEntries=0, NeighborLqiList=[], SrcAddress=0x00 0x00, StartIndex=0, Status=SUCCESS(0)})
09:32:56 801  DEBUG  Found 0 neighbors on node #0
09:32:56 805  DEBUG  <- ZDO_NODE_DESC_REQ_SRSP (ZDO_NODE_DESC_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 813  DEBUG  <-- ZDO_NODE_DESC_RSP (ZDO_NODE_DESC_RSP{APSFlags=0, BufferSize=1, Capabilities=0x50, ComplexDescriptorAvailable=false, ManufacturerCode=0x00a0, NodeType=0, nwkAddr=0x00 0x00, ServerMask=0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), TransferSize=0xa000, UserDescriptorAvailable=false, FreqBand=0})
09:32:56 817  DEBUG  -> ZDO_POWER_DESC_REQ (Packet: length = 4, apiId = 0x25 0x03, full data = 0xfe 0x04 0x25 0x03 0x00 0x00 0x00 0x00 0x22, checksum = 0x22, error = false, errorMessage = null) 
09:32:56 824  DEBUG  <- ZDO_POWER_DESC_REQ_SRSP (ZDO_POWER_DESC_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 830  DEBUG  <-- ZDO_POWER_DESC_RSP (ZDO_NODE_DESC_RSP{nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), CurrentMode=0, AvailableSources=1, CurrentSource=1, CurrentLevel=12})
09:32:56 833  DEBUG  -> ZDO_ACTIVE_EP_REQ (Packet: length = 4, apiId = 0x25 0x05, full data = 0xfe 0x04 0x25 0x05 0x00 0x00 0x00 0x00 0x24, checksum = 0x24, error = false, errorMessage = null) 
09:32:56 840  DEBUG  <- ZDO_ACTIVE_EP_REQ_SRSP (ZDO_ACTIVE_EP_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 846  DEBUG  <-- ZDO_ACTIVE_EP_RSP (ZDO_ACTIVE_EP_RSP{ActiveEndpointCount=3, ActiveEndpointList=[3, 2, 1], nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0)})
09:32:56 849  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 3.
09:32:56 849  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x03 0x27, checksum = 0x27, error = false, errorMessage = null) 
09:32:56 856  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 863  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=2, OutClusterList=[0x0501, 0x0502], ProfID=0x0104, Endpoint=3, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=12, inputs=null, outputs=null})
09:32:56 863  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 2.
09:32:56 863  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x02 0x26, checksum = 0x26, error = false, errorMessage = null) 
09:32:56 870  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 879  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=16, OutClusterList=[0x0101, 0x0102, 0x0200, 0x0201, 0x0202, 0x0204, 0x0300, 0x0403, 0x0400, 0x0401, 0x0402, 0x0404, 0x0405, 0x0406, 0x0b04, 0x0500], ProfID=0x0104, Endpoint=2, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=40, inputs=null, outputs=null})
09:32:56 879  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 1.
09:32:56 879  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x01 0x25, checksum = 0x25, error = false, errorMessage = null) 
09:32:56 886  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
09:32:56 894  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=16, OutClusterList=[0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000f, 0x000a, 0x000c, 0x0015, 0x0702, 0x0100], ProfID=0x0104, Endpoint=1, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=40, inputs=null, outputs=null})
Node discovered: 00:12:4B:00:01:48:F1:20 (#0)
09:32:56 895  DEBUG  Endpoint inspection completed, next inspection slot in 0
09:32:56 895  DEBUG  Inspection queue: New queue size: 1. Failed queue size: 0
09:32:56 895  DEBUG  Inspecting device 00:12:4B:00:01:48:F1:20.
09:32:56 895  DEBUG  Inspecting existing node #0 (00:12:4B:00:01:48:F1:20)
09:32:56 895  DEBUG  Endpoint inspection completed, next inspection slot in 100
09:32:56 995  DEBUG  Inspection queue: New queue size: 0. Failed queue size: 0

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

Have you add codes in start method of class ZigBeeConsole ?

        //discoveryModes.remove(DiscoveryMode.LinkQuality);
        final ZigBeeApi zigbeeApi = new ZigBeeApi(port, pan, channel, resetNetwork, discoveryModes);

+      // create virtual device "IAS CIE"
+      ZigBeeNetworkManager manager = zigbeeApi.getZigBeeNetworkManager();
+      manager.addCustomEndpoint("1", "260", "1024", "0", "[0,1,3,1281]", "[3,1280,1282]");

And "list" console command expects the device "IAS Control and Indicating Equipment" is displayed if everything is fine.

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,
No I did not add your endpoint but look!!!

From my log you can see that endpoint 1 is already registered (at 09:32:56 670).
This is done by ApplicationFrameworkLayer.createDefaultSendingEndPoint().
Your code adds a duplicate endpoint 1!!!

I will check the createDefaultSendingEndPoint() tomorrow but there is something wrong with createDefaultSendingEndPoint(): three default endpoints are created!

Ciao,
Cristiano

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

My custom endpoint would be registered as _endpoint 1. Then _ApplicationFrameworkLayer.createDefaultSendingEndPoint() would create endpoints at free endpoints(i.e. starts from 2). So there would be no duplicate endpoint.

I will check the createDefaultSendingEndPoint() tomorrow but there is something wrong with createDefaultSendingEndPoint(): three default endpoints are created!

It looks like _AF_REGISTER_ only accepts 16 input/output clusters so that the _createDefaultSendingEndPoint()_ has to split the output clusters into 3 different endpoints.

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,
You are right, your custom endpoint would be registered first as ep 1 and the default one(s) will be assigned ep 2 etc.

I've added your code for the IAS CIE but is still works for me (see log below).

Maybe some differences in the dongle firmware version? I've added a method to get the dongle firmware version in cdealti@f631128.

I got this for mine:

15:19:26 610 INFO Dongle product ID: 0
15:19:26 611 INFO Dongle protocol version 2
15:19:26 611 INFO Dongle software version 2.6.3

It looks like AF_REGISTER only accepts 16 input/output clusters so that the
createDefaultSendingEndPoint() has to split the output clusters into 3 different endpoints.

This is not correct and needs to be fixed.

cristiano@vespone:~/dev/git/zigbee4java/zigbee-console-javase$ java -jar target/zigbee-console-javase-2.0.3-SNAPSHOT.jar /dev/ttyACM0 11 0x1234 true
ZigBee API starting up...13:56:24 771  DEBUG  Opening portIdentifier '/dev/ttyACM0'.
13:56:24 781  DEBUG  -> SYS_RESET (Packet: length = 1, apiId = 0x41 0x00, full data = 0xfe 0x01 0x41 0x00 0x01 0x41, checksum = 0x41, error = false, errorMessage = null) 
13:56:24 803  DEBUG  <-- SYS_RESET_RESPONSE (Packet: length = 6, apiId = 0x41 0x80, full data = 0xfe 0x06 0x41 0x80 0x00 0x02 0x00 0x02 0x06 0x03 0xc2, checksum = 0xc2, error = false, errorMessage = null)
13:56:24 804  DEBUG  Resetting network stack.
13:56:24 804  INFO   Setting clean state.
13:56:24 805  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 3, apiId = 0x26 0x05, full data = 0xfe 0x03 0x26 0x05 0x03 0x01 0x03 0x21, checksum = 0x21, error = false, errorMessage = null) 
13:56:24 814  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:24 821  DEBUG  Changing the Network Mode to Coordinator.
13:56:24 822  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 3, apiId = 0x26 0x05, full data = 0xfe 0x03 0x26 0x05 0x87 0x01 0x00 0xa6, checksum = 0xa6, error = false, errorMessage = null) 
13:56:24 831  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:24 831  INFO   Resetting dongle.
13:56:24 832  DEBUG  -> SYS_RESET (Packet: length = 1, apiId = 0x41 0x00, full data = 0xfe 0x01 0x41 0x00 0x01 0x41, checksum = 0x41, error = false, errorMessage = null) 
13:56:26 717  DEBUG  <-- SYS_RESET_RESPONSE (Packet: length = 6, apiId = 0x41 0x80, full data = 0xfe 0x06 0x41 0x80 0x00 0x02 0x00 0x02 0x06 0x03 0xc2, checksum = 0xc2, error = false, errorMessage = null)
13:56:26 719  DEBUG  Setting channel to 11.
13:56:26 724  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 6, apiId = 0x26 0x05, full data = 0xfe 0x06 0x26 0x05 0x84 0x04 0x00 0x08 0x00 0x00 0xad, checksum = 0xad, error = false, errorMessage = null) 
13:56:26 729  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:26 730  DEBUG  Setting PAN to 1234.
13:56:26 730  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 4, apiId = 0x26 0x05, full data = 0xfe 0x04 0x26 0x05 0x83 0x02 0x34 0x12 0x80, checksum = 0x80, error = false, errorMessage = null) 
13:56:26 739  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:26 739  DEBUG  Setting Distribute Network Key to true.
13:56:26 740  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 3, apiId = 0x26 0x05, full data = 0xfe 0x03 0x26 0x05 0x63 0x01 0x00 0x42, checksum = 0x42, error = false, errorMessage = null) 
13:56:26 753  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:26 753  DEBUG  Setting Security Mode to 1.
13:56:26 753  DEBUG  -> ZB_WRITE_CONFIGURATION (Packet: length = 3, apiId = 0x26 0x05, full data = 0xfe 0x03 0x26 0x05 0x64 0x01 0x01 0x44, checksum = 0x44, error = false, errorMessage = null) 
13:56:26 764  DEBUG  <- ZB_WRITE_CONFIGURATION_RSP (ZB_WRITE_CONFIGURATION_RSP{Status=SUCCESS(0)})
13:56:26 766  DEBUG  -> AF_REGISTER (Packet: length = 21, apiId = 0x24 0x00, full data = 0xfe 0x15 0x24 0x00 0x01 0x04 0x01 0x00 0x04 0x00 0x00 0x03 0x01 0x05 0x03 0x00 0x01 0x00 0x03 0x02 0x05 0x00 0x05 0x03 0x00 0x36, checksum = 0x36, error = false, errorMessage = null) 
13:56:26 775  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
13:56:26 776  DEBUG  Custom device 1024 registered at endpoint 1
13:56:26 776  DEBUG  Creating network as Coordinator
13:56:26 776  DEBUG  -> ZDO_MSG_CB_REGISTER (Packet: length = 2, apiId = 0x25 0x3e, full data = 0xfe 0x02 0x25 0x3e 0xff 0xff 0x19, checksum = 0x19, error = false, errorMessage = null) 
13:56:26 779  DEBUG  <- ZDO_MSG_CB_REGISTER_SRSP (ZDO_MSG_CB_REGISTER_SRSP{Status=SUCCESS(0)})
13:56:26 780  DEBUG  -> ZDO_STARTUP_FROM_APP (Packet: length = 2, apiId = 0x25 0x40, full data = 0xfe 0x02 0x25 0x40 0x00 0x00 0x67, checksum = 0x67, error = false, errorMessage = null) 
13:56:27 841  DEBUG  <- ZDO_STARTUP_FROM_APP_SRSP (ZDO_STARTUP_FROM_APP_SRSP{Status=FAILURE(1)})
13:56:27 841  INFO   Initialized ZigBee network with new or reset network state.
13:56:27 842  DEBUG  Waiting for network to become ready
13:56:27 846  DEBUG  <-- ZDO_STATE_CHANGE_IND (ZDO_STATE_CHANGE_IND{State=DEV_COORD_STARTING})
13:56:28 355  DEBUG  <-- ZDO_STATE_CHANGE_IND (ZDO_STATE_CHANGE_IND{State=DEV_COORD_STARTING})
13:56:28 866  DEBUG  <-- ZDO_STATE_CHANGE_IND (ZDO_STATE_CHANGE_IND{State=DEV_COORD_STARTING})
13:56:29 890  DEBUG  <-- ZDO_STATE_CHANGE_IND (ZDO_STATE_CHANGE_IND{State=DEV_ZB_COORD})
13:56:29 891  DEBUG  Started as ZigBee Coordinator
13:56:29 892  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x05 0x24, checksum = 0x24, error = false, errorMessage = null) 
13:56:29 898  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x05 0x0b 0xc0 0x09 0x8d 0x16 0x00 0x00 0x00 0x35, checksum = 0x35, error = false, errorMessage = null)
13:56:29 899  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
13:56:29 904  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x09 0x8d 0x16 0x00 0x00 0x00 0xdb, checksum = 0xdb, error = false, errorMessage = null)
13:56:29 905  DEBUG  -> ZB_READ_CONFIGURATION (Packet: length = 1, apiId = 0x26 0x04, full data = 0xfe 0x01 0x26 0x04 0x87 0xa4, checksum = 0xa4, error = false, errorMessage = null) 
13:56:29 929  DEBUG  <- ZB_READ_CONFIGURATION_RSP (ZB_READ_CONFIGURATION_RSP{ConfigId=135, Len=1, Status=SUCCESS(0), Value=[0]})
13:56:29 930  DEBUG  -> AF_REGISTER (Packet: length = 41, apiId = 0x24 0x00, full data = 0xfe 0x29 0x24 0x00 0x02 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x01 0x00 0x02 0x00 0x03 0x00 0x04 0x00 0x05 0x00 0x06 0x00 0x07 0x00 0x08 0x00 0x09 0x00 0x0f 0x00 0x0a 0x00 0x0c 0x00 0x15 0x00 0x02 0x07 0x00 0x01 0x03, checksum = 0x03, error = false, errorMessage = null) 
13:56:29 942  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
13:56:29 943  INFO   Registered default sending endpoint 2 with clusters: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 10, 12, 21, 1794, 256]
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,0> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,1> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,2> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,3> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,4> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,5> to sender2EndPoint hashtable
13:56:29 943  DEBUG  Adding <profileId,clusterId> <260,6> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,7> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,8> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,9> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,15> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,10> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,12> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,21> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,1794> to sender2EndPoint hashtable
13:56:29 944  DEBUG  Adding <profileId,clusterId> <260,256> to sender2EndPoint hashtable
13:56:29 945  DEBUG  -> AF_REGISTER (Packet: length = 41, apiId = 0x24 0x00, full data = 0xfe 0x29 0x24 0x00 0x03 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x01 0x01 0x02 0x01 0x00 0x02 0x01 0x02 0x02 0x02 0x04 0x02 0x00 0x03 0x03 0x04 0x00 0x04 0x01 0x04 0x02 0x04 0x04 0x04 0x05 0x04 0x06 0x04 0x04 0x0b 0x00 0x05 0x15, checksum = 0x15, error = false, errorMessage = null) 
13:56:29 958  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
13:56:29 959  INFO   Registered default sending endpoint 3 with clusters: [257, 258, 512, 513, 514, 516, 768, 1027, 1024, 1025, 1026, 1028, 1029, 1030, 2820, 1280]
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,257> to sender2EndPoint hashtable
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,258> to sender2EndPoint hashtable
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,512> to sender2EndPoint hashtable
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,513> to sender2EndPoint hashtable
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,514> to sender2EndPoint hashtable
13:56:29 959  DEBUG  Adding <profileId,clusterId> <260,516> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,768> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1027> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1024> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1025> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1026> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1028> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1029> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1030> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,2820> to sender2EndPoint hashtable
13:56:29 960  DEBUG  Adding <profileId,clusterId> <260,1280> to sender2EndPoint hashtable
13:56:29 961  DEBUG  -> AF_REGISTER (Packet: length = 13, apiId = 0x24 0x00, full data = 0xfe 0x0d 0x24 0x00 0x04 0x04 0x01 0x00 0x00 0x00 0x00 0x00 0x02 0x01 0x05 0x02 0x05 0x29, checksum = 0x29, error = false, errorMessage = null) 
13:56:29 967  DEBUG  <- AF_REGISTER_SRSP (AF_REGISTER_SRSP{Status=SUCCESS(0)})
13:56:29 967  INFO   Registered default sending endpoint 4 with clusters: [1281, 1282]
13:56:29 968  DEBUG  Adding <profileId,clusterId> <260,1281> to sender2EndPoint hashtable
13:56:29 968  DEBUG  Adding <profileId,clusterId> <260,1282> to sender2EndPoint hashtable
13:56:29 968  DEBUG  Sending permit join with data: 0
13:56:29 969  DEBUG  -> ZDO_MGMT_PERMIT_JOIN_REQ (Packet: length = 5, apiId = 0x25 0x36, full data = 0xfe 0x05 0x25 0x36 0x0f 0xfc 0xff 0x00 0x01 0x1b, checksum = 0x1b, error = false, errorMessage = null) 
13:56:29 981  DEBUG  <- ZDO_MGMT_PERMIT_JOIN_REQ_SRSP (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP{Status=SUCCESS(0)})
13:56:29 982  DEBUG  -> ZDO_MGMT_PERMIT_JOIN_REQ (Packet: length = 5, apiId = 0x25 0x36, full data = 0xfe 0x05 0x25 0x36 0x02 0x00 0x00 0x00 0x01 0x15, checksum = 0x15, error = false, errorMessage = null) 
13:56:29 992  DEBUG  <- ZDO_MGMT_PERMIT_JOIN_REQ_SRSP (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP{Status=SUCCESS(0)})
13:56:29 995  DEBUG  <-- ZToolPacket (Packet: length = 1, apiId = 0x45 0xcb, full data = 0xfe 0x01 0x45 0xcb 0x00 0x8f, checksum = 0x8f, error = false, errorMessage = null)
13:56:30 001  DEBUG  <-- ZDO_MGMT_PERMIT_JOIN_RSP (ZDO_MGMT_PERMIT_JOIN_RSP{SrcAddress=0x00 0x00, Status=SUCCESS(0)})
13:56:30 007  DEBUG  Inspecting ZigBee network for new nodes.
13:56:30 009  DEBUG  -> ZDO_IEEE_ADDR_REQ (Packet: length = 4, apiId = 0x25 0x01, full data = 0xfe 0x04 0x25 0x01 0x00 0x00 0x01 0x00 0x21, checksum = 0x21, error = false, errorMessage = null) 
13:56:30 010  DEBUG  Inspecting ZigBee network for new nodes.
ZigBee API starting up ... [OK]
13:56:30 012  DEBUG  Inspection queue: New queue size: 0. Failed queue size: 0
There are 0 known devices in the network.
ZigBee console ready.
> 13:56:30 016  DEBUG  <- ZDO_IEEE_ADDR_REQ_SRSP (ZDO_IEEE_ADDR_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 027  DEBUG  <-- ZDO_IEEE_ADDR_RSP (ZDO_IEEE_ADDR_RSP{AssocDevList=[], assocDevList=[], IEEEAddr=0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20, nwkAddr=0x00 0x00, NumAssocDev=0, SrcAddress=null, SrcAddrMode=0, StartIndex=0, Status=SUCCESS(0)})
13:56:30 027  DEBUG  -> ZDO_IEEE_ADDR_REQ (Packet: length = 4, apiId = 0x25 0x01, full data = 0xfe 0x04 0x25 0x01 0x00 0x00 0x00 0x00 0x20, checksum = 0x20, error = false, errorMessage = null) 
13:56:30 028  DEBUG  Waiting for other request to complete
13:56:30 034  DEBUG  <- ZDO_IEEE_ADDR_REQ_SRSP (ZDO_IEEE_ADDR_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 035  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
13:56:30 043  DEBUG  <-- ZDO_IEEE_ADDR_RSP (ZDO_IEEE_ADDR_RSP{AssocDevList=[], assocDevList=[], IEEEAddr=0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20, nwkAddr=0x00 0x00, NumAssocDev=0, SrcAddress=null, SrcAddrMode=0, StartIndex=0, Status=SUCCESS(0)})
13:56:30 044  DEBUG  ZDO_IEEE_ADDR_RSP from 0x00 0x12 0x4b 0x00 0x01 0x48 0xf1 0x20 with 0 associated
13:56:30 044  DEBUG  Waiting for other request to complete
13:56:30 045  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x0a 0x00 0x00 0x00 0x43, checksum = 0x43, error = false, errorMessage = null)
13:56:30 046  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
13:56:30 047  DEBUG  Network browsing completed, waiting until 1443010290007
13:56:30 047  DEBUG  Inspecting device 00:12:4B:00:01:48:F1:20.
13:56:30 048  DEBUG  Waiting for other request to complete
13:56:30 050  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x0a 0x00 0x00 0x00 0x43, checksum = 0x43, error = false, errorMessage = null)
13:56:30 050  DEBUG  -> ZB_GET_DEVICE_INFO (Packet: length = 1, apiId = 0x26 0x06, full data = 0xfe 0x01 0x26 0x06 0x06 0x27, checksum = 0x27, error = false, errorMessage = null) 
13:56:30 050  DEBUG  ZDO_MGMT_LQI_REQ to 0 from index 0
13:56:30 051  DEBUG  Waiting for other request to complete
13:56:30 054  DEBUG  <- ZB_GET_DEVICE_INFO_RSP (Packet: length = 9, apiId = 0x66 0x06, full data = 0xfe 0x09 0x66 0x06 0x06 0x34 0x12 0x00 0x00 0x0a 0x00 0x00 0x00 0x43, checksum = 0x43, error = false, errorMessage = null)
13:56:30 054  DEBUG  -> ZDO_MGMT_LQI_REQ (Packet: length = 3, apiId = 0x25 0x31, full data = 0xfe 0x03 0x25 0x31 0x00 0x00 0x00 0x17, checksum = 0x17, error = false, errorMessage = null) 
13:56:30 055  DEBUG  Adding node #0 (00:12:4B:00:01:48:F1:20) to the network
Node added: 00:12:4B:00:01:48:F1:20 (#0)
13:56:30 055  DEBUG  Created node object for #0 (00:12:4B:00:01:48:F1:20) that was not available on the network
13:56:30 055  DEBUG  Inspecting new node #0 (00:12:4B:00:01:48:F1:20)
13:56:30 056  DEBUG  Waiting for other request to complete
13:56:30 061  DEBUG  <- ZDO_MGMT_LQI_REQ_SRSP (ZDO_MGMT_LQI_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 061  DEBUG  -> ZDO_NODE_DESC_REQ (Packet: length = 4, apiId = 0x25 0x02, full data = 0xfe 0x04 0x25 0x02 0x00 0x00 0x00 0x00 0x23, checksum = 0x23, error = false, errorMessage = null) 
13:56:30 069  DEBUG  <-- ZDO_MGMT_LQI_RSP (ZDO_MGMT_LQI_RSP{NeighborLQICount=0, NeighborLQIEntries=0, NeighborLqiList=[], SrcAddress=0x00 0x00, StartIndex=0, Status=SUCCESS(0)})
13:56:30 069  DEBUG  Found 0 neighbors on node #0
13:56:30 073  DEBUG  <- ZDO_NODE_DESC_REQ_SRSP (ZDO_NODE_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 082  DEBUG  <-- ZDO_NODE_DESC_RSP (ZDO_NODE_DESC_RSP{APSFlags=0, BufferSize=1, Capabilities=0x50, ComplexDescriptorAvailable=false, ManufacturerCode=0x00a0, NodeType=0, nwkAddr=0x00 0x00, ServerMask=0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), TransferSize=0xa000, UserDescriptorAvailable=false, FreqBand=0})
13:56:30 085  DEBUG  -> ZDO_POWER_DESC_REQ (Packet: length = 4, apiId = 0x25 0x03, full data = 0xfe 0x04 0x25 0x03 0x00 0x00 0x00 0x00 0x22, checksum = 0x22, error = false, errorMessage = null) 
13:56:30 092  DEBUG  <- ZDO_POWER_DESC_REQ_SRSP (ZDO_POWER_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 099  DEBUG  <-- ZDO_POWER_DESC_RSP (ZDO_NODE_DESC_RSP{nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), CurrentMode=0, AvailableSources=1, CurrentSource=1, CurrentLevel=12})
13:56:30 102  DEBUG  -> ZDO_ACTIVE_EP_REQ (Packet: length = 4, apiId = 0x25 0x05, full data = 0xfe 0x04 0x25 0x05 0x00 0x00 0x00 0x00 0x24, checksum = 0x24, error = false, errorMessage = null) 
13:56:30 109  DEBUG  <- ZDO_ACTIVE_EP_REQ_SRSP (ZDO_ACTIVE_EP_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 116  DEBUG  <-- ZDO_ACTIVE_EP_RSP (ZDO_ACTIVE_EP_RSP{ActiveEndpointCount=4, ActiveEndpointList=[4, 3, 2, 1], nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0)})
13:56:30 119  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 4.
13:56:30 120  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x04 0x20, checksum = 0x20, error = false, errorMessage = null) 
13:56:30 127  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 134  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=2, OutClusterList=[0x0501, 0x0502], ProfID=0x0104, Endpoint=4, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=12, inputs=null, outputs=null})
13:56:30 134  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 3.
13:56:30 134  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x03 0x27, checksum = 0x27, error = false, errorMessage = null) 
13:56:30 141  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 150  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=16, OutClusterList=[0x0101, 0x0102, 0x0200, 0x0201, 0x0202, 0x0204, 0x0300, 0x0403, 0x0400, 0x0401, 0x0402, 0x0404, 0x0405, 0x0406, 0x0b04, 0x0500], ProfID=0x0104, Endpoint=3, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=40, inputs=null, outputs=null})
13:56:30 151  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 2.
13:56:30 151  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x02 0x26, checksum = 0x26, error = false, errorMessage = null) 
13:56:30 158  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 167  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0000, DevVer=0, InClusterCount=0, InClusterList=[], OutClusterCount=16, OutClusterList=[0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000f, 0x000a, 0x000c, 0x0015, 0x0702, 0x0100], ProfID=0x0104, Endpoint=2, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=40, inputs=null, outputs=null})
13:56:30 167  DEBUG  Inspecting node #0 (00:12:4B:00:01:48:F1:20) / end point 1.
13:56:30 167  DEBUG  -> ZDO_SIMPLE_DESC_REQ (Packet: length = 5, apiId = 0x25 0x04, full data = 0xfe 0x05 0x25 0x04 0x00 0x00 0x00 0x00 0x01 0x25, checksum = 0x25, error = false, errorMessage = null) 
13:56:30 173  DEBUG  <- ZDO_SIMPLE_DESC_REQ_SRSP (ZDO_SIMPLE_DESC_REQ_SRSP{Status=SUCCESS(0)})
13:56:30 182  DEBUG  <-- ZDO_SIMPLE_DESC_RSP (ZDO_SIMPLE_DESC_RSP{DevID=0x0400, DevVer=0, InClusterCount=3, InClusterList=[0x0501, 0x0003, 0x0001], OutClusterCount=3, OutClusterList=[0x0502, 0x0500, 0x0003], ProfID=0x0104, Endpoint=1, nwkAddr=0x00 0x00, SrcAddress=0x00 0x00, Status=SUCCESS(0), len=20, inputs=null, outputs=null})
13:56:30 182  WARN   Overriding a valid <profileId,clusterId> endpoint with this org.bubblecloud.zigbee.network.impl.ApplicationFrameworkLayer$SenderIdentifier@1040003
13:56:30 182  DEBUG  Adding <profileId,clusterId> <260,3> to sender2EndPoint hashtable
13:56:30 182  WARN   Overriding a valid <profileId,clusterId> endpoint with this org.bubblecloud.zigbee.network.impl.ApplicationFrameworkLayer$SenderIdentifier@1040500
13:56:30 183  DEBUG  Adding <profileId,clusterId> <260,1280> to sender2EndPoint hashtable
13:56:30 183  WARN   Overriding a valid <profileId,clusterId> endpoint with this org.bubblecloud.zigbee.network.impl.ApplicationFrameworkLayer$SenderIdentifier@1040502
13:56:30 183  DEBUG  Adding <profileId,clusterId> <260,1282> to sender2EndPoint hashtable
Device added: 00:12:4B:00:01:48:F1:20/1 (#0)
Node discovered: 00:12:4B:00:01:48:F1:20 (#0)
13:56:30 198  DEBUG  Endpoint inspection completed, next inspection slot in 0
13:56:30 199  DEBUG  Inspection queue: New queue size: 1. Failed queue size: 0
13:56:30 199  DEBUG  Inspecting device 00:12:4B:00:01:48:F1:20.
13:56:30 199  DEBUG  Inspecting existing node #0 (00:12:4B:00:01:48:F1:20)
13:56:30 199  DEBUG  Endpoint inspection completed, next inspection slot in 100
13:56:30 299  DEBUG  Inspection queue: New queue size: 0. Failed queue size: 0

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

Hi Cristiano,

I cannot reproduce it any more if I re-flash the dongle with the pre-built firmware CC2531ZNP-Pro-Secure_LinkKeyJoin.hex.

So the duplicate response of _ZDO_SIMPLE_DESC_RSP_ should be caused by my previous self built one.

Regarding to the maximum numbers of clusters in per _AF_REGISTER, the "AppInClusterList" and "AppOutClusterList" might take up to 32 bytes according to the ZNP interfaces specification. So I think 16 clusters is the maximum number for each _AF_REGISTER call.

Regards,
Brhett

from zigbee4java.

cdealti avatar cdealti commented on July 16, 2024

Hi Brhett,
Thanks for the update. Glad to know it works now.
About the default endpoint issue, it does not make any sense to register such endpoint.
I'll open another issue for this.

from zigbee4java.

Brhett avatar Brhett commented on July 16, 2024

@cdealti Thanks for your help.

The root cause is that I've built the firmware with "zgZdoDirectCB" set to TRUE in ZGlobals.c.

from zigbee4java.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.