Incorrect devices created after adding MCOHome A8-9 air quality sensor
Posted: Saturday 04 January 2025 19:17
Hi, I recently added the referenced air quality sensor to my domoticz install. Most of the sensors came up correctly, but I have some issues of different criticality levels that I've tried to solve myself with no success.
The setup is Domoticz 2024.7 (build 16360), with Zigbee MQTT Autodiscovery plugin, with Zwave-JS-IU 9.27.8 and Zwaqve-JS 14.3.7.
The MCOHome A8-9 sensor has the latest firmware 6.4.
1. Co2 sensor is reported in Zwave-JS-UI as zwave sensortype 17 and scale 0. According to the documentation in the Zwave Alliance, that corresponds to a Co2 sensor with measurement in ppm, which is correct. However the device created in Domoticz is an Air Quality type, Voc type. However, this diesn't seem to have any impact since the ppm values (in the 100's values) appear correctly.
2. Similarly, the PM2.5 zwave device is sensortype 35, scale 1, which is a PM2.5 device with measurement in µg/m3. However domoticz creates a Custom sensor. Once created it works well.
3. The Voc sensor is reported in Zwave-JS-UI as sensortype 39, scale 1, which corresponds to a device with sensortype VOC level and scale in ppm. The device created by domoticz looks correct, however the Voc values tend to be in the 100's ppb, so 0.something ppm. This problem is that this device doesn't seem to support decimal places, so it always shows 0ppm. I even tried to create a virtual device and use a dzvents script to multiply the value in the original by 1000 to get the correct value, but it always report 0.
Issues 1 and 2 are not critical since the correct values are shown, but issue 3 is something I'd really like to see fixed since, with dangerous Voc levels being around 500ppb = 0.5 ppm, it is important to be able to see the decimal places.
My guess is that maybe domoticz doesn't support all the possible devices in the zwave specification, so tries to use custom sensors to mimc them. The most critical issue is obviously number 2. I've tried to look into the domoticz code to find where devices are created and zwave sensor types are being mapped to the available devices types, with no success. So I decided to post the question here in hope that someone can help me find out and probably try to controbute an update to the code.
Thanks in advance.
The setup is Domoticz 2024.7 (build 16360), with Zigbee MQTT Autodiscovery plugin, with Zwave-JS-IU 9.27.8 and Zwaqve-JS 14.3.7.
The MCOHome A8-9 sensor has the latest firmware 6.4.
1. Co2 sensor is reported in Zwave-JS-UI as zwave sensortype 17 and scale 0. According to the documentation in the Zwave Alliance, that corresponds to a Co2 sensor with measurement in ppm, which is correct. However the device created in Domoticz is an Air Quality type, Voc type. However, this diesn't seem to have any impact since the ppm values (in the 100's values) appear correctly.
2. Similarly, the PM2.5 zwave device is sensortype 35, scale 1, which is a PM2.5 device with measurement in µg/m3. However domoticz creates a Custom sensor. Once created it works well.
3. The Voc sensor is reported in Zwave-JS-UI as sensortype 39, scale 1, which corresponds to a device with sensortype VOC level and scale in ppm. The device created by domoticz looks correct, however the Voc values tend to be in the 100's ppb, so 0.something ppm. This problem is that this device doesn't seem to support decimal places, so it always shows 0ppm. I even tried to create a virtual device and use a dzvents script to multiply the value in the original by 1000 to get the correct value, but it always report 0.
Issues 1 and 2 are not critical since the correct values are shown, but issue 3 is something I'd really like to see fixed since, with dangerous Voc levels being around 500ppb = 0.5 ppm, it is important to be able to see the decimal places.
My guess is that maybe domoticz doesn't support all the possible devices in the zwave specification, so tries to use custom sensors to mimc them. The most critical issue is obviously number 2. I've tried to look into the domoticz code to find where devices are created and zwave sensor types are being mapped to the available devices types, with no success. So I decided to post the question here in hope that someone can help me find out and probably try to controbute an update to the code.
Thanks in advance.