Kwikset SmartCode 888 on VeraEdge-G150, 2.0.89 - can't update user codes via websocket

Hello,

I’m running the linux firmware and am trying to set the userCode on a Kwikset 888. Using the websocket API I can lock/unlock the lock successfully with:

{
  "method": "hub.item.value.set",
  "id": "1604717670278",
  "params": {
    "_id": "5fa6292700000030860bd20e",
    "value": "secured"
  }
}

But when I try to update the key codes with the following, it doesn’t give an error or update the key codes:

{       
  "method":"hub.item.value.set",
  "id":"1604717670278",
  "params":{
    "_id": "5fa6292700000030860bd211",
    "valueType": "dictionary",
    "elementType": "dictionary.userCode",
    "value": {
      "1": {
        "code": "16345",
        "name": "my code"
      }
    }
  }
}

When I execute the above it does broadcast a bunch of hub.item.updated messages (until the value hits 100):

{
  id: 'ui_broadcast',
  msg_subclass: 'hub.item.updated',
  result: {
    _id: '5fa6292600000030860bd209',
    deviceCategory: 'door_lock',
    deviceId: '5fa6292600000030860bd206',
    deviceName: 'SmartCode 888',
    deviceSubcategory: '',
    name: 'user_codes_scan_progress',
    notifications: null,
    roomName: '',
    serviceNotification: false,
    syncNotification: false,
    userNotification: false,
    value: 100,
    valueFormatted: '100',
    valueType: 'int'
  }
}

But the key codes don’t update. Any advice on what I should try next?

Thanks!