Great new feature! You now have more control of your pin codes!
Yonomi Platform now has a new trait that adds functionality to pin code creation and manipulation. This new trait BetaPinCodeCredentials provides unique identifiers for each pin code that is added to a lock. In addition, pin code schedules are no longer limited to be set at the top of the hour.
How it works:
Prior to this new trait, the PinCodeCredential trait consisted of the pincode, pincode name and any schedules. BetaPinCodeCredentials extends on these concepts and adds more specificity.
New parameters have been added to better organize pin codes and their functionality.
- alwaysActive gives the ability to set pincodes with constant access
- Schedules have been separated into:
- recurringSchedules - still use RRULE to specify when the pin code is active with the addition of
BYMINUTE
to specify an exact time - temporarySchedules - will now use ISO 8601 format to specify the start and end of a schedule
- recurringSchedules - still use RRULE to specify when the pin code is active with the addition of
Here is an example of the format in which pin codes will be created:
mutation makeAddPinCodeCredentialActionRequest($deviceId: ID!) { actionBetaPinCodeCredentialsCreatePinCodeCredential( deviceId: $deviceId pinCodeCredential: { pinCode: "2914" name: "New pin" alwaysActive: false recurringSchedules: [ { duration: 181 rrule: "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO;BYHOUR=2,7" } ] temporarySchedules: [ { startDatetime: “2023-10-20T08:00:00.000Z”, endDatetime: “2024-10-20T08:00:00.000Z” } ] } ) { actionId } }
Once a pin code is created using BetaPinCodeCredentials, a webhook will be sent with this pin codes UUID.
{ "type": "deviceEventQueueAction", "content": { "deviceId": "6b14e804-2117-4587-acd5-6d499b0871eb", "actionId": "69ce622c-3e9e-4df5-a35f-2aefa04e829b", "traitName": "BetaPinCodeCredentials", "traitInstance": "default", "actionName": "createPinCodeCredential", "parameters": { "pinCodeCredential": { "pinCode": "2914", "name": "New pin", "alwaysActive": false, "recurringSchedules": [ { "duration": 181, "rrule": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO;BYHOUR=2,7" } ], "temporarySchedules": [ { "startDatetime": "2023-10-20T08:00:00.000Z", "endDatetime": "2024-10-20T08:00:00.000Z" } ], "id": "879c5ee4-2bed-48cc-bb00-602ef428581d" } } } }
The UUID will be required when updating or deleting this pin code.
mutation makeModifyPinCodeCredentialActionRequest($deviceId: ID!) { actionBetaPinCodeCredentialsUpdatePinCodeCredential( deviceId: $deviceId pinCodeCredential: { pinCode: "2961" name: "New pin" id: "879c5ee4-2bed-48cc-bb00-602ef428581d" alwaysActive: true recurringSchedules: [] temporarySchedules: [] } ) { actionId } }
Change Impact
-
With this change, developers are now able to match schedule windows to exact times for reservations, giving access only in the window that is allotted.
-
An access code now has a unique identifier allowing developers to track access code lifecycles accurately.
How to begin using the new feature:
-
Verify that you have Beta traits enabled by reaching out to a Customer Success Engineer. If not, Customer Success can enable it for you.
-
Access BetaPinCodeCredentials trait documentation in the BetaPinCodeCredentials Trait section of the Trait Reference.
**Note:
- Schlage locks do not allow both temporary and recurring schedules set to one pin code
- This is a Beta trait with early access and we are collecting feedback that may lead to breaking changes. We do not recommend implementing this for production purposes.