-
-
Notifications
You must be signed in to change notification settings - Fork 18
Unsupported Integrations
Many lock integrations don't yet have a Lock Code Manager provider, but could get one (see Adding a Provider). The integrations on this page are different: a provider for them is blocked by a limitation in their underlying library or protocol, not by nobody having written one yet.
The Home Assistant lock platform only requires lock/unlock operations. User code management is optional, and these integrations don't expose it.
"No provider" is not the same as "no support." A provider is how Lock Code Manager pushes codes onto a device. A keypad that reports what somebody typed can work with Lock Code Manager from the other direction, without one — see External Keypads. That is the situation ESPHome is in.
Status: No provider — but keypads are supported another way
The ESPHome lock component only supports lock/unlock/open commands. There is no API for managing user codes, so Lock Code Manager cannot push a PIN onto an ESPHome device, and there is no ESPHome provider.
That is not the same as unsupported. An ESPHome keypad works with Lock Code Manager in the
opposite direction: the keypad reports the code that was entered, and
lock_code_manager.use_credential checks it against
the users, PINs and conditions you already configured, then records the use. A configuration
can manage no locks at all, so there is nothing to invent a lock for. See
External Keypads for device-side recipes.
What that gets you:
- One PIN and one schedule covering the keypad and your real locks together
- Disable a user and their code stops working at the keypad too
- The use recorded on that person's event entity, like any other
What it does not: Lock Code Manager never opens anything. It answers and records; your automation decides what happens next.
What would need to change for a provider: ESPHome would need to implement user code management in its firmware and expose it through the ESPHome API. That would let Lock Code Manager program codes onto the device instead of checking them on the way past — a significant feature addition to the ESPHome project.
Status: Not possible
Four integrations exist for Yale/August locks:
| Integration | Library | Notes |
|---|---|---|
august |
yalexs |
Can READ PINs but cannot create/update/delete them |
yale |
yalexs |
Same library as august - can READ PINs but cannot manage them |
yalexs_ble |
yalexs-ble |
Only supports lock/unlock/securemode via Bluetooth |
yale_smart_alarm |
yalesmartalarmclient |
Can use PIN to unlock, but cannot manage PINs |
The yalexs library is the most promising - it has an async_get_pins() method that
returns full PIN information including slot numbers, codes, user names, and access schedules.
However, there are no methods to create, update, or delete PINs.
What would need to change: The yalexs library would need to add PIN management methods.
This likely requires reverse-engineering August's undocumented API endpoints for PIN
creation and deletion.
If you're interested in adding support for one of these integrations, the blocker is typically the underlying Python library - not Lock Code Manager itself. Contributing user code management features to those upstream libraries would enable LCM support.
- ESPHome: esphome/esphome
- Yale/August: bdraco/yalexs
Getting Started
UI
Features
- Managing Guests and Rentals
- Services and Actions
- Blueprints
- Tracking lock state change events
- Using Condition Entities
- Unsupported Condition Entities
Advanced
Development
Troubleshooting
FAQ
Supported Integrations