Skip to content

Implement Door Lock CC v4 #171

@dfederm

Description

@dfederm

Door Lock CC is mandatory for controller minimal control (§7.2.5.2). It handles lock/unlock operations, bolt status, and door sensor status for smart locks.

Scope:

  • DoorLockCommandClass : CommandClass<DoorLockCommand> with [CommandClass(CommandClassId.DoorLock)]
    • OperationSetAsync(DoorLockMode mode) - lock/unlock (Secured, Unsecured, UnsecuredWithTimeout, etc.)
    • OperationGetAsync() → current lock mode, door condition (open/closed), bolt/latch status, lock timeout config, target mode + duration (v4)
    • ConfigurationSetAsync(...) - operation type (constant/timed), lock timeout, auto-relock, hold-and-release, block-to-block, twist-assist (v4)
    • ConfigurationGetAsync() → current configuration
    • CapabilitiesGetAsync() → supported operation types, modes, door components, auto-relock support, etc. (v4)
  • Process unsolicited OperationReport from lifeline
  • Note: Door locks almost always require S2 Access Control security - the CC itself works without it, but real-world usage needs security (Implement Security 2 crypto foundation and SecurityManager #147, Implement Security 2 message encapsulation (0x9F) #148, Implement Security 2 key exchange and bootstrapping #149)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions