A service/helper integration that allows one set codes on locks using the August Integration via the Seam platform.
Seam (currently) allows users to associate a few accounts/devices for free. This integration is not supported by August, Seam, or Yale.
- Creates a sensor in the August device with a count of the access codes set on the current lock.
- Exposes services to create, modify, and delete access codes.
A secure and publically available Home Assistant either by your own means or via Home Assistant Cloud (Nabu Casa) as this integration requires "Cloud Push" update leveraging webhooks.
- Download the latest release from the GitHub Releases page.
- Extract the downloaded archive.
- Copy the
custom_components/august_access_codesfolder to your Home Assistantcustom_componentsdirectory.- Example:
/config/custom_components/august_access_codes
- Example:
- Restart Home Assistant.
-
Create a Seam account and API key
- Go to https://console.seam.co and create an account.
- Create a new Seam workspace following these instructions. The name is not important.
- Associate your Yale Home or August account by navigating to the "Devices" tab and clicking "Add Device" and following the onscreen instructions to complete the OAuth process to give Seam access to your locks.
- Create an API Key following these instructions. Copy this as you are only allowed to see it once!
-
Configure the integration in Home Assistant
OR
- In Home Assistant, navigate to Settings > Devices & Services.
- Click Add Integration.
- Search for "August Access Codes" and select it.
-
Enter your Seam API key and the setup process will complete.
Note
In order for this integration to work please ensure:
- The base August Access Integration is already configured.
- The devices can be seen in the Seam Console > Devices.
This has only been tested with a single Yale lock. Please create an issue if you encounter any issues.
If you aren't receiving updates, enable debugging on this integration and make sure that you are receiving webhook updates from Seam.
Note that it can take several minutes for Seam to push the code changes to your lock.
The integration will add a sensor with a count of the number of access codes active on the configured devices. The sensor will be nested under the August device.
The sensor attributes will contain two json keyed lists:
managed_access_codes- the json representations of the managed access codes (the codes configured/manipulated by Seam/this integration)unmanaged_access_codes- similar to themanaged_access_codesbut these cannot be modified by Seam or this integration (see Warning below).
Warning
This integration does not support manipulating "unmanaged" access codes (i.e. codes set directly on the device or using the native app). Seam claims exposes endpoints to manipulate these codes or to convert unmanaged these to managed codes. However, each time these endpoints were tested the device would disassociate with the Yale/Augsut account and not longer be accesible
august_access_codes.create_access_code - Add a managed access code to a lock.
| Parameter | Required | Description/Notes |
|---|---|---|
target |
required | Entity or Device of target lock |
code |
requided | Numeric access code 4 to 8 digits |
name |
required | Name of code (user's name) |
start_time |
optional | Date/Time code becomes valid (local time zone) |
stop_time |
optional | Date/Time code will become invalid |
Note
Both start_time and end_time are required when creating time-based codes.
august_access_codes.modify_access_code - Modify a managed access code on a lock.
| Parameter | Required | Description/Notes |
|---|---|---|
config_entry_id |
required | ID of the config entry of the Seam API where the managed access code exists |
access_code_id |
required | The ID assigned to the access code by Seam. This can be found in the sensor attributes for the lock |
code |
requided | Numeric access code 4 to 8 digits |
name |
required | Name of code (user's name) |
start_time |
optional | Date/Time code becomes valid (local time zone) |
stop_time |
optional | Date/Time code will become invalid |
Note
Both start_time and end_time are required when creating time-based codes.
august_access_codes.delete_access_code - Delete a managed access code on a lock.
| Parameter | Required | Description/Notes |
|---|---|---|
config_entry_id |
required | ID of the config entry of the Seam API where the managed access code exists |
access_code_id |
required | The ID assigned to the access code by Seam. This can be found in the sensor attributes for the lock |
If you encounter any issues or have feature requests, please open an issue on the GitHub Issues page.
Contributions are welcome! Feel free to submit pull requests to improve this integration.
This project is licensed under the MIT License. See the LICENSE file for details.