How to support a new device (siren) to zigbee2mqtt

Hello have a new device, a zigbee outdoor siren made by Lexman (ADEO). The problem is that this device is not natively supported by zigbee2mqtt (which I am using in my installation). So, I tried to support it creating an external converter as suggested by the zigbee2mqtt site.
Now the device is “recognized” but I have no idea how to play with my device to discover the functionalities that I can call from HA. There is no button to play with on the device…so how can I “guess” what services I can call or what entities are available ?

I am totally lost here…
I also opened a new topic on GitHub but whit no success.

Here follow my external converter…I tried to copy some “reasonable” text from other supported zigbee sirens…

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 e = exposes.presets;
const ea = exposes.access;

const definition = {
    zigbeeModel: ['LDSENK07'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
    model: 'LDSENK07', // Vendor model number, look on the device for a model number
    vendor: 'ADEO', // Vendor of the device (only used for documentation and startup logging)
    description: 'Lexman Wireless Smart Outdoor Siren', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
    fromZigbee: [fz.battery, fz.ias_siren],
    toZigbee: [tz.warning, tz.squawk],
    exposes: [e.warning(), e.squawk(), e.battery(), e.battery_low(), e.tamper()]
};

module.exports = definition;

Should I use the “dev tools” section of HA? Sending some reasonable “payloads” (not really undestanding what I am saying here…) and see what happen? Should I try to see if there are some indications on the ENKI app (which is supposed to control this device)? Please help me understanding what I have to try…thanks in advance.

The first thing is to look what clusters z2m finds.

1 Like

Thanks for your reply.
Cluster is this part of the database entry?

"clusters":{"genBasic":{"attributes":{"modelId":"LDSENK07","manufacturerName":"ADEO","powerSource":3,"zclVersion":3,"appVersion":2,"stackVersion":6,"hwVersion":1,"dateCode":"20200521-15","swBuildId":"2.3"}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00124b0024c315d8","zoneState":1}},"genPollCtrl":{"attributes":{"checkinInterval":6480}}}, 

What should I do with this information?
The whole database entry (in case I miscounted the “{}”…):

{"id":20,"type":"EndDevice","ieeeAddr":"0x04cd15fffe6390ed","nwkAddr":20687,"manufId":4727,"manufName":"ADEO","powerSource":"Battery","modelId":"LDSENK07","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1027,"inClusterList":[0,3,32,1280,1282,2821],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"LDSENK07","manufacturerName":"ADEO","powerSource":3,"zclVersion":3,"appVersion":2,"stackVersion":6,"hwVersion":1,"dateCode":"20200521-15","swBuildId":"2.3"}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00124b0024c315d8","zoneState":1}},"genPollCtrl":{"attributes":{"checkinInterval":6480}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00124b0024c315d8","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":2,"stackVersion":6,"hwVersion":1,"dateCode":"20200521-15","swBuildId":"2.3","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1655132684738,"defaultSendRequestWhen":"active"}

You can also look in the z2m gui. I am just looking at the docs Support new devices | Zigbee2MQTT

There is a suggestion to look at similar devices, and to look at the examples.

Yes, that is how I complete my external converter: looking at other similar devices. But it does not really work…

Is there a way to send “test” commands to the device to see if something happen? In that case, what would be the proper syntax and command examples?

Through mqtt

Thanks for helping me. Could you please be more specific. Where should I interact with MQTT. What sort of command should I run?
I “discovered” that I have a “tamper” sensor on the siren, which is working. That’s one point…but still I do not know how to command it…

Well you don’t command a tamper sensor, you read it. There should be a sensor created in ha. Is there?

mqtt commands are in the docs MQTT Topics and Messages | Zigbee2MQTT