Last active
September 8, 2025 19:12
-
-
Save 9zigen/34a27dd18dc4d4cd09c7b1a3efda8df4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const {binary, temperature, humidity, numeric} = require('zigbee-herdsman-converters/lib/modernExtend'); | |
| const definition = { | |
| zigbeeModel: ['Alab-CO2-1.0', 'Alab-CO2-1.1'], | |
| model: 'Alab-CO2-1.1', | |
| vendor: 'Alab', | |
| description: '[Zigbee CO2 Sensor](https://www.tindie.com/products/a_lab_technology/zigbee-co2-sensor-v2/)', | |
| extend: [ | |
| temperature(), | |
| humidity(), | |
| numeric({ | |
| name: 'co2', | |
| valueMin: 0, | |
| valueMax: 65535, | |
| valueStep: 1, | |
| cluster: 'msCO2', | |
| label: 'CO2', | |
| attribute: 'measuredValue', | |
| reporting: { min: '10_SECONDS', max: '1_HOUR', change: 50 }, | |
| description: 'Measured value', | |
| unit: 'ppm', | |
| scale: 1, | |
| access: 'STATE_GET', | |
| }), | |
| binary({ | |
| name: "calibration_nitrogen", | |
| valueOn: ['Start', 1], | |
| valueOff: ['Not started', 0], | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1000, type: 0x21 }, | |
| description: 'Perform nitrogen calibration. The device must be in a pure nitrogen atmosphere.', | |
| }), | |
| binary({ | |
| name: "calibration_background", | |
| valueOn: ['Start', 1], | |
| valueOff: ['Not started', 0], | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1001, type: 0x21 }, | |
| description: 'Perform background calibration. For best results, the device should be placed in fresh air for 3-5 minutes.', | |
| }), | |
| binary({ | |
| name: "abc", | |
| valueOn: ['Active', 1], | |
| valueOff: ['Disabled', 0], | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1002, type: 0x21 }, | |
| description: 'Perform background calibration. For best results, the device should be placed in fresh air for 3-5 minutes.', | |
| }), | |
| numeric({ | |
| name: "abc_period", | |
| valueMin: 0, | |
| valueMax: 65535, | |
| valueStep: 1, | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1003, type: 0x21 }, | |
| description: 'Perform background calibration. For best results, the device should be placed in fresh air for 3-5 minutes.', | |
| }), | |
| numeric({ | |
| name: "altitude", | |
| valueMin: 0, | |
| valueMax: 3000, | |
| valueStep: 1, | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1009, type: 0x21 }, | |
| description: 'SCD4X height above sea level. Valid input values are between 0–3000m.', | |
| }), | |
| numeric({ | |
| name: "pressure", | |
| valueMin: 70000, | |
| valueMax: 120000, | |
| valueStep: 1, | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1010, type: 0x23 }, | |
| description: 'SCD4X sensor only! The default value is 101300 Pa. Valid input values are between 70000 – 120000 Pa. Overrides any pressure compensation based on a previously set sensor altitude.', | |
| }), | |
| binary({ | |
| name: "factory_reset", | |
| valueOn: ['Start', 1], | |
| valueOff: ['Not started', 0], | |
| cluster: "msCO2", | |
| attribute: { ID: 0x1011, type: 0x10 }, | |
| description: 'Reset SCD4X sensor!', | |
| }), | |
| ], | |
| meta: {}, | |
| }; | |
| module.exports = definition; |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
if you bought it on tindie just write to me via the request form with the order number. I will send a replacement.