Hi,
I’m trying to make my own app for Z-Uno (z-wave) for Homey Pro (2023), but not all data is shown on output.
For now I´m just sending temperature, humidity, pressure, co2 and VOC. Data is send every 40s for now
Data which Homey recive:
2023-05-23T17:01:12.921Z
Node[14]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[1]},"Sensor Type":"Temperature (version 1)","Level (Raw)":{"type":"Buffer","data":[66]},"Level":{"Size":2,"Scale":0,"Precision":2},"Sensor Value (Raw)":{"type":"Buffer","data":[8,154]},"Sensor Value":{"type":"Buffer","data":[8,154]}}
2023-05-23T17:01:12.942Z
Node[14]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[1]},"Sensor Type":"Temperature (version 1)","Level (Raw)":{"type":"Buffer","data":[66]},"Level":{"Size":2,"Scale":0,"Precision":2},"Sensor Value (Raw)":{"type":"Buffer","data":[8,154]},"Sensor Value":{"type":"Buffer","data":[8,154]}}
2023-05-23T17:01:13.003Z
Node[14]: Endpoint[2]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[5]},"Sensor Type":"Relative humidity (version 2)","Level (Raw)":{"type":"Buffer","data":[1]},"Level":{"Size":1,"Scale":0,"Precision":0},"Sensor Value (Raw)":{"type":"Buffer","data":[69]},"Sensor Value":{"type":"Buffer","data":[69]}}
2023-05-23T17:01:13.084Z
Node[14]: Endpoint[3]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[9]},"Sensor Type":"Barometric pressure (version 2) ","Level (Raw)":{"type":"Buffer","data":[66]},"Level":{"Size":2,"Scale":0,"Precision":2},"Sensor Value (Raw)":{"type":"Buffer","data":[38,200]},"Sensor Value":{"type":"Buffer","data":[38,200]}}
2023-05-23T17:01:13.168Z
Node[14]: Endpoint[4]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[17]},"Sensor Type":"CO2-level (version 3)","Level (Raw)":{"type":"Buffer","data":[2]},"Level":{"Size":2,"Scale":0,"Precision":0},"Sensor Value (Raw)":{"type":"Buffer","data":[1,152]},"Sensor Value":{"type":"Buffer","data":[1,152]}}
2023-05-23T17:01:13.247Z
Node[14]: Endpoint[5]: [COMMAND_CLASS_SENSOR_MULTILEVEL] {"Sensor Type (Raw)":{"type":"Buffer","data":[39]},"Sensor Type":"Volatile Organic Compound (v7)","Level (Raw)":{"type":"Buffer","data":[10]},"Level":{"Size":2,"Scale":1,"Precision":0},"Sensor Value (Raw)":{"type":"Buffer","data":[0,1]},"Sensor Value":{"type":"Buffer","data":[0,1]}}
driver.compose.json
{
"name": {
"en": "Weather Station"
},
"class": "sensor",
"capabilities": [
"measure_temperature",
"measure_humidity",
"measure_pressure",
"measure_co2",
"measure_pm25",
"meter_rain",
"measure_wind_angle",
"measure_wind_strength",
"measure_luminance",
"measure_battery",
"alarm_pm25",
"alarm_co2",
"alarm_battery"
],
"energy": {
"batteries": ["INTERNAL"]
},
"platforms": [
"local"
],
"connectivity": [
"zwave"
],
"images": {
"small": "{{driverAssetsPath}}/images/small.png",
"large": "{{driverAssetsPath}}/images/large.png",
"xlarge": "{{driverAssetsPath}}/images/xlarge.png"
},
"zwave": {
"manufacturerId": 277,
"productTypeId": [
528
],
"productId": [
1
],
"zwaveAllianceProductId": 528
},
"pair": [
{
"id": "add_device",
"template": "list_devices",
"navigation": {
"next": "add_device"
}
},
{
"id": "add_devices",
"template": "add_devices"
}
]
}
device.js
'use strict';
const { Device } = require('homey');
const { ZwaveDevice } = require('homey-zwavedriver');
class MyDevice extends ZwaveDevice {
/**
* onInit is called when the device is initialized.
*/
async onNodeInit() {
this.log('MyDevice has been initialized');
this.registerCapability('measure_temperature','SENSOR_MULTILEVEL');
this.registerCapability('measure_humidity','SENSOR_MULTILEVEL');
this.registerCapability('measure_co2','SENSOR_MULTILEVEL');
this.registerCapability('measure_pm25','SENSOR_MULTILEVEL');
this.registerCapability('measure_pressure','SENSOR_MULTILEVEL');
}
/**
* onAdded is called when the user adds the device, called just after pairing.
*/
async onAdded() {
this.log('MyDevice has been added');
}
/**
* onSettings is called when the user updates the device's settings.
* @param {object} event the onSettings event data
* @param {object} event.oldSettings The old settings object
* @param {object} event.newSettings The new settings object
* @param {string[]} event.changedKeys An array of keys changed since the previous version
* @returns {Promise<string|void>} return a custom message that will be displayed
*/
async onSettings({ oldSettings, newSettings, changedKeys }) {
this.log('MyDevice settings where changed');
}
/**
* onRenamed is called when the user updates the device's name.
* This method can be used this to synchronise the name to the device.
* @param {string} name The new name
*/
async onRenamed(name) {
this.log('MyDevice was renamed');
}
/**
* onDeleted is called when the user deleted the device.
*/
async onDeleted() {
this.log('MyDevice has been deleted');
}
}
module.exports = MyDevice;
And result
Probably it will be something simple, but I was not able to fix it.
Thanks