I am trying to build in home display application. I am using silabs debug tools to simulate Smart Metering. My application can join and wait for the sampled data and the SM starts sampling and sending to my app. I successfully receive the message but could not find the documentation for the meaning of received data:
Processing message: len=16 profile=0104 cluster=0702
T00000000:RX len 16, ep 01, clus 0x0702 (Simple Metering) FC 01 seq 02 cmd 07 payload[01 00 00 00 00 00 00 00 01 01 00 0A 00 ]
T00000000:TX (resp) Ucast 0x00
TX buffer: [08 02 0B 07 81 ]
What does payload and TX buffer means?
Here is the commands I use to get above message:
C: zcl metering get-sampled-data 1 0 1 10
S: zcl metering start-sampling 1 0 1 1 10
S: send <Short Id of Device> 1 1
<C shows the message>
Any comment or help are welcome.
The buffer data and data you received are standard ZigBee Cluster Library items, and you should take a look at the ZigBee Cluster Library Specification document to decode them.
0x81 is an "Unsupported Cluster Response"; while it is a valid Smart Energy frame, the content is not able to be translated. This could possibly be because you have selected the Home Automation Profile , rather than Smart Energy, which is the profile for an IHD.
Try changing Profiles and see if the payload makes more sense in context with the Spec.
Thank you for your reply. I found the specification. I was looking at wrong version so did not find. I will try to switch profile.
I am Aniketh. I am trying to build the In Home Display application to retrieve the
1. Meter usage from Simple Metering Cluster
I am using Metering Device as the co-ordinator and In Home Display as the router device.
When I press button 0 on Metering Device and then on In Home Display, both get connected and network is up!
I am getting confused at this point.
1. How do I retrieve the meter usage? I tried CLI commands but I get lost. As you have worked on this, could you please share your ideas? It would be great if you could share the procedure and corresponding CLI commands to retrieve usage data?
2. How does the sampling happen? Is it random values? How do I verify whether I receiving right data?
3. Where could I get the information about the right procedures to use the CLI commands?
I would really appreciate your response.
1. We retrieve the metering usage by reading attributes. I am not remember exact command on cli but similar to "zcl read <cluster> <attr>". In this case, it should be something like: "zcl read 0x0702 0x0000"
2. I used Ember Desktop to build smart meter. While I am building the metering device, I also enabled simple metering server in plugin section. There is an option to enable test meter. And then, you can set max sampling sessions and max samples per session. The values are random and you can verify data by observing console of the metering device. It may output the data while sending.
3. CLI itself is the best information to get information about CLI. As I remember, it is not recommended to use as a product. You need to implement your own callbacks to handle. In addition, specification will be your hand book.
Thank you for your response. I followed the instructions. I read the metering reading attributes and commands in the smart energy profile document from zigbee.org.
Bolded are printed on console after typing command. Italics are the commands
MyESI : Co-ordinator and Client for Simple Metering Cluster (ShortID = 0x0000)
MyMeterMirror: Router and Server for Simple Metering Cluster (ShortID = 0x2C7E)
I am trying to get the samples from MirrorMeter to MyESI
I gave commands in this sequence
C: zcl metering start-sampling 1 1 0 8 5
MyESI>Msg: clus 0x0702, cmd 0x07, len 16
buffer: 01 0B 07 01 00 00 00 01 00 00 00 00 08 00 05 00
C: send <short ID> <src endpoint> <dest end point>
C: send 0x2C7E 1 1
I get this error message!
MyESI>Error: CLI Send failed, status: 0xBB
But when I give
C: send 0x0000 1 1
I get this.
T00000EDF:RX len 16, ep 01, clus 0x0702 (Simple Metering) FC 01 seq 0C cmd 07 payload[01 00 00 00 01 00 00 00 00 08 00 05 00 ]
T00000EDF:RX len 5, ep 01, clus 0x0702 (Simple Metering) FC 08 seq 0C cmd 0B payload[07 C3 ]
But tere is no traffic captured during these events. I do not understand why? Is it because there is no successful Key Establishment?
Both the devices are joined. Does that mean key establishment is successful?
I tried to do the key establishment step as well by using these CLI commands
MyMirrorMeter: S: plugin key-establishment start 0 1
I see ZCL: ReadAttributes and ZCL: ReadAttributesResponse going back and forth in the Live Capture. I get Key Establishment Error: Bad Key Establishment. I have attached the screenshot of the same in the attachment.
Basically, I do not understand whether the issue with the Key Establishment or the Simple Metering Method which I am following.
I am requesting Caglar to help me if you have any idea about the things which are happening here!
I would also request others who are looking at this post now.
Help is really appreciated.