HomeKitPairingTlvType

public enum HomeKitPairingTlvType : UInt8
extension HomeKitPairingTlvType: Encodable

HomeKit TLV8 Types for Pairing

  • Method to use for pairing

    Declaration

    Swift

    case method = 0x00
  • Identifier for authentication

    Declaration

    Swift

    case identifier = 0x01
  • 16+ bytes of random salt

    Declaration

    Swift

    case salt = 0x02
  • Curve25519, SRP public key, or signed Ed25519 key

    Declaration

    Swift

    case publicKey = 0x03
  • Ed25519 or SRP proof

    Declaration

    Swift

    case proof = 0x04
  • Encrypted data with auth tag at end

    Declaration

    Swift

    case encryptedData = 0x05
  • State of the pairing process. 1=M1, 2=M2, etc

    Declaration

    Swift

    case state = 0x06
  • Error code. Must only be present if error code is not 0.

    Declaration

    Swift

    case errorCode = 0x07
  • Seconds to delay until retrying a setup code

    Declaration

    Swift

    case retryDelay = 0x08
  • X.509 Certificate

    Declaration

    Swift

    case certificate = 0x09
  • Ed25519 or Apple Authentication Coprocessor signature

    Declaration

    Swift

    case signature = 0x0A
  • Bit value describing permissions of the controller being added.

    • None (0x00) : Regular user
    • Bit 1 (0x01) : Admin that is able to add and remove pairings against the accessory.

    Declaration

    Swift

    case permissions = 0x0B
  • Non-last fragment of data. If length is 0, itʼs an ACK

    Declaration

    Swift

    case fragmentData = 0x0C
  • Last fragment of data

    Declaration

    Swift

    case fragmentLast = 0x0D
  • Pairing Type Flags

    Declaration

    Swift

    case flags = 0x13
  • Zero-length TLV that separates different TLVs in a list

    Declaration

    Swift

    case separator = 0xFF
  • Name of the Type

    Declaration

    Swift

    var name: String { get }
  • Undocumented

    Declaration

    Swift

    public var description: String { get }
  • CodingKey with a Type and Value

    See more

    Declaration

    Swift

    public enum CodingKeys : CodingKey
  • Encodes this value into the given encoder.

    If the value fails to encode anything, encoder will encode an empty keyed container in its place.

    This function throws an error if any values are invalid for the given encoder’s format.

    Declaration

    Swift

    public func encode(to encoder: Encoder) throws

    Parameters

    encoder

    The encoder to write data to.