Do these types exist in the ZBOSS library?

Nordic DevZone
Nordic DevZone

I'm looking at the ZBOSS for Zigbee IAS Zone example, and in the "ZB_ZCL_DECLARE..." statements it refers to structures such as zone_attrpoll_control_attr, and pwr_cfg_attr that I cannot find a matching type for. Do these types exist and, if so, how can I find them more easily?

A simple example of what I'm looking for is seen in ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST_EXT(), which is (presumably) making use of the type zb_zcl_basic_attrs_ext_t when referencing basic_attr. However, I cannot find matching types for the others in the library.

Thanks!

Parents
  • Hi,

    I was only able to locate attributes similar in name and not the specific ones you were mentioning, so I will need to dig some more and ask some of my colleagues if they've seen these before.

    how can I find them more easily?

    In modules for the ZigBee stack API you can navigate to Zigbee stack API > ZCL API and from there see the clusters from there. In general I would recommend some additional resources, such as the ZigBee Cluster Library Specification (We're currently on revision 7) from the former ZigBee Alliance.

    Kind regards,
    Andreas

  • My assumption is that the types used in an example would actually exist in the SDK. If not, I'm curious why the types for some clusters exist while others do not.

    Thanks!

  • Hi,

    Chris Pearson said:
    My assumption is that the types used in an example would actually exist in the SDK.

    Could you elaborate what you mean when you suggest it does not exist in the SDK to avoid misunderstandings? I.e do you mean that you can not find the documentation or other reasons?

    To my knowledge they do exist but you will have to add and declare the ZigBee clusters to your application yourself. A clusters attributes and types can be found in the ZigBee Cluster Library (ZCL) specification (rev. 7), an example here is from the IAS Zone Cluster

    Kind regards,
    Andreas

  • Hi Andreas.

    To my knowledge they do exist

    If you believe the types used in the ZBOSS for Zigbee IAS Zone example exist in the SDK, could you please point me to where they are defined? 

    Could you elaborate what you mean when you suggest it does not exist in the SDK to avoid misunderstandings?

    What I mean here is that, for some clusters in the SDK, such as Basic and On Off, there are types defined for the attributes of each cluster. For these two examples, those types would be zb_zcl_basic_attrs_ext_t and zb_zcl_on_off_attrs_t. However, for other clusters in the SDK such as Power Configuration and Zone, the SDK does not seem to have any attribute types. That example from the ZBOSS documentation is clearly using attribute types for Power Configuration and Zone, yet those types do not seem to be in the SDK itself.

    I would recommend some additional resources, such as the ZigBee Cluster Library Specification

    The Cluster Library Specification does not help answer this question, as I'm asking about the SDK and not the spec itself. I'm simply looking for pre-defined types for these clusters. It appears that some of the clusters defined in the SDK have these types for their attributes in the SDK and some do not.

    you will have to add and declare the ZigBee clusters to your application yourself

    I understand this. What I do not understand is why some clusters would have these attribute types defined and some would not. The attributes of the clusters defined in the SDK do not change, so why not have types for the attributes of all clusters in the SDK rather than making the developer create the missing ones?


    Again, it's quite possible I just don't know where to find these attribute types. Please point me to them if they are there.

    Thanks!

Reply
  • Hi Andreas.

    To my knowledge they do exist

    If you believe the types used in the ZBOSS for Zigbee IAS Zone example exist in the SDK, could you please point me to where they are defined? 

    Could you elaborate what you mean when you suggest it does not exist in the SDK to avoid misunderstandings?

    What I mean here is that, for some clusters in the SDK, such as Basic and On Off, there are types defined for the attributes of each cluster. For these two examples, those types would be zb_zcl_basic_attrs_ext_t and zb_zcl_on_off_attrs_t. However, for other clusters in the SDK such as Power Configuration and Zone, the SDK does not seem to have any attribute types. That example from the ZBOSS documentation is clearly using attribute types for Power Configuration and Zone, yet those types do not seem to be in the SDK itself.

    I would recommend some additional resources, such as the ZigBee Cluster Library Specification

    The Cluster Library Specification does not help answer this question, as I'm asking about the SDK and not the spec itself. I'm simply looking for pre-defined types for these clusters. It appears that some of the clusters defined in the SDK have these types for their attributes in the SDK and some do not.

    you will have to add and declare the ZigBee clusters to your application yourself

    I understand this. What I do not understand is why some clusters would have these attribute types defined and some would not. The attributes of the clusters defined in the SDK do not change, so why not have types for the attributes of all clusters in the SDK rather than making the developer create the missing ones?


    Again, it's quite possible I just don't know where to find these attribute types. Please point me to them if they are there.

    Thanks!

Children
  • I agree.  My next project involves adding an IAS Zone cluster and it would be helpful if we had a known-good reference implementation to use as a starting point.  Apparently the code exists somewhere because fragments of it are seen in the docs at https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.12.1.0/group___z_b___h_a___i_a_s___z_o_n_e.html ?

  • it would be helpful if we had a known-good reference implementation to use as a starting point

    Yeah, I'm amazed by the lack of complete, working examples for this, especially in the nRF Connect SDK. There are more (presumably) working examples in the old nRF5 SDK for Thread and Zigbee, but of course those need some translation to work with Zephyr. 

    The documentation in the nRF Connect SDK is very sparse as well. One example that amazes me is in the "Passing ZCL events to the application" section, which states "To inform the application about attributes changes, you can pass ZCL events to it with a callback that follows generic callback definition (referred to as ZCL callback)". That documentation doesn't mention what method is called to pass that callback. (It does give the expected type signature of the callback function, though...)

  • Chris Pearson said:
    What I mean here is that, for some clusters in the SDK, such as Basic and On Off, there are types defined for the attributes of each cluster. For these two examples, those types would be zb_zcl_basic_attrs_ext_t and zb_zcl_on_off_attrs_t. However, for other clusters in the SDK such as Power Configuration and Zone, the SDK does not seem to have any attribute types. That example from the ZBOSS documentation is clearly using attribute types for Power Configuration and Zone, yet those types do not seem to be in the SDK itself.

    Thank you, that cleared a misunderstanding for my part. My apologies for the inconvenience. I will do my best to clarify things then.

    We currently don't have any more samples than what you can find in our /samples folders in /nrf and /zephyr in the SDK.

    Chris Pearson said:
    If you believe the types used in the ZBOSS for Zigbee IAS Zone example exist in the SDK, could you please point me to where they are defined? 

    As for other documentation sources, which I agree with you is hard to find, you can find some additional information to ZigBee API pages in the header files located in the SDK at v2.0.0\nrfxlib\zboss\development\include\zcl\zb_zcl_ias_zone.h (same with other headers regarding zcl). They are not as detailed in how to use such as a sample is, but it does at least confirm that they are defined in the SDK.

    Chris Pearson said:
    The Cluster Library Specification does not help answer this question, as I'm asking about the SDK and not the spec itself. I'm simply looking for pre-defined types for these clusters. It appears that some of the clusters defined in the SDK have these types for their attributes in the SDK and some do not.

    You are right, I hope the partial reply above answers this question about where to find where the types and attributes are defined in the SDK.

    Thank you for your patience.

    Kind regards,
    Andreas

  • Hi mytzyiay,

    mytzyiay said:
    My next project involves adding an IAS Zone cluster and it would be helpful if we had a known-good reference implementation to use as a starting point.

    I will note that you also are wishing for reference implementations/samples for using clusters such as the IAS Zone cluster. Also, please see my reply to the original case creator w.r.t. where to find where the types and attributes are declared in the SDK.

    Kind regards,
    Andreas

Related