Exception Errors on lock dht

I’ve been trying to get Locstar Z-wave locks to work with SmartThings, and whist the basic unlock function works many other functions etc give errors. I’ve tried both the stand lock handler and several other peoples handlers but all give the same errors. In particular these two errors:

118e76d3-ca3a-455c-a053-c3c161518f8d 3:06:27 PM: debug "zw device: 02, command: 7105, payload: 06 06 00 FF 06 06 0E 00 63 03 00 01 00 00 00 00 00 00 00 00 " parsed to null
118e76d3-ca3a-455c-a053-c3c161518f8d 3:06:27 PM: warn Exception ‘java.lang.IndexOutOfBoundsException: toIndex = 21’ encountered parsing ‘cmd: 7105, payload: 06 06 00 FF 06 06 0E 00 63 03 00 01 00 00 00 00 00 00 00 00’

and
118e76d3-ca3a-455c-a053-c3c161518f8d 3:18:32 PM: warn Exception ‘java.lang.NullPointerException: Cannot invoke method parse() on null object’ encountered parsing 'cmd: 8007, payload: 02 40 10 01 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00’
118e76d3-ca3a-455c-a053-c3c161518f8d 3:18:32 PM: debug Entered parse with zw device: 02, command: 8007, payload: 02 40 10 01 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

In the case of the case of the first error above it occurs when using a code to open the lock and I can see the used code in the data, but I always get the Exception error on the data.

I’m new to SmartThings so any ideas/pointers would be very gratefully received

As per the lock specifications what version of NOTIFICATION_CLASS does it support?

A good question, the manual is more or less non existent, very basic. I asked the manufacture the question and will see what they say.

Hmm they just got back to me saying they don’t support NOTIFICATION_CLASS

You 2 commands being sent by the lock appear to be BATTERY_CLASS (80) and NOTIFICATION_CLASS (71)

I saw your above post but your data is saying otherwise.

The likely reason you’re seeing this error is because most locks communicate through secure channels the ENCAPSULATED command class (98). Look through your other commands from your lock debug logs and see if they start with 98.

If so that would explain what’s going on. Your lock likely paired up with a secure inclusion process.

Can you copy paste your “raw description” from the IDE -> My Devices -> Click on your lock.

That description will tell you what it’s telling ST. Likely it’s telling ST that all/most of it’s commands are secure encapsulated. However when your device is sends these 2 commands over a non secure channel which ST isn’t expecting, it throws an error.

This is the raw description from IDE for the lock:
zw:Fs type:4003 mfr:015E prod:8028 model:0001 ver:1.78 zwv:3.67 lib:03 cc:72,86,98 sec:22,5D,85,80,70,62,4C,77,4E,8B,63

Looking through the log for the locks there are various commands sent by the lock, I do see ones starting 98 when I set a code on the lock from the smartapp, and that appears to be parsed correctly I think.

118e76d3-ca3a-455c-a053-c3c161518f8d 10:14:58 AM: debug "zw device: 02, command: 9881, payload: 00 63 03 01 01 31 31 31 31 31 31 " parsed to [[‘name’:‘codeReport’, ‘value’:1, ‘data’:[‘code’:‘111111’], ‘isStateChange’:true, ‘descriptionText’:Test Lock code 1 is set, ‘displayed’:true, ‘linkText’:‘Test Lock’]]
118e76d3-ca3a-455c-a053-c3c161518f8d 10:14:58 AM: debug code report parsed to [[‘name’:‘codeReport’, ‘value’:1, ‘data’:[‘code’:‘111111’], ‘isStateChange’:true, ‘descriptionText’:Test Lock code 1 is set, ‘displayed’:true, ‘linkText’:‘Test Lock’]]
118e76d3-ca3a-455c-a053-c3c161518f8d 10:14:58 AM: debug encapsulated: UserCodeReport(code: 111111, user: [49, 49, 49, 49, 49, 49], userIdStatus: 1, userIdentifier: 1)
118e76d3-ca3a-455c-a053-c3c161518f8d 10:14:58 AM: debug Entered parse with zw device: 02, command: 9881, payload: 00 63 03 01 01 31 31 31 31 31 31
118e76d3-ca3a-455c-a053-c3c161518f8d 10:14:56 AM: debug setting code 1 to 111111

In case anyone else is trying to use Locstar locks, I’ve been onto my contact at Locstar and she’s manager to get the following list of supported commands from their engineer,.
COMMAND_CLASS_TIME_PARAMETERS2、COMMAND_CLASS_BATTERY3、COMMAND_CLASS_DOOR_LOCK4、COMMAND_CLASS_USER_CODE5、COMMAND_CLASS_SCHEDULE_ENTRY_LOCK_V36、COMMAND_CLASS_DOOR_LOCK_LOGGING7、COMMAND_CLASS_NOTIFICATION_V4

Seems they admit to supporting the NOTIFICATION_CLASS :slight_smile:

I’m still having problem with the Locstar lock and the exception errors.
However looking at the raw data in the expectation I can work out what most of it means:

Eg the following when a code is entered to unlock the lock-
118e76d3-ca3a-455c-a053-c3c161518f8d 7:13:11 PM: warn Exception ‘java.lang.IndexOutOfBoundsException: toIndex = 21’ encountered parsing ‘cmd: 7105,
payload: 06 06 00 FF 06 06 0E 06 63 03 06 01 34 56 78 94 00 01 01 00’ # Code no 6 34567894

I can work out the user no was 6, and the code entered was 34567894 and the lock was unlocked. or for
payload: 06 06 00 FF 06 06 0E 37 63 03 37 01 5B E0 C9 5C 00 00 00 00’

That’s RFID tag no 5 was used and the data in the tag is “5B E0 C9 5C” (which is correct)

If it’s impossible to get SmartThings to parse this data with out an expectation error than I assume I can parse/decode it myself and return the relevant events to the app? Unless anyones knows a better way, I’m still on the learning slop of device handlers etc.