Owners of Schlage smart locks will soon be able to hand out temporary PIN codes straight from Home Assistant. On 27 October 2026 a pull request by Aaron (abpei) that adds scheduled access codes to the Schlage integration was merged into Home Assistant's development branch. It was reviewed by MartinHjelmare, epenet, iluvdata and joostlek.

What changes

Until now the schlage.add_code action took a name, the code itself and an optional notify_on_use flag. Every code it created was permanent, so a code for a cleaner or a plumber had to be deleted later by hand or by a separate automation.

The action now accepts two optional fields, start_datetime and end_datetime. If you fill in both, the lock accepts the PIN only within that window. The Schlage app already offered this kind of temporary code, and the integration now uses the same mechanism through the pyschlage library.

The rules are simple:

  • With neither field, the code stays permanent, exactly as before. Existing automations and scripts keep working.
  • With only one of the two fields, the action stops with an error asking for both dates.
  • A start time later than the end time also ends with an error.
  • Times are converted to UTC before they are sent to Schlage, so you can enter them in local time.

The schlage.get_codes action also returns more data. Each PIN now comes with its access_code_id and a schedule field. For a temporary code it shows the type and both dates, for a permanent one it returns null, and recurring schedules created in the Schlage app are returned as structured data. That makes it possible to check from an automation which codes are still active.

Example uses

A typical case is a guest booking: an automation can create a code for the arrival day and set it to expire at checkout, so nobody has to remember to remove it. The same goes for one-off visits by tradespeople or a dog walker who only needs access in the afternoon.

The Schlage integration talks to locks through the Schlage cloud, not over a local radio connection, so the lock and Home Assistant both need internet access for new codes to arrive.

When it arrives

The change is in the development branch, with documentation submitted in a separate pull request. It is not in a stable release yet. If it is not part of Home Assistant 2026.11, it should arrive in the following monthly release. After updating, the new fields will appear in the schlage.add_code action form in the automation editor.