Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.64k stars 1.64k forks source link

[New device support]: ZBST-AE-630-EUR #21673

Open DJerike opened 5 months ago

DJerike commented 5 months ago

Link

https://www.angeleye.nl/producten/zbst-ae-630eur-zbco-ae-10x-eur-zbht-ae630-eur

Database entry

{"id":5,"type":"EndDevice","ieeeAddr":"0x00155f00dcc8f1e9","nwkAddr":34597,"manufId":4674,"manufName":"Fireangel","powerSource":"Unknown","modelId":"Alarm_SD_Device","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1027,"inClusterList":[0,1,3,32,1280,1282],"outClusterList":[25,1282],"clusters":{"genBasic":{"attributes":{"hwVersion":129,"dateCode":"20181129"}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00124b0024c29d55","zoneState":1}},"genPollCtrl":{"attributes":{"checkinInterval":14400}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00124b0024c29d55","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":49,"hwVersion":129,"dateCode":"20181129","zclVersion":2,"interviewCompleted":true,"meta":{},"lastSeen":1709568269781,"checkinInterval":3600}

Comments

I added the device to zigbee 2 mqtt but it is detected as a Carbon monoxide sensor. However this is a Smoke Detector.

External definition

const {batteryPercentage} = require('zigbee-herdsman-converters/lib/modernExtend');

const definition = {
    zigbeeModel: ['Alarm_SD_Device'],
    model: 'Alarm_SD_Device',
    vendor: 'Fireangel',
    description: 'Automatically generated definition',
    extend: [batteryPercentage()],
    meta: {},
};

module.exports = definition;
DJerike commented 5 months ago

I looked it up, and if i had bought the angeleye smoke detector with Zwave module the smoke detector is supported with zwave. I als searched the internet and found this page: https://github.com/Koenkk/zigbee2mqtt/issues/14311

there is also a script on that page but i can not test this because it is giving me a error: “constructorclass is not a constructor”

So as far as i can see this angeleye smoke detector is not natively supported by zigbee2mqtt. Is it possible that this can still be done?

prolife86 commented 5 months ago

Might it be due to the fact the Carbon Monoxide meter uses the same Zigbee W2-Module that can be inserted? https://www.zigbee2mqtt.io/devices/W2-Module.html

Do you have a W2-Module: https://assets-global.website-files.com/5fe0b04dba07991da8fe0117/5fe0b04dba0799780efe02bb_Fireangel%20W2-module%20-.pdf

Or a ZB-Module: https://assets-global.website-files.com/5fe0b04dba07991da8fe0117/5fe0b04dba07992fb5fe02ac_CA0126R1%20NL%20FireAngel%20ZB-Module%20Datasheet-NL.pdf

DJerike commented 5 months ago

I have the ZBST-AE-630-EUR Smoke detector that comes with the W2 zigbee module. This is a sepperate module. I checked the supported devices on the zigbee2mqtt website but the ST-AE-630-EUR smoke detector is not supported. I found the webpage see my comments above, but the script does not work.

DJerike commented 5 months ago

Sorry i am wrong, the ZBST-AE-630-EUR comes with a zb module and is detected by zigbee2mqtt

prolife86 commented 5 months ago

How do you see that it is detected as a Carbon monoxide sensor?

In the Database there is a Carbon Monoxide Sensor, but that one uses a W2-Module, not ZB module (I do not know if there is a difference in this). But per your report it is seen as "modelId":"Alarm_SD_Device", which is not in the Zigbee2Mqtt database?

DJerike commented 5 months ago

When i paired it to tho the zigbee coordinator it got detected as a Carbon monoxide sensor and the W2-module, it had sensor values which belong to the Carbon monoxide sensor. The values are N/A because it is a smoke detector. The problem is that is for real a zigbee module paired with the ht-ae630-eur smoke detector which is not detected correct by zigbee2mqtt.

prolife86 commented 2 months ago

Were you able to resolve this issue?

DJerike commented 2 months ago

I use a custom fireangel.js file to detect it as a smoke detector. the problem is that there is no info about this device.

This is wat my fireangel.js looks like:

const {} = require('zigbee-herdsman-converters/lib/modernExtend'); // Add the lines below const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); const tz = require('zigbee-herdsman-converters/converters/toZigbee'); const exposes = require('zigbee-herdsman-converters/lib/exposes'); const reporting = require('zigbee-herdsman-converters/lib/reporting'); const extend = require('zigbee-herdsman-converters/lib/extend'); const utils = require('zigbee-herdsman-converters/lib/utils'); const globalStore = require('zigbee-herdsman-converters/lib/store'); const e = exposes.presets; const ea = exposes.access;

const definition = { zigbeeModel: ['Alarm_SD_Device'], model: 'ST-AE630', // Update this with the real model of the device (written on the device itself or product page) vendor: 'Fireangel', // Update this with the real vendor of the device (written on the device itself or product page) description: 'Smoke detector', // Description of the device, copy from vendor site. (only used for documentation and startup logging) fromZigbee: [fz.ias_smoke_alarm_1, fz.battery], toZigbee: [tz.warning], configure: async(device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); const bindClusters = ['genPowerCfg', 'ssIasZone']; await reporting.bind(endpoint, coordinatorEndpoint, bindClusters); await reporting.batteryVoltage(endpoint); await reporting.batteryAlarmState(endpoint); await endpoint.read('genPowerCfg', ['batteryVoltage', 'batteryVoltMinThres', 'batteryRatedVoltage', 'batteryAlarmState']); await endpoint.read('ssIasZone', ['zoneType', 'currentZoneSensitivityLevel', 'zoneStatus']); device.powerSource = 'Battery'; device.save(); }, exposes: [e.battery_low(), e.tamper(), e.battery(), e.battery_voltage(), e.warning(), e.binary('smoke', ea.STATE, true, false).withDescription('Smoke alarm status')], };

module.exports = definition;

If i would have put a Z-wave module in this device and connect to home assistant it would be correctly detected. But i do not have Z-wave but Zigbee,.

prolife86 commented 2 months ago

@Koenkk Hi Koen! I hope you don't mind tagging you!

It seems like his device and the already present FireAngel CO alarm called FireAngel W2 Module use the same Zigbee base I think: a ZB-Module. Is there a way to have it selectable which device is connected to the ZB-Module? (In the Supported Devices list, is the FireAngel W2 module correct? the W2 module only has 868MHz not Zigbee's 2.4GHz?) Sorry for grabbing multiple items at once, but there might be a general confusion due to this if I look at the multiple (stale) FireAngel topics.

Koenkk commented 2 months ago

Besides being detected as co, does it set carbon_monoxide to true when smoke is detected?