kind3r / ttlock-sdk-js

JavaScript port of the TTLock Android SDK
GNU General Public License v3.0
42 stars 20 forks source link

Sifely lock: Error while adding Fingerprint Error: Failed add FR mode response #17

Open benburkhart1 opened 2 years ago

benburkhart1 commented 2 years ago

When I run add-fingerprint, it always errors out, is there anything you'd suggest, or am I just out of luck using this library? lock/unlock/passage and everything else works fine.

This is a Sifely lock, https://www.amazon.com/gp/product/B07Y5V15SY/

I found it was compatible with TTLock by disassembling their app APK and seeing the ttlock SDK in there.

Scan started
{"id":"cc9181e0c16d","manufacturer":"unknown","model":"unknown","hardware":"unknown","firmware":"unknown","address":"CC:91:81:E0:C1:6D","rssi":-62,"protocolType":5,"protocolVersion":3,"scene":2,"groupId":0,"orgId":0,"lockType":5,"isTouch":true,"isUnlock":false,"hasEvents":true,"isSettingMode":false,"txPowerLevel":0,"batteryCapacity":24,"date":0,"isWristband":false,"isRoomLock":true,"isSafeLock":false,"isBicycleLock":false,"isLockcar":false,"isGlassLock":false,"isPadLock":false,"isCyLinder":false,"isRemoteControlDevice":false,"isDfuMode":false,"isNoLockService":false,"remoteUnlockSwitch":0,"disconnectStatus":0,"parkStatus":0,"lockSound":-1,"autoLockTime":-1,"privateData":{"aesKey":"XXXXXXXXXXXX","admin":{"adminPs":111111,"unlockKey":1111111},"adminPasscode":"11111"},"operationLog":[]}

Peripheral connect start
Peripheral connect triggered
Peripheral state: connected
Device emiting connected
BLE Device reading basic info
BLE Device discover services start
BLE Device discover services end
BLE Device read characteristics start
BLE Device read characteristics end
BLE Device read characteristics start
BLE Device read characteristics end
BLE Device read basic info
BLE Device subscribed
Connected to known lock, reading general data
========= feature list
Lock waiting for connection to be completed
<Buffer 18 00 44 d5 f7>
========= feature list Set(14) { 0, 1, 2, 4, 5, 6, 7, 8, 10, 12, 14, 15, 18, 22 }
========= check admin
========= check admin: 17806
========= check random
========= check random
========= autoLockTime
========= autoLockTime: 0
========= lockSound
========= lockSound: 0
Trying to add Fingerprint

========= add Fingerprint
Error while adding Fingerprint Error: Failed add FR mode response
    at TTLock.addFRCommand (/home/ben/ttlock-sdk-js/dist/device/TTLockApi.js:1151:23)
    at async TTLock.addFingerprint (/home/ben/ttlock-sdk-js/dist/device/TTLock.js:921:34)
    at async TTLockClient.<anonymous> (/home/ben/ttlock-sdk-js/examples/addFR.js:35:22)
benburkhart1 commented 2 years ago

I got it working by faking the lock type to 4 on this line, I'm not entirely sure what all that means.

https://github.com/kind3r/ttlock-sdk-js/blob/main/src/device/TTLockApi.ts#L1164