# registerCapability not working

**URL:** <https://community.homey.app/t/registercapability-not-working/32135>\
**Category:** Developers\
**Tags:** zigbee\
**Created:** [July 7, 2020, 1:12pm UTC](https://community.homey.app/t/registercapability-not-working/32135 "2020-07-07T13:12:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andreas\_Kvisgaard](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/andreas_kvisgaard/32/17429_2.png) [@Andreas\_Kvisgaard](https://community.homey.app/u/Andreas_Kvisgaard)\
**Post date:** [July 7, 2020, 1:12pm UTC](https://community.homey.app/t/registercapability-not-working/32135/1 "2020-07-07T13:12:22Z")

</div>

Hi,  
I’m trying to write a driver app for a Zigbee CO2, Humidity & Temperature sensor from [Titan Products](https://www.titanproducts.com/sensors-hvac-and-bms-peripherals/wireless-sensors/zigbee-3-0-wireless-sensors/zigbee-room-co2-humidity-temperature-sensor.html). To do so, I have used the homey meshdriver library. I have been able to connect to the sensor and get a [Print of the clusters](https://pastebin.com/e18f7uLu). But when I try to register the Capability to the cluster it does not display those values.

Custom Capability

```auto
"temperature": {
      "type": "number",
      "title": {
        "en": "Temperature"
      },
      "uiComponent": "sensor",
      "getable": true,
      "setable": false,
      "icon": "assets/temperature.svg"
    }

```

In Device.js onMeshInit:

```auto
this.registerCapability("temperature", 'msTemperatureMeasurement', {
    report: 'measuredValue',
    reportParser: value => value / 1000,
    get: 'measuredValue',
    getParser: value => value / 1000,
});

```

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/4/34ede623b57d2d305c6b0e3c0f17d1ee89dfdac0.png)

Just to test I set up an attributeReportListener where I get the desired output:

```auto
this.registerAttrReportListener(
            'msTemperatureMeasurement',
            'measuredValue',
            60,
            300,
            50,
            this.onTemperatureMeasurementReport.bind(this))
            .then(() => {
                this.log('registered attr report listener');
            })
            .catch(err => {
                this.error('failed to register attr report listener', err);
            });

onTemperatureMeasurementReport(value){
        this.log('Temperature: ', value / 100);
    }

```

**Output:**  
2020-07-07 11:45:37 [log] [ManagerDrivers] [co2th] [0] registerAttrReportListener() -\> configured attr reporting attrReport\_0\_msTemperatureMeasurement\_measuredValue  
2020-07-07 11:45:37 [log] [ManagerDrivers] [co2th] [0] registered attr report listener  
2020-07-07 11:47:37 [log] [ManagerDrivers] [co2th] [0] Temperature: 23.35  
2020-07-07 11:48:37 [log] [ManagerDrivers] [co2th] [0] Temperature: 23.31  
2020-07-07 11:50:37 [log] [ManagerDrivers] [co2th] [0] Temperature: 23.28

What might I be doing wrong?

---

<div class="post-metadata">

**Author:** ![Caseda](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/caseda/32/138695_2.png) [@Caseda](https://community.homey.app/u/Caseda)\
**Post date:** [July 7, 2020, 1:20pm UTC](https://community.homey.app/t/registercapability-not-working/32135/2 "2020-07-07T13:20:07Z")

</div>

Can I be curious, why do you use a custom capability while there is a default capability for temperature? That only makes it more prone to mistakes in your code that can cause this.

---

<div class="post-metadata">

**Author:** ![Andreas\_Kvisgaard](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/andreas_kvisgaard/32/17429_2.png) [@Andreas\_Kvisgaard](https://community.homey.app/u/Andreas_Kvisgaard)\
**Post date:** [July 7, 2020, 2:16pm UTC](https://community.homey.app/t/registercapability-not-working/32135/3 "2020-07-07T14:16:14Z")

</div>

I didn’t know that I overlooked system capabilities, my bad. I’ve changed the capabilities to the default for CO2, humidity, and temperature, but with the same result:

 ![driver-sensor-overview](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/c/8c9bd799ffcc1a7faa60973dc2ec748247db2b22.jpeg)

```auto
"capabilities": [
        "onoff",
        "measure_co2",
        "measure_humidity",
        "measure_temperature" ],

```

```auto
this.registerCapability("measure_co2","1037", {
            get: "2",
            getParser: value => value * 100000,
            report: "2",
            reportParser: value => value * 10000
        });

        this.registerCapability("measure_humidity", 'msRelativeHumidity', {
            report: 'measuredValue',
            reportParser: value => value / 1000,
            get: 'measuredValue',
            getParser: value => value / 1000
        });

        this.registerCapability("measure_temperature","msTemperatureMeasurement", {
            report: 'measuredValue',
            reportParser: value => value / 100,
            get: 'measuredValue',
            getParser: value => value / 100
        });

```
