# "Reportable" attributes not beeing reported - Zigbee

**URL:** <https://community.homey.app/t/reportable-attributes-not-beeing-reported-zigbee/109129>\
**Category:** Developers\
**Tags:** zigbee, devices, device-capabilities\
**Created:** [May 1, 2024, 1:35am UTC](https://community.homey.app/t/reportable-attributes-not-beeing-reported-zigbee/109129 "2024-05-01T01:35:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cnordbo](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cnordbo/32/105610_2.png) [@cnordbo](https://community.homey.app/u/cnordbo)\
**Post date:** [May 1, 2024, 1:35am UTC](https://community.homey.app/t/reportable-attributes-not-beeing-reported-zigbee/109129/1 "2024-05-01T01:35:09Z")

</div>

My latest purchase is a Zigbee 3.0 Puck, that controls the on/off (onoff) state, as well as current power consumption(measure\_power) and overall consumption (meter\_power) (since installation/factory reset).

The device showed up as a generic device, but the values were all wrong for the “meter\_power” capability, and completly missing for measure\_power.

Anyway - I wanted to use this as a test device for looking into how to create custom drivers.  
So i did an interview with the device, and it shows me all the expected properties, so.i can use readAttributes to get them. I can also customize the registerCapability, with a custom config, and then run getCapabilityValue, and see the finished results on screen.

But, this never gets updated, unless i setup a time interval that constantly polls the device myself.

Homey doesnt seem to respect the `pollInterval` property (never polls the device), and the device doesnt seem to respect the min/max interval for reporting the attribute back to me.

I also tried with the event listener directly on the cluster

```javascript
zclNode?.endpoints[1]?.clusters[CLUSTER.METERING.NAME]?.on(
      'attr.currentSummationDelivered',
      (val) => {
        // handle reported attribute value
        console.log('Received currentSummationDelivered: ', val);
      }
    );

```

and the configureAttributeReporting

```javascript
    await this.configureAttributeReporting([
      {
        endpointId: 1,
        cluster: CLUSTER.METERING,
        attributeName: 'instantaneousDemand',
        minInterval: 1,
        maxInterval: 61,
        minChange: 0,
      },
      {
        endpointId: 1,
        cluster: CLUSTER.METERING,
        attributeName: 'currentSummationDelivered',
        minInterval: 1,
        maxInterval: 61,
        minChange: 0,
      },
    ]).catch((err: any) => this.error('Error: ', err));

```

Heres a GIST of the interview done:

> <https://gist.github.com/Cnordbo/d570a86672225cae0a6067b60aec183a#file-interview-json-L608>

and the `this.getNode()` result:

```auto
 ------------------------------------------
Node: 56414bc7-626c-4a79-a44f-593bca320106
- Receive when idle: true
- Endpoints: 1
-- Clusters:
--- basic
--- identify
--- groups
--- scenes
--- onOff
--- onOffSwitch
--- metering
--- diagnostics
------------------------------------------
undefined
=================

```

Any pointers as to what i am doing wrong here? How to i get the capabilities updated by the device itself? Without having to set up a setTimeout/setInterval withing the app that polls it every second?
