zigbee2mqtt
zigbee2mqtt copied to clipboard
[New device support]: Tuya ZigBee Smart Door Lock ( TY0A01 / _TYST12_bfejtdig)
Link
https://www.aliexpress.com/item/1005005810135795.html?spm=a2g0o.order_list.order_list_main.49.17fc1802mGzuAG
Database entry
{"id":120,"type":"EndDevice","ieeeAddr":"0x1c34f1fffe1343f4","nwkAddr":25908,"manufId":0,"manufName":"_TYST12_bfejtdig","powerSource":"Battery","modelId":"TY0A01","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[0,10,4,5,61184],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"65503":"\u0000\u0000\u0000\u0000\u0012","65506":28,"appVersion":88,"modelId":"TY0A01","manufacturerName":"_TYST12_bfejtdig","powerSource":3,"zclVersion":3,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":88,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1715048650733}
Comments
There is a product was already requested, but it seems all over the place. I have added this to my Tuya gateway.
WOuld like some help in getting this work, as there isn't enough support for Tuya Zigbee Door locks and they do have lots of option Zigbee Model TY0A01 Zigbee Manufacturer: _TYST12_bfejtdig
Dp 1: Finger Print Unlock DP 2: Password DP 3: Temporary Password DP 4: Dynamic Password DP 68: Unlock by Offline Password DP 5: Unlock by card DP 8: Open or Close DP 9: Alarm DP 10: Battery DP 12: Reverse Lock DP 14: Doorbell DP 15: Chose Ring Tone DP 21: APP Unlock Without Password DP 22: Answer APP DP 23: Forbidden APP Unlock DP 24: Create a Temporary Password DP 25: Delete Temporary Password DP 27: Frozen Temporary Password DP 28: Unfreeze Temporary Password DP 35: Hijack Alarm DP 39: Reset temporary password DP 41: APP Unlock DP 47: Door Status DP 48: New remote unlock without password - set key Dp 49: New remote unlock without password - Safe Solution DP 54: Create unlock methods from App DP 55: Delete unlock methods from App DP 57: Lock motor state DP 61: Single Use Password DP 62: Unlock by remote Voice The ones in bold are the most useful, the others is nice to have
External definition
TBA
@Koenkk is there any chance of some help on this?
Interested in this as well, I just installed very smiliar one - https://pl.aliexpress.com/item/1005005020480943.html?spm=a2g0o.order_list.order_list_main.80.7e8d1c24GhtaHF&gatewayAdapt=glo2pol
It is addedd as unsupoprted:
Type: EndDevice Model Zigbee TY0A01 Producent Zigbee _TYST12_srptwvak
I've generated generated_external_definition from dev console, but it's very basic, if I could help in testing or make some additional setup (how?) let me know.
Interested in this as well, I just installed very smiliar one - https://pl.aliexpress.com/item/1005005020480943.html?spm=a2g0o.order_list.order_list_main.80.7e8d1c24GhtaHF&gatewayAdapt=glo2pol
It is addedd as unsupoprted:
Type: EndDevice Model Zigbee TY0A01 Producent Zigbee _TYST12_srptwvak
I've generated generated_external_definition from dev console, but it's very basic, if I could help in testing or make some additional setup (how?) let me know.
I dont have experience in this part of Z2M unfortunately
@Koenkk hey mate would you be able to help with seeing if we can get this type of lock into Z2M. IT would open up more options from the Tuya range?
Since you have the datapoints already, you can start making an external converter, you can use https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/tuya.ts for inspiration
@Koenkk
this is what i have so
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 tuya = require('zigbee-herdsman-converters/lib/tuya');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const tuyaLock = {
fingerprint: [{modelID: 'TY0A01', manufacturerName: '_TYST12_bfejtdig'}],
model: 'TY0A01',
vendor: 'Tuya',
description: 'Tuya based lock with various unlock methods',
fromZigbee: [fz.tuya_lock],
toZigbee: [tz.tuya_lock],
exposes: [
e.lock().setAccess('state', ea.ALL),
e.numeric('battery', ea.STATE).withUnit('%').withDescription('Battery level'),
e.enum('sound_volume', ea.ALL, ['silent', 'low', 'medium', 'high']).withDescription('Sound volume'),
e.text('alarm', ea.STATE).withDescription('Alarm'),
e.binary('fingerprint_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('Fingerprint Unlock'),
e.binary('password', ea.STATE_SET, 'ON', 'OFF').withDescription('Password'),
e.binary('temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Temporary Password'),
e.binary('dynamic_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Dynamic Password'),
e.binary('offline_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Unlock by Offline Password'),
e.binary('card', ea.STATE_SET, 'ON', 'OFF').withDescription('Unlock by Card'),
e.binary('open_close', ea.STATE_SET, 'ON', 'OFF').withDescription('Open or Close'),
e.binary('reverse_lock', ea.STATE_SET, 'ON', 'OFF').withDescription('Reverse Lock'),
e.binary('doorbell', ea.STATE_SET, 'ON', 'OFF').withDescription('Doorbell'),
e.enum('choose_ring_tone', ea.ALL, ['tone1', 'tone2', 'tone3']).withDescription('Choose Ring Tone'),
e.binary('app_unlock_without_password', ea.STATE_SET, 'ON', 'OFF').withDescription('APP Unlock Without Password'),
e.binary('answer_app', ea.STATE_SET, 'ON', 'OFF').withDescription('Answer APP'),
e.binary('forbidden_app_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('Forbidden APP Unlock'),
e.binary('create_temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Create a Temporary Password'),
e.binary('delete_temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Delete Temporary Password'),
e.binary('frozen_temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Frozen Temporary Password'),
e.binary('unfreeze_temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Unfreeze Temporary Password'),
e.binary('hijack_alarm', ea.STATE_SET, 'ON', 'OFF').withDescription('Hijack Alarm'),
e.binary('reset_temporary_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Reset Temporary Password'),
e.binary('app_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('APP Unlock'),
e.binary('door_status', ea.STATE_SET, 'ON', 'OFF').withDescription('Door Status'),
e.binary('new_remote_unlock_without_password_set_key', ea.STATE_SET, 'ON', 'OFF').withDescription('New remote unlock without password - set key'),
e.binary('new_remote_unlock_without_password_safe_solution', ea.STATE_SET, 'ON', 'OFF').withDescription('New remote unlock without password - Safe Solution'),
e.binary('create_unlock_methods_from_app', ea.STATE_SET, 'ON', 'OFF').withDescription('Create unlock methods from App'),
e.binary('delete_unlock_methods_from_app', ea.STATE_SET, 'ON', 'OFF').withDescription('Delete unlock methods from App'),
e.binary('lock_motor_state', ea.STATE_SET, 'ON', 'OFF').withDescription('Lock motor state'),
e.binary('single_use_password', ea.STATE_SET, 'ON', 'OFF').withDescription('Single Use Password'),
e.binary('unlock_by_remote_voice', ea.STATE_SET, 'ON', 'OFF').withDescription('Unlock by remote Voice')
],
meta: {
tuyaDatapoints: [
[1, 'fingerprint_unlock', tuya.valueConverter.trueFalse],
[2, 'password', tuya.valueConverter.trueFalse],
[3, 'temporary_password', tuya.valueConverter.trueFalse],
[4, 'dynamic_password', tuya.valueConverter.trueFalse],
[68, 'offline_password', tuya.valueConverter.trueFalse],
[5, 'card', tuya.valueConverter.trueFalse],
[8, 'open_close', tuya.valueConverter.trueFalse],
[9, 'alarm', tuya.valueConverter.trueFalse],
[10, 'battery', tuya.valueConverter.batteryPercentage],
[12, 'reverse_lock', tuya.valueConverter.trueFalse],
[14, 'doorbell', tuya.valueConverter.trueFalse],
[15, 'choose_ring_tone', tuya.valueConverter.basicEnum],
[21, 'app_unlock_without_password', tuya.valueConverter.trueFalse],
[22, 'answer_app', tuya.valueConverter.trueFalse],
[23, 'forbidden_app_unlock', tuya.valueConverter.trueFalse],
[24, 'create_temporary_password', tuya.valueConverter.trueFalse],
[25, 'delete_temporary_password', tuya.valueConverter.trueFalse],
[27, 'frozen_temporary_password', tuya.valueConverter.trueFalse],
[28, 'unfreeze_temporary_password', tuya.valueConverter.trueFalse],
[35, 'hijack_alarm', tuya.valueConverter.trueFalse],
[39, 'reset_temporary_password', tuya.valueConverter.trueFalse],
[41, 'app_unlock', tuya.valueConverter.trueFalse],
[47, 'door_status', tuya.valueConverter.trueFalse],
[48, 'new_remote_unlock_without_password_set_key', tuya.valueConverter.trueFalse],
[49, 'new_remote_unlock_without_password_safe_solution', tuya.valueConverter.trueFalse],
[54, 'create_unlock_methods_from_app', tuya.valueConverter.trueFalse],
[55, 'delete_unlock_methods_from_app', tuya.valueConverter.trueFalse],
[57, 'lock_motor_state', tuya.valueConverter.trueFalse],
[61, 'single_use_password', tuya.valueConverter.trueFalse],
[62, 'unlock_by_remote_voice', tuya.valueConverter.trueFalse]
],
},
extend: [
extend.lock(),
extend.battery(),
],
};
module.exports = tuyaLock;
@Koenkk any feedback mate, what should i bee looking for when testing this?
Does your external converter work?
Does your external converter work? @Koenkk Trying now,. i also look all through the tuya.js file and couldnt find oither examples of actual door locks. {"id":174,"type":"EndDevice","ieeeAddr":"0x1c34f1fffe1343f4","nwkAddr":49413,"manufId":0,"manufName":"_TYST12_bfejtdig","powerSource":"Battery","modelId":"TY0A01","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[0,10,4,5,61184],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"65503":"�2I.\u0012�2I.\u0012�2I.\u0012�2I.\u0013�2I.\u0012�2I.\u0012�2I.\u0012�2I.\u0011","65506":28,"appVersion":88,"modelId":"TY0A01","manufacturerName":"_TYST12_bfejtdig","powerSource":3,"zclVersion":3,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":88,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1723198299091}
@Koenkk I ahve even stripped it right back and im getting an error [2024-08-09 20:47:28] error: z2m: Failed to load external converter file 'tuya_lock_converter.js' (Cannot read properties of undefined (reading 'options'))
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 e = exposes.presets;
const ea = exposes.access;
const definition = {
zigbeeModel: ['TY0A01'],
model: 'TY0A01',
vendor: '_TYST12_bfejtdig',
description: 'Tuya based lock with various unlock methods',
fromZigbee: [fz.tuya_lock],
toZigbee: [tz.tuya_lock],
exposes: [
e.lock(),
e.numeric('battery', ea.STATE).withUnit('%').withDescription('Battery level'),
],
meta: {},
};
module.exports = definition;
That because fz and tz tuya lock doesnt exist
That because fz and tz tuya lock doesnt exist
Ok so now what??
Try with tuya.tz.datapoints and with the converter from https://github.com/Koenkk/zigbee2mqtt/issues/22515#issuecomment-2235313134
Try with tuya.tz.datapoints and with the converter from #22515 (comment) @Koenkk Tried that,
z2m: Failed to load external converter file 'tuya_lock_converter.js' (Cannot find module 'zigbee-herdsman converters/lib/extend'
Require stack:
- /app/dist/util/utils.js
- /app/dist/util/settings.js
- /app/index.js)
[2024-08-12 07:52:10] error: z2m: Probably there is a syntax error in the file or the external converter is not compatible with the current Zigbee2MQTT version ```
With https://gist.github.com/Koenkk/8a6844676eb93872707aa7d79bcadd03 it should start, make sure that you are on the latest z2m dev.
OK that's concerter has worked and applied to the lock. Now how do I figure out how test? is there events to listen to when I use the lock?
Try to control it via the exposes tab, also check if the exposes tab updates if you control the lock physically
Hold on, this is working now? Been following multiple threads of TY0A01 here in GitHub.
On Wed, Aug 14, 2024, 1:37 AM Koen Kanters @.***> wrote:
Try to control it via the exposes tab, also check if the exposes tab updates if you control the lock physically
— Reply to this email directly, view it on GitHub https://github.com/Koenkk/zigbee2mqtt/issues/22515#issuecomment-2286779588, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACGD6KRLMPQZVTYTESG5NDLZRI76HAVCNFSM6AAAAABHKEVFGGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWG43TSNJYHA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Hi guys,
I don’t know if that helps, but I have a P6EL panel from smatek which comes with Tuya zigbee hub on it. I have a full root access to the panel and could get any information from the logs and files you might need. I can see several keys from Tuya on the device, and I happen to have one of those TY01 locks as well. If such combination can help in any form let me know why should I look for and I am glad to help.
thanks!
Try to control it via the exposes tab, also check if the exposes tab updates if you control the lock physically
Hey @Koenkk sorry its been awhile. Im unable to control or make any changes via the exposes tab. So i dont keep asking you what to do, is there a process of sorts?
Hi guys,
I don’t know if that helps, but I have a P6EL panel from smatek which comes with Tuya zigbee hub on it. I have a full root access to the panel and could get any information from the logs and files you might need. I can see several keys from Tuya on the device, and I happen to have one of those TY01 locks as well. If such combination can help in any form let me know why should I look for and I am glad to help.
thanks!
What are the keys for?
I've punched this into my config and can see everything exposed, but nothing in the state tab. I did some fiddling to dump the data from msg to give me a better idea of whats going on, which im guessing encouraged and update and all the states showed but with null values. I tried cutting it down to the following datapoints which I've found myself on the Tuya Developer site with no luck 1 - Fingerprint unlock 8 - Open or close 9 - Alarm 10 - Battery 14 - Doorbell
I've punched this into my config and can see everything exposed, but nothing in the state tab. I did some fiddling to dump the data from msg to give me a better idea of whats going on, which im guessing encouraged and update and all the states showed but with null values. I tried cutting it down to the following datapoints which I've found myself on the Tuya Developer site with no luck 1 - Fingerprint unlock 8 - Open or close 9 - Alarm 10 - Battery 14 - Doorbell
Do you want to reshare that external converter you created?
Here it is. It's basically just adding the msg data and dumping it into a state.
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const e = exposes.presets;
const ea = exposes.access;
const getMsg = {
cluster: 'genBasic',
type: ['attributeReport', 'readResponse'],
convert: (model, msg, publish, options, meta) => {
return {
msgData: msg,
};
},
};
const tuyaLock = {
fingerprint: [{modelID: 'TY0A01', manufacturerName: '_TYST12_bfejtdig'}],
model: 'TY0A01',
vendor: 'Tuya',
description: 'Tuya based lock with various unlock methods',
fromZigbee: [tuya.fz.datapoints, getMsg],
toZigbee: [tuya.tz.datapoints],
exposes: [
e.lock(),
e.numeric('battery', ea.STATE).withUnit('%').withDescription('Battery level'),
e.text('alarm', ea.STATE).withDescription('Alarm'),
e.binary('fingerprint_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('Fingerprint Unlock'),
e.binary('open_close', ea.STATE_SET, 'ON', 'OFF').withDescription('Open or Close'),
e.binary('doorbell', ea.STATE_SET, 'ON', 'OFF').withDescription('Doorbell'),
],
meta: {
tuyaDatapoints: [
[1, 'fingerprint_unlock', tuya.valueConverter.trueFalse],
[8, 'open_close', tuya.valueConverter.trueFalse],
[9, 'alarm', tuya.valueConverter.trueFalse],
[10, 'battery', tuya.valueConverter.batteryPercentage],
[14, 'doorbell', tuya.valueConverter.trueFalse],
],
},
};
module.exports = tuyaLock;
const tz = require('zigbee-herdsman-converters/converters/toZigbee'); const exposes = require('zigbee-herdsman-converters/lib/exposes'); const tuya = require('zigbee-herdsman-converters/lib/tuya'); const e = exposes.presets; const ea = exposes.access;
const getMsg = { cluster: 'genBasic', type: ['attributeReport', 'readResponse'], convert: (model, msg, publish, options, meta) => { return { msgData: msg, }; }, };
const tuyaLock = { fingerprint: [{modelID: 'TY0A01', manufacturerName: '_TYST12_bfejtdig'}], model: 'TY0A01', vendor: 'Tuya', description: 'Tuya based lock with various unlock methods', fromZigbee: [tuya.fz.datapoints, getMsg], toZigbee: [tuya.tz.datapoints], exposes: [ e.lock(), e.numeric('battery', ea.STATE).withUnit('%').withDescription('Battery level'), e.text('alarm', ea.STATE).withDescription('Alarm'), e.binary('fingerprint_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('Fingerprint Unlock'), e.binary('open_close', ea.STATE_SET, 'ON', 'OFF').withDescription('Open or Close'), e.binary('doorbell', ea.STATE_SET, 'ON', 'OFF').withDescription('Doorbell'), ], meta: { tuyaDatapoints: [ [1, 'fingerprint_unlock', tuya.valueConverter.trueFalse], [8, 'open_close', tuya.valueConverter.trueFalse], [9, 'alarm', tuya.valueConverter.trueFalse], [10, 'battery', tuya.valueConverter.batteryPercentage], [14, 'doorbell', tuya.valueConverter.trueFalse], ], }, };
module.exports = tuyaLock;
Cheers,
in my State tabe
i now see this
{
"last_seen": "2024-08-31T12:45:11+10:00",
"linkquality": 69,
"alarm": null,
"battery": null,
"doorbell": null,
"fingerprint_unlock": null,
"open_close": null,
"state": null,
"msgData": {
"cluster": "genBasic",
"data": {
"65503": "��e.\u0013��e.\u0012��e.\u0012��e.\u0012",
"65506": 28,
"appVersion": 88
},
"device": {
"ID": 174,
"_applicationVersion": 88,
"_customClusters": {},
"_dateCode": "",
"_endpoints": [
{
"ID": 1,
"_binds": [],
"_configuredReportings": [],
"_events": {},
"_eventsCount": 0,
"clusters": {
"genBasic": {
"attributes": {
"65503": "��e.\u0013��e.\u0012��e.\u0012��e.\u0012",
"65506": 28,
"appVersion": 88,
"dateCode": "",
"hwVersion": 1,
"manufacturerName": "_TYST12_bfejtdig",
"modelId": "TY0A01",
"powerSource": 3,
"stackVersion": 0,
"zclVersion": 3
}
}
},
"deviceID": 81,
"deviceIeeeAddress": "0x1c34f1fffe1343f4",
"deviceNetworkAddress": 1410,
"inputClusters": [
0,
10,
4,
5,
61184
],
"meta": {},
"outputClusters": [
25
],
"pendingRequests": {
"ID": 1,
"deviceIeeeAddress": "0x1c34f1fffe1343f4",
"sendInProgress": false
},
"profileID": 260
}
],
"_events": {},
"_eventsCount": 0,
"_hardwareVersion": 1,
"_ieeeAddr": "0x1c34f1fffe1343f4",
"_interviewCompleted": true,
"_interviewing": false,
"_lastDefaultResponseSequenceNumber": 52,
"_lastSeen": 1725072308039,
"_linkquality": 72,
"_manufacturerID": 0,
"_manufacturerName": "_TYST12_bfejtdig",
"_modelID": "TY0A01",
"_networkAddress": 1410,
"_pendingRequestTimeout": 0,
"_powerSource": "Battery",
"_skipDefaultResponse": false,
"_stackVersion": 0,
"_type": "EndDevice",
"_zclVersion": 3,
"meta": {}
},
"endpoint": {
"ID": 1,
"_binds": [],
"_configuredReportings": [],
"_events": {},
"_eventsCount": 0,
"clusters": {
"genBasic": {
"attributes": {
"65503": "��e.\u0013��e.\u0012��e.\u0012��e.\u0012",
"65506": 28,
"appVersion": 88,
"dateCode": "",
"hwVersion": 1,
"manufacturerName": "_TYST12_bfejtdig",
"modelId": "TY0A01",
"powerSource": 3,
"stackVersion": 0,
"zclVersion": 3
}
}
},
"deviceID": 81,
"deviceIeeeAddress": "0x1c34f1fffe1343f4",
"deviceNetworkAddress": 1410,
"inputClusters": [
0,
10,
4,
5,
61184
],
"meta": {},
"outputClusters": [
25
],
"pendingRequests": {
"ID": 1,
"deviceIeeeAddress": "0x1c34f1fffe1343f4",
"sendInProgress": false
},
"profileID": 260
},
"groupID": 0,
"linkquality": 72,
"meta": {
"frameControl": {
"direction": 1,
"disableDefaultResponse": false,
"frameType": 0,
"manufacturerSpecific": false,
"reservedBits": 0
},
"zclTransactionSequenceNumber": 52
},
"type": "attributeReport"
}
}
Did it work? were you able to actually control the lock?
Did it work? were you able to actually control the lock?
Na nothing, not even the battery state is showing
Did it work? were you able to actually control the lock?
Unfortunately not. After a day the states from the datapoints just vanish from the state tab, probably because they never actually get updated and just fall off. I'm guessing that the datapoints aren't marrying up correctly and this door lock is just doing something weird.
Here it is. It's basically just adding the msg data and dumping it into a state.
const tz = require('zigbee-herdsman-converters/converters/toZigbee'); const exposes = require('zigbee-herdsman-converters/lib/exposes'); const tuya = require('zigbee-herdsman-converters/lib/tuya'); const e = exposes.presets; const ea = exposes.access; const getMsg = { cluster: 'genBasic', type: ['attributeReport', 'readResponse'], convert: (model, msg, publish, options, meta) => { return { msgData: msg, }; }, }; const tuyaLock = { fingerprint: [{modelID: 'TY0A01', manufacturerName: '_TYST12_bfejtdig'}], model: 'TY0A01', vendor: 'Tuya', description: 'Tuya based lock with various unlock methods', fromZigbee: [tuya.fz.datapoints, getMsg], toZigbee: [tuya.tz.datapoints], exposes: [ e.lock(), e.numeric('battery', ea.STATE).withUnit('%').withDescription('Battery level'), e.text('alarm', ea.STATE).withDescription('Alarm'), e.binary('fingerprint_unlock', ea.STATE_SET, 'ON', 'OFF').withDescription('Fingerprint Unlock'), e.binary('open_close', ea.STATE_SET, 'ON', 'OFF').withDescription('Open or Close'), e.binary('doorbell', ea.STATE_SET, 'ON', 'OFF').withDescription('Doorbell'), ], meta: { tuyaDatapoints: [ [1, 'fingerprint_unlock', tuya.valueConverter.trueFalse], [8, 'open_close', tuya.valueConverter.trueFalse], [9, 'alarm', tuya.valueConverter.trueFalse], [10, 'battery', tuya.valueConverter.batteryPercentage], [14, 'doorbell', tuya.valueConverter.trueFalse], ], }, }; module.exports = tuyaLock;
May i ask if you were able to at least see the states (if door is locked or not) using this?
May i ask if you were able to at least see the states (if door is locked or not) using this?
Na, nothing at all unfortunately.