Skip to content

Implement Door Lock CC v4 #171

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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