This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Update the Zigbee Cluster attributes value over the gateway.

Hello to all,

Below are the setup details I'm using:

  1. nRF52840 DevKit
  2. SDK: nRF5_SDK_for_Thread_and_Zigbee_v4.1.0
  3. Segger Embedded Studio 4.16

Aim: Controlling the Radiator through ZigBee using thermostat cluster

  • ZigBee
  • UART protocol
  • Gateway (ConBee II stick)

Issue: Not able to see data packet on the sniffer when I send the data to gateway using ZB_ZCL_SET_ATTRIBUTE / zb_zcl_set_attr_val 

  • I use the Macro ZB_ZCL_SET_ATTRIBUTE()  & function zb_zcl_set_attr_val() to set the attributes so that the data can be sent over the gateway.
  • Sometimes I see the data packet on the sniffer and sometimes I don't. 
  • Please find the highlighted sniffer log below, where I send different values of different attributes one after the other. 

  • I have also observed that when I read the particular attribute from the gateway I can see the packet on the sniffer and also the latest value is updated on the gateway 
  • I believe the latest value is being set in the attribute but it is updated on the gateway when we explicitly read from it by using a read command
  • is there a way to update it directly?
  • I have also uploaded the sniffer log below for your reference.

Cometdeconz.pcapng

  • I send multiple attributes but sometimes few are visible on the sniffer log and sometimes no data is sent.
  • Please let me know if I am missing out on anything, or is there any other function to directly update the data over the gateway.
  • please find the snapshot of my function below,

 Do I have to do any other operation?

I would appreciate your efforts for a quick response at the earliest.

Kind regards,

Shivaprasad.

  • Hi Shivaprasad,

    ZB_ZCL_SET_ATTRIBUTE and zb_zcl_set_attr_val do not send the attribute to a remote device. They update the value of the attribute on the local device. What you see in the sniffer logs are attribute reports, which are sent periodically and regardless of changes to the attribute value. If you want the thermostat to send the updated value when the attribute value is changed instead of (or in addition to) periodically you can configure the attribute reporting to report on value change, using the reportable change field.

    We do not have any examples using reportable change attribute reporting, but this comment by Edvin shows what he did to get this with the CLI and multi sensor examples.

    Best regards,

    Marte

Related