<!--
VERY IMPORTANT: Before submitting a request, first (try to) follow: https:…//www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html
Dumping just the info about this device without actually attemping adding support yourself will likely lead into this issue being ignored.
Clearly indicate what you tried and where you got stuck.
-->Hello there.
I was trying to add new zigbee device SHS-ADT300(zigbee module for Samsung SHP-DP728 doorlock), my coordinator found it but failed to interview. As a result, no Model, no Manufacturer, no LQI, but IEEE Adrress 0x000d6f000f836d9f (0x642E).
After I tried to connect again, I got LQI , Device type"EndDevice", Zigbee Manufacturer"SAMSUNG SDS"(may be defined by myself in .js file?) but still lack of "Model"
Here I got stuck……
2021.10.27:OK,now I defined Model ID manually in database.db, and created .js file, in which I added a few converters(fz, tz). But the lock does not reflect real state or battery percentage. Neither can I unlock it.
Can someone help or tell me what to do next, much appreciate !
## Information about the device + link
>



https://www.ebayshopkorea.com/itm/SAMSUNG-SHS-ADT300-Remote-Controller-Module-for-Bl/272997184695
https://www.samsungsds.com/en/index.html
https://smarthome.samsungsds.com/doorlock/product/view?prdId=16&gotoPage=2&searchWord=&searchPrdType=SD&searchCateId1=1&searchCateId2=0
## data/database.db
```
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b000be8b1a1","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6,8,10,11,12,13,47,110,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"2":{"profId":257,"epId":2,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"3":{"profId":261,"epId":3,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"4":{"profId":263,"epId":4,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"5":{"profId":264,"epId":5,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"6":{"profId":265,"epId":6,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"8":{"profId":260,"epId":8,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"10":{"profId":260,"epId":10,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"11":{"profId":260,"epId":11,"devId":1024,"inClusterList":[1281],"outClusterList":[1280,1282],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"12":{"profId":49246,"epId":12,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"13":{"profId":260,"epId":13,"devId":5,"inClusterList":[25],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"47":{"profId":260,"epId":47,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"110":{"profId":260,"epId":110,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":5,"inClusterList":[],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"interviewCompleted":true,"meta":{},"lastSeen":null}
{"id":2,"type":"EndDevice","ieeeAddr":"0x00158d00023ea99d","nwkAddr":21620,"manufId":4151,"manufName":"LUMI","powerSource":"Battery","modelId":"lumi.sensor_motion","epList":[1],"endpoints":{"1":{"epId":1,"inClusterList":[],"outClusterList":[],"clusters":{"genBasic":{"attributes":{"65282":[{"elmType":16,"elmVal":1},{"elmType":33,"elmVal":3145},{"elmType":33,"elmVal":5032},{"elmType":36,"elmVal":[0,1]},{"elmType":33,"elmVal":13364},{"elmType":32,"elmVal":90}],"modelId":"lumi.sensor_motion","appVersion":11}},"msOccupancySensing":{"attributes":{"occupancy":1}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":11,"interviewCompleted":true,"meta":{},"lastSeen":1635332048303}
{"id":3,"type":"EndDevice","ieeeAddr":"0x000d6f000f836d9f","nwkAddr":6832,"manufId":3,"manufName":"SAMSUNG SDS","powerSource":"Battery","modelId":"SHS-ADT300","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":10,"inClusterList":[0,1,3,4,5,9,257],"outClusterList":[25],"clusters":{"closuresDoorLock":{"attributes":{"lockState":1}},"genPowerCfg":{"attributes":{"batteryVoltage":89}},"genBasic":{"attributes":{"manufacturerName":"SAMSUNG SDS","powerSource":3,"zclVersion":1,"appVersion":2,"stackVersion":83,"hwVersion":1}},"genOnOff":{"attributes":{}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":2,"stackVersion":83,"hwVersion":1,"zclVersion":1,"interviewCompleted":true,"meta":{},"lastSeen":1635334769777}
```
```
Zigbee2MQTT:debug 2021-10-27 17:43:06: Received Zigbee message from 'DOORLOCK', type 'raw', cluster 'closuresDoorLock', data '{"data":[9,27,32,4,2,32,0,0,23,153,121,97],"type":"Buffer"}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2021-10-27 17:43:06: MQTT publish: topic 'zigbee2mqtt/DOORLOCK', payload '{"action":"finger_unlock","battery":null,"linkquality":115,"lock_state":"locked","state":"LOCK","voltage":8900}'
Zigbee2MQTT:info 2021-10-27 17:43:06: MQTT publish: topic 'zigbee2mqtt/DOORLOCK', payload '{"action":"","battery":null,"linkquality":115,"lock_state":"locked","state":"LOCK","voltage":8900}'
Zigbee2MQTT:info 2021-10-27 17:43:06: MQTT publish: topic 'zigbee2mqtt/DOORLOCK/action', payload 'finger_unlock'
Zigbee2MQTT:debug 2021-10-27 17:43:11: Received Zigbee message from 'DOORLOCK', type 'raw', cluster 'closuresDoorLock', data '{"data":[9,28,32,2,10,255,255,0,29,153,121,97],"type":"Buffer"}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2021-10-27 17:43:11: MQTT publish: topic 'zigbee2mqtt/DOORLOCK', payload '{"action":"lock","battery":null,"linkquality":110,"lock_state":"locked","state":"LOCK","voltage":8900}'
Zigbee2MQTT:info 2021-10-27 17:43:11: MQTT publish: topic 'zigbee2mqtt/DOORLOCK', payload '{"action":"","battery":null,"linkquality":110,"lock_state":"locked","state":"LOCK","voltage":8900}'
Zigbee2MQTT:info 2021-10-27 17:43:11: MQTT publish: topic 'zigbee2mqtt/DOORLOCK/action', payload 'lock'
Zigbee2MQTT:debug 2021-10-27 17:47:48: Saving state to file /config/zigbee2mqtt/state.json
Zigbee2MQTT:debug 2021-10-27 17:48:59: Received Zigbee message from 'DOORLOCK', type 'attributeReport', cluster 'closuresDoorLock', data '{"lockState":1}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2021-10-27 17:48:59: MQTT publish: topic 'zigbee2mqtt/DOORLOCK', payload '{"battery":null,"linkquality":105,"lock_state":"locked","state":"LOCK","voltage":8900}'
```
entry of the device
HASS.OS-Zigbee2mqtt 1.21.2-1-CC2531
SHS-ADT300.js:
```
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 fzLocal = {
Samsung_easycode_action: {
cluster: 'closuresDoorLock',
type: 'raw',
convert: (model, msg, publish, options, meta) => {
const lookup = {
10: 'lock',
14: 'inside_unlock',
2: 'unlock',
4: 'finger_unlock',
3: 'rfid_unlock',
0: 'keypad_unlock',
};
const value = lookup[msg.data[4]];
if (value == 'lock' || value == 'inside_unlock') {
return {action: value};
} else {
return {action: lookup[msg.data[3]]};
}
},
},
}
const definition = {
zigbeeModel: ['SHS-ADT300'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
model: 'SHP-DP728', // Vendor model number, look on the device for a model number
vendor: 'SAMSUNG SDS', // Vendor of the device (only used for documentation and startup logging)
description: 'Smart Lock', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
fromZigbee: [fzLocal.Samsung_easycode_action, fz.lock, fz.battery, fz.lock_operation_event], // fz.lock_programming_event, fz.lock_pin_code_response, fz.lock_user_status_response,
toZigbee: [tz.lock, tz.pincode_lock, tz.lock_userstatus], // Should be empty, unless device can be controlled (e.g. lights, switches).
exposes: [e.lock(), e.battery(), e.pincode()], // Defines what this device exposes, used for e.g. Home Assistant discovery and in the frontend
};
configure: async (device, coordinatorEndpoint, logger) => {
// Device advertises itself as Router but is an EndDevice
device.type = 'EndDevice';
device.save();
},
module.exports = definition;`
```