Description
iOS 18 introduced per-user access schedules for locks via "Guest Access" in the Home app (Anytime / Specific Dates / Specific Days & Times). When trying to configure this for a HomeKey-ESP32 lock, the Home app says "This lock does not support access schedules."
Research
- The schedule enforcement appears to happen at the Home Hub level (HomePod/Apple TV), not the lock itself — the hub decides whether to relay commands based on the guest's schedule
- The HAP Access Control service (
0xDA) is unrelated (it's for media devices)
- The NFC HomeKey protocol has no scheduling fields — it's purely cryptographic authentication
- The AccessCode service (
0x260) has an undocumented "Flags" field that may encode restrictions, documented at rednblkx/homekit-lock-access-code
- No open-source HomeKit lock project has implemented access scheduling
- Commercial locks that support this (Schlage, Yale) are MFi-certified — it's unclear whether MFi certification is required or if specific HAP characteristics/flags would suffice
Questions
- Is there a specific HAP characteristic or flag that needs to be advertised for iOS to enable the Guest Access schedule UI?
- Could it be gated behind MFi certification?
- Has anyone sniffed the HAP traffic from a commercial lock that supports this to see what's different?
Workaround
The firmware already publishes issuerId/endpointId via MQTT, so per-user schedule logic can be implemented in Home Assistant at the automation layer.
Description
iOS 18 introduced per-user access schedules for locks via "Guest Access" in the Home app (Anytime / Specific Dates / Specific Days & Times). When trying to configure this for a HomeKey-ESP32 lock, the Home app says "This lock does not support access schedules."
Research
0xDA) is unrelated (it's for media devices)0x260) has an undocumented "Flags" field that may encode restrictions, documented at rednblkx/homekit-lock-access-codeQuestions
Workaround
The firmware already publishes
issuerId/endpointIdvia MQTT, so per-user schedule logic can be implemented in Home Assistant at the automation layer.