This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

zigbee binary_input sensor unable to notify reportable attribute

hi,

we are trying to add third sensor to the multi sensor example , new sensor is of type binary_input  (0x000F) ZB_ZCL_CLUSTER_ID_BINARY_INPUT.

We are unable to subscribe to notification for the newly added binary_input sensor. other temp/press sensor can be subscribed   

We can also read the binary_input sensor value directly from the CLI_AGENT .

are we missing any thing in this very simple project. 

Renamed the project as simple sensor , finally have a only simple sensor as a  binary_input and a analog_input  at later stage of the project . 

SDK :  nRF5 SDK for Thread and Zigbee 4.1.0 Software Development Kit ,  SoftDevice S140

H/W: nRF52840_DK (PCA10056).

SEGGER Embedded Studio for ARM Release 5.10  Build 2020080502.43073 Windows x64

Zigbee Server/coordinator/gateway :  cli_agent_router  (PCA10059).

attached is the  complete project folder files used to build the project 

8345.my_simple_sensor.zip

3630.zb_zcl_binary_input_addons.h

the serial command and response using cli_agent

[RX] - version
CLI: Oct 15 2020 23:40:44
ZBOSS: 3.3.0.4
Done
>
[TX] - bdb channel 16
[RX] - bdb channel 16
Done
>
[TX] - bdb nwkkey 1122334455667788
[RX] - bdb nwkkey 1122334455667788
Done
>
[TX] - bdb panid 0xAABB
[RX] - bdb panid 0xAABB
Done
>
[TX] - bdb role zc
[RX] - bdb role zc
Coordinator set
Done
>
[TX] - bdb start

[RX] - bdb start
Started coordinator
Done
>
[TX] - bdb legacy enable
[RX] - bdb legacy enable
[TX] - zdo match_desc 0xffff 0xffff 0x104 1 0 0
[RX] - zdo match_desc 0xffff 0xffff 0x104 1 0 0
Sending broadcast request.
>
src_addr=213B ep=10
>Done

[TX] - zdo simple_desc_req 0x213B 10
[RX] - zdo simple_desc_req 0x213B 10
>
src_addr=0x213B ep=10 profile_id=0x0104 app_dev_id=0x302 app_dev_ver=0x0 in_clusters=0x0000,0x0003,0x0402,0x0403,0x000F out_clusters=0x0003
Done
[TX] - zdo ieee_addr 0x213B
[RX] - zdo ieee_addr 0x213B
> f4ce36ec7343be67
Done
[TX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x0402 0x213B
[RX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x0402 0x213B
>
Done
[TX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x0403 0x213B
[RX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x0403 0x213B
>
Done
[TX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x000F 0x213B
[RX] - zdo bind on f4ce36ec7343be67 10 f4ce3665b527c4ca 64 0x000F 0x213B
>
Done
[TX] - zcl subscribe on f4ce36ec7343be67 10 0x0402 0x0104 0 41
[RX] - zcl subscribe on f4ce36ec7343be67 10 0x0402 0x0104 0 41
> Done
[TX] - zcl subscribe on f4ce36ec7343be67 10 0x0403 0x0104 0 41
[RX] - zcl subscribe on f4ce36ec7343be67 10 0x0403 0x0104 0 41
> Done
[TX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10
[RX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10
>
Error: Unable to configure attribute 55 reporting. Status: 141
Error: One or more attributes reporting were not configured successfully

----------READ THE ATTRIBUTES ----
>
[TX] - zcl attr read f4ce36ec7343be67 10 0x000F 0x104 55
[RX] - zcl attr read f4ce36ec7343be67 10 0x000F 0x104 55
>
ID: 85 Type: 10 Value: False
Done
[TX] - zcl attr read f4ce36ec7343be67 10 0x000F 0x104 55
[RX] - zcl attr read f4ce36ec7343be67 10 0x000F 0x104 55
>
ID: 85 Type: 10 Value: True
Done

-------------------------------------------------------------------------------

Thanks and regards 

Parents
  • Check the binary input header file and look for the attribute definition you’re trying to get a report from. Some of the attributes are set as read only and you’ll need to enable reporting on that particular attribute.

  • hi Patric,

    This is our first time involved in a zigbee based project , please excuse our limited knowledge in the full details of the stack usage , we are still learning form the examples provided

    Thanks for your insight , still we are clueless about how to enable reporting with binary_input sensor.

    pleas can you guid how to enable the reporting part in the code, 

    as for the read_only , we are unable to  follow what is to be done( should we make it writable )  , we dond see it being done in pressure sensor example.

    we followed the pressure measurement sample implementation in the example 

    do we need to implement the init function  or they are already available in the sdk . 

    zb_void_t zb_zcl_binary_input_init_server(void);
    zb_void_t zb_zcl_binary_input_init_client(void);

    as  in the example of multi sensor pressure sensor init are code is available in  "components\zigbee\pressure_cluster\zb_zcl_pressure_measurement.c".

    we assumed for binary_input part  these are already implemented internally in the sdk similar to the temperature sensor(could not find source code file for it ) .

    thanks and regards 

  • I have not used this particular cluster but I assume you are trying to bind to the Present Value attribute (0x0055), which does have the reporting flag set (see zb_zcl_binary_input.h, line 266). One change I usually forget to make is to increase ZB_MULTI_SENSOR_REPORT_ATTR_COUNT to the right number (found in zb_multi_sensor.h in the example).

    The functions you asked about should be implemented in the zboss library. The pressure measurement cluster is a strange case in my opinion since I would think that cluster would have been included in the same way as all of the others in zboss but it was not. Regardless of why the pressure measurement cluster is the way it is, its a good example for implementing your own cluster.

  • hi,

    same error

    [TX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10

     [RX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10
    Error: Unable to configure attribute 55 reporting. Status: 141

    Error: One or more attributes reporting were not configured successfully

    after changing the value of from 2 to 3 

    #define ZB_SIMPLE_SENSOR_REPORT_ATTR_COUNT 3 /**< Number of attributes mandatory for reporting in the Temperature and Pressure Measurement cluster. */
    #define ZB_DEVICE_VER_SIMPLE_SENSOR 0 /**< Multisensor device version. */
    #define ZB_SIMPLE_SENSOR_IN_CLUSTER_NUM 5 /**< Number of the input (server) clusters in the multisensor device. BASIC,IDENTIFY,TEMP,PRESS,BINARY_INPUT*/
    #define ZB_SIMPLE_SENSOR_OUT_CLUSTER_NUM 1 /**< Number of the output (client) clusters in the multisensor device. IDENTIFY */

    I there a guide line to calculate these values correctly , binary_input has 3 reportable attributes 

    also in the header  file 

    /*! Number of attributes mandatory for reporting in Binary Input cluster */
    #define ZB_ZCL_BINARY_INPUT_REPORT_ATTR_COUNT 2 

    should i add2 to the original count as (ZB_SIMPLE_SENSOR_REPORT_ATTR_COUNT 4)

    thanks and regards 

  • #define ZB_SIMPLE_SENSOR_REPORT_ATTR_COUNT 4 

    also gives the same error as in earlier cases 

    [TX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10

    [RX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10
    Error: Unable to configure attribute 55 reporting. Status: 141

    Error: One or more attributes reporting were not configured successfully

     thanks and regards 

Reply
  • #define ZB_SIMPLE_SENSOR_REPORT_ATTR_COUNT 4 

    also gives the same error as in earlier cases 

    [TX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10

    [RX] - zcl subscribe on f4ce36ec7343be67 10 0x000F 0x0104 55 10
    Error: Unable to configure attribute 55 reporting. Status: 141

    Error: One or more attributes reporting were not configured successfully

     thanks and regards 

Children
Related