Documentation Archive Developer
Search

HomeKit Changes for Swift

HomeKit

Added HMError.init(_nsError: NSError)
Modified HMAccessory
DeclarationProtocols
From
class HMAccessory : NSObject {
    var name: String { get }
    @NSCopying var identifier: NSUUID { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    weak var delegate: HMAccessoryDelegate?
    var reachable: Bool { get }
    var bridged: Bool { get }
    var identifiersForBridgedAccessories: [NSUUID]? { get }
    var uniqueIdentifiersForBridgedAccessories: [NSUUID]? { get }
    var category: HMAccessoryCategory { get }
    weak var room: HMRoom? { get }
    var services: [HMService] { get }
    var blocked: Bool { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func identifyWithCompletionHandler(_ completion: (NSError?) -> Void)
}
--
To
class HMAccessory : NSObject {
    var name: String { get }
    var identifier: UUID { get }
    var uniqueIdentifier: UUID { get }
    weak var delegate: HMAccessoryDelegate?
    var isReachable: Bool { get }
    var isBridged: Bool { get }
    var identifiersForBridgedAccessories: [UUID]? { get }
    var uniqueIdentifiersForBridgedAccessories: [UUID]? { get }
    var category: HMAccessoryCategory { get }
    weak var room: HMRoom? { get }
    var services: [HMService] { get }
    var isBlocked: Bool { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func identify(completionHandler completion: @escaping (Error?) -> Swift.Void)
    var cameraProfiles: [HMCameraProfile]? { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMAccessory : CVarArg {
}
extension HMAccessory : Equatable, Hashable {
    var hashValue: Int { get }
}
extension HMAccessory {
    var cameraProfiles: [HMCameraProfile]? { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func identifyWithCompletionHandler(_ completion: (NSError?) -> Void)
To
func identify(completionHandler completion: @escaping (Error?) -> Swift.Void)

Declaration
From
var blocked: Bool { get }
To
var isBlocked: Bool { get }

Declaration
From
var bridged: Bool { get }
To
var isBridged: Bool { get }

Declaration
From
var reachable: Bool { get }
To
var isReachable: Bool { get }

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Declaration
From
var uniqueIdentifiersForBridgedAccessories: [NSUUID]? { get }
To
var uniqueIdentifiersForBridgedAccessories: [UUID]? { get }

DeclarationProtocols
From
class HMAccessoryCategory : NSObject {
    var categoryType: String { get }
    var localizedDescription: String { get }
}
--
To
class HMAccessoryCategory : NSObject {
    var categoryType: String { get }
    var localizedDescription: String { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMAccessoryCategory : CVarArg {
}
extension HMAccessoryCategory : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
protocol HMAccessoryDelegate : NSObjectProtocol {
    optional func accessoryDidUpdateName(_ accessory: HMAccessory)
    optional func accessory(_ accessory: HMAccessory, didUpdateNameForService service: HMService)
    optional func accessory(_ accessory: HMAccessory, didUpdateAssociatedServiceTypeForService service: HMService)
    optional func accessoryDidUpdateServices(_ accessory: HMAccessory)
    optional func accessoryDidUpdateReachability(_ accessory: HMAccessory)
    optional func accessory(_ accessory: HMAccessory, service service: HMService, didUpdateValueForCharacteristic characteristic: HMCharacteristic)
}
To
protocol HMAccessoryDelegate : NSObjectProtocol {
    optional func accessoryDidUpdateName(_ accessory: HMAccessory)
    optional func accessory(_ accessory: HMAccessory, didUpdateNameFor service: HMService)
    optional func accessory(_ accessory: HMAccessory, didUpdateAssociatedServiceTypeFor service: HMService)
    optional func accessoryDidUpdateServices(_ accessory: HMAccessory)
    optional func accessoryDidUpdateReachability(_ accessory: HMAccessory)
    optional func accessory(_ accessory: HMAccessory, service service: HMService, didUpdateValueFor characteristic: HMCharacteristic)
}

Declaration
From
optional func accessory(_ accessory: HMAccessory, didUpdateAssociatedServiceTypeForService service: HMService)
To
optional func accessory(_ accessory: HMAccessory, didUpdateAssociatedServiceTypeFor service: HMService)

Declaration
From
optional func accessory(_ accessory: HMAccessory, didUpdateNameForService service: HMService)
To
optional func accessory(_ accessory: HMAccessory, didUpdateNameFor service: HMService)

Declaration
From
optional func accessory(_ accessory: HMAccessory, service service: HMService, didUpdateValueForCharacteristic characteristic: HMCharacteristic)
To
optional func accessory(_ accessory: HMAccessory, service service: HMService, didUpdateValueFor characteristic: HMCharacteristic)

Modified HMAction
DeclarationProtocols
From
class HMAction : NSObject {
    @NSCopying var uniqueIdentifier: NSUUID { get }
}
--
To
class HMAction : NSObject {
    var uniqueIdentifier: UUID { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMAction : CVarArg {
}
extension HMAction : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Modified HMActionSet
DeclarationProtocols
From
class HMActionSet : NSObject {
    init()
    var name: String { get }
    var actions: Set<HMAction> { get }
    var executing: Bool { get }
    var actionSetType: String { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func addAction(_ action: HMAction, completionHandler completion: (NSError?) -> Void)
    func removeAction(_ action: HMAction, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMActionSet : NSObject {
    init()
    var name: String { get }
    var actions: Set<HMAction> { get }
    var isExecuting: Bool { get }
    var actionSetType: String { get }
    var uniqueIdentifier: UUID { get }
    var lastExecutionDate: Date { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addAction(_ action: HMAction, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeAction(_ action: HMAction, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMActionSet : CVarArg {
}
extension HMActionSet : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var executing: Bool { get }
To
var isExecuting: Bool { get }

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

DeclarationProtocols
From
class HMCharacteristic : NSObject {
    var characteristicType: String { get }
    var localizedDescription: String { get }
    weak var service: HMService? { get }
    var properties: [String] { get }
    var metadata: HMCharacteristicMetadata? { get }
    @NSCopying var value: AnyObject? { get }
    var notificationEnabled: Bool { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func writeValue(_ value: AnyObject?, completionHandler completion: (NSError?) -> Void)
    func readValueWithCompletionHandler(_ completion: (NSError?) -> Void)
    func enableNotification(_ enable: Bool, completionHandler completion: (NSError?) -> Void)
    func updateAuthorizationData(_ data: NSData?, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMCharacteristic : NSObject {
    var characteristicType: String { get }
    var localizedDescription: String { get }
    weak var service: HMService? { get }
    var properties: [String] { get }
    var metadata: HMCharacteristicMetadata? { get }
    var value: Any? { get }
    var isNotificationEnabled: Bool { get }
    var uniqueIdentifier: UUID { get }
    func writeValue(_ value: Any?, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func readValue(completionHandler completion: @escaping (Error?) -> Swift.Void)
    func enableNotification(_ enable: Bool, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func updateAuthorizationData(_ data: Data?, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMCharacteristic : CVarArg {
}
extension HMCharacteristic : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func enableNotification(_ enable: Bool, completionHandler completion: (NSError?) -> Void)
To
func enableNotification(_ enable: Bool, completionHandler completion: @escaping (Error?) -> Swift.Void)

Declaration
From
var notificationEnabled: Bool { get }
To
var isNotificationEnabled: Bool { get }

Declaration
From
func readValueWithCompletionHandler(_ completion: (NSError?) -> Void)
To
func readValue(completionHandler completion: @escaping (Error?) -> Swift.Void)

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Declaration
From
@NSCopying var value: AnyObject? { get }
To
var value: Any? { get }

Declaration
From
func writeValue(_ value: AnyObject?, completionHandler completion: (NSError?) -> Void)
To
func writeValue(_ value: Any?, completionHandler completion: @escaping (Error?) -> Swift.Void)

DeclarationGenerics[Constraints]Generics[Parameters]
From
class HMCharacteristicEvent : HMEvent {
    init()
    init(characteristic characteristic: HMCharacteristic, triggerValue triggerValue: NSCopying?)
    var characteristic: HMCharacteristic { get }
    @NSCopying var triggerValue: NSCopying? { get }
    func updateTriggerValue(_ triggerValue: NSCopying?, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMCharacteristicEvent<TriggerValueType : NSCopying> : HMEvent {
    init()
    init(characteristic characteristic: HMCharacteristic, triggerValue triggerValue: TriggerValueType?)
    var characteristic: HMCharacteristic { get }
    @NSCopying var triggerValue: TriggerValueType? { get }
    func updateTriggerValue(_ triggerValue: TriggerValueType?, completionHandler completion: @escaping (Error?) -> Swift.Void)
}
TriggerValueType : NSCopying
TriggerValueType

Declaration
From
@NSCopying var triggerValue: NSCopying? { get }
To
@NSCopying var triggerValue: TriggerValueType? { get }

DeclarationProtocols
From
class HMCharacteristicMetadata : NSObject {
    var minimumValue: NSNumber? { get }
    var maximumValue: NSNumber? { get }
    var stepValue: NSNumber? { get }
    var maxLength: NSNumber? { get }
    var format: String? { get }
    var units: String? { get }
    var manufacturerDescription: String? { get }
}
--
To
class HMCharacteristicMetadata : NSObject {
    var minimumValue: NSNumber? { get }
    var maximumValue: NSNumber? { get }
    var stepValue: NSNumber? { get }
    var maxLength: NSNumber? { get }
    var format: String? { get }
    var units: String? { get }
    var manufacturerDescription: String? { get }
    var validValues: [NSNumber]? { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMCharacteristicMetadata : CVarArg {
}
extension HMCharacteristicMetadata : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
enum HMCharacteristicValueAirParticulateSize : Int {
    case Size2_5
    case Size10
}
To
enum HMCharacteristicValueAirParticulateSize : Int {
    case size2_5
    case size10
}

Declaration
From
case Size10
To
case size10

Declaration
From
case Size2_5
To
case size2_5

Declaration
From
enum HMCharacteristicValueAirQuality : Int {
    case Unknown
    case Excellent
    case Good
    case Fair
    case Inferior
    case Poor
}
To
enum HMCharacteristicValueAirQuality : Int {
    case unknown
    case excellent
    case good
    case fair
    case inferior
    case poor
}

Declaration
From
case Excellent
To
case excellent

Declaration
From
case Fair
To
case fair

Declaration
From
case Good
To
case good

Declaration
From
case Inferior
To
case inferior

Declaration
From
case Poor
To
case poor

Declaration
From
case Unknown
To
case unknown

Declaration
From
enum HMCharacteristicValueCurrentSecuritySystemState : Int {
    case StayArm
    case AwayArm
    case NightArm
    case Disarmed
    case Triggered
}
To
enum HMCharacteristicValueCurrentSecuritySystemState : Int {
    case stayArm
    case awayArm
    case nightArm
    case disarmed
    case triggered
}

Declaration
From
case AwayArm
To
case awayArm

Declaration
From
case Disarmed
To
case disarmed

Declaration
From
case NightArm
To
case nightArm

Declaration
From
case StayArm
To
case stayArm

Declaration
From
case Triggered
To
case triggered

Declaration
From
enum HMCharacteristicValueDoorState : Int {
    case Open
    case Closed
    case Opening
    case Closing
    case Stopped
}
To
enum HMCharacteristicValueDoorState : Int {
    case open
    case closed
    case opening
    case closing
    case stopped
}

Declaration
From
case Closed
To
case closed

Declaration
From
case Closing
To
case closing

Declaration
From
case Open
To
case open

Declaration
From
case Opening
To
case opening

Declaration
From
case Stopped
To
case stopped

Declaration
From
enum HMCharacteristicValueHeatingCooling : Int {
    case Off
    case Heat
    case Cool
    case Auto
}
To
enum HMCharacteristicValueHeatingCooling : Int {
    case off
    case heat
    case cool
    case auto
}

Declaration
From
case Auto
To
case auto

Declaration
From
case Cool
To
case cool

Declaration
From
case Heat
To
case heat

Declaration
From
case Off
To
case off

Declaration
From
enum HMCharacteristicValueLockMechanismLastKnownAction : Int {
    case SecuredUsingPhysicalMovementInterior
    case UnsecuredUsingPhysicalMovementInterior
    case SecuredUsingPhysicalMovementExterior
    case UnsecuredUsingPhysicalMovementExterior
    case SecuredWithKeypad
    case UnsecuredWithKeypad
    case SecuredRemotely
    case UnsecuredRemotely
    case SecuredWithAutomaticSecureTimeout
    case SecuredUsingPhysicalMovement
    case UnsecuredUsingPhysicalMovement
}
To
enum HMCharacteristicValueLockMechanismLastKnownAction : Int {
    case securedUsingPhysicalMovementInterior
    case unsecuredUsingPhysicalMovementInterior
    case securedUsingPhysicalMovementExterior
    case unsecuredUsingPhysicalMovementExterior
    case securedWithKeypad
    case unsecuredWithKeypad
    case securedRemotely
    case unsecuredRemotely
    case securedWithAutomaticSecureTimeout
    case securedUsingPhysicalMovement
    case unsecuredUsingPhysicalMovement
}

Declaration
From
case SecuredRemotely
To
case securedRemotely

Declaration
From
case SecuredUsingPhysicalMovement
To
case securedUsingPhysicalMovement

Declaration
From
case SecuredUsingPhysicalMovementExterior
To
case securedUsingPhysicalMovementExterior

Declaration
From
case SecuredUsingPhysicalMovementInterior
To
case securedUsingPhysicalMovementInterior

Declaration
From
case SecuredWithAutomaticSecureTimeout
To
case securedWithAutomaticSecureTimeout

Declaration
From
case SecuredWithKeypad
To
case securedWithKeypad

Declaration
From
case UnsecuredRemotely
To
case unsecuredRemotely

Declaration
From
case UnsecuredUsingPhysicalMovement
To
case unsecuredUsingPhysicalMovement

Declaration
From
case UnsecuredUsingPhysicalMovementExterior
To
case unsecuredUsingPhysicalMovementExterior

Declaration
From
case UnsecuredUsingPhysicalMovementInterior
To
case unsecuredUsingPhysicalMovementInterior

Declaration
From
case UnsecuredWithKeypad
To
case unsecuredWithKeypad

Declaration
From
enum HMCharacteristicValueLockMechanismState : Int {
    case Unsecured
    case Secured
    case Jammed
    case Unknown
}
To
enum HMCharacteristicValueLockMechanismState : Int {
    case unsecured
    case secured
    case jammed
    case unknown
}

Declaration
From
case Jammed
To
case jammed

Declaration
From
case Secured
To
case secured

Declaration
From
case Unknown
To
case unknown

Declaration
From
case Unsecured
To
case unsecured

Declaration
From
enum HMCharacteristicValuePositionState : Int {
    case Closing
    case Opening
    case Stopped
}
To
enum HMCharacteristicValuePositionState : Int {
    case closing
    case opening
    case stopped
}

Declaration
From
case Closing
To
case closing

Declaration
From
case Opening
To
case opening

Declaration
From
case Stopped
To
case stopped

Declaration
From
enum HMCharacteristicValueRotationDirection : Int {
    case Clockwise
    case CounterClockwise
}
To
enum HMCharacteristicValueRotationDirection : Int {
    case clockwise
    case counterClockwise
}

Declaration
From
case Clockwise
To
case clockwise

Declaration
From
case CounterClockwise
To
case counterClockwise

Declaration
From
enum HMCharacteristicValueTargetSecuritySystemState : Int {
    case StayArm
    case AwayArm
    case NightArm
    case Disarm
}
To
enum HMCharacteristicValueTargetSecuritySystemState : Int {
    case stayArm
    case awayArm
    case nightArm
    case disarm
}

Declaration
From
case AwayArm
To
case awayArm

Declaration
From
case Disarm
To
case disarm

Declaration
From
case NightArm
To
case nightArm

Declaration
From
case StayArm
To
case stayArm

Declaration
From
enum HMCharacteristicValueTemperatureUnit : Int {
    case Celsius
    case Fahrenheit
}
To
enum HMCharacteristicValueTemperatureUnit : Int {
    case celsius
    case fahrenheit
}

Declaration
From
case Celsius
To
case celsius

Declaration
From
case Fahrenheit
To
case fahrenheit

DeclarationGenerics[Constraints]Generics[Parameters]
From
class HMCharacteristicWriteAction : HMAction {
    convenience init()
    init(characteristic characteristic: HMCharacteristic, targetValue targetValue: NSCopying)
    var characteristic: HMCharacteristic { get }
    @NSCopying var targetValue: NSCopying { get }
    func updateTargetValue(_ targetValue: NSCopying, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMCharacteristicWriteAction<TargetValueType : NSCopying> : HMAction {
    convenience init()
    init(characteristic characteristic: HMCharacteristic, targetValue targetValue: TargetValueType)
    var characteristic: HMCharacteristic { get }
    @NSCopying var targetValue: TargetValueType { get }
    func updateTargetValue(_ targetValue: TargetValueType, completionHandler completion: @escaping (Error?) -> Swift.Void)
}
TargetValueType : NSCopying
TargetValueType

Declaration
From
@NSCopying var targetValue: NSCopying { get }
To
@NSCopying var targetValue: TargetValueType { get }

Declaration
From
enum HMErrorCode : Int {
    case AlreadyExists
    case NotFound
    case InvalidParameter
    case AccessoryNotReachable
    case ReadOnlyCharacteristic
    case WriteOnlyCharacteristic
    case NotificationNotSupported
    case OperationTimedOut
    case AccessoryPoweredOff
    case AccessDenied
    case ObjectAssociatedToAnotherHome
    case ObjectNotAssociatedToAnyHome
    case ObjectAlreadyAssociatedToHome
    case AccessoryIsBusy
    case OperationInProgress
    case AccessoryOutOfResources
    case InsufficientPrivileges
    case AccessoryPairingFailed
    case InvalidDataFormatSpecified
    case NilParameter
    case UnconfiguredParameter
    case InvalidClass
    case OperationCancelled
    case RoomForHomeCannotBeInZone
    case NoActionsInActionSet
    case NoRegisteredActionSets
    case MissingParameter
    case FireDateInPast
    case RoomForHomeCannotBeUpdated
    case ActionInAnotherActionSet
    case ObjectWithSimilarNameExistsInHome
    case HomeWithSimilarNameExists
    case RenameWithSimilarName
    case CannotRemoveNonBridgeAccessory
    case NameContainsProhibitedCharacters
    case NameDoesNotStartWithValidCharacters
    case UserIDNotEmailAddress
    case UserDeclinedAddingUser
    case UserDeclinedRemovingUser
    case UserDeclinedInvite
    case UserManagementFailed
    case RecurrenceTooSmall
    case InvalidValueType
    case ValueLowerThanMinimum
    case ValueHigherThanMaximum
    case StringLongerThanMaximum
    case HomeAccessNotAuthorized
    case OperationNotSupported
    case MaximumObjectLimitReached
    case AccessorySentInvalidResponse
    case StringShorterThanMinimum
    case GenericError
    case SecurityFailure
    case CommunicationFailure
    case MessageAuthenticationFailed
    case InvalidMessageSize
    case AccessoryDiscoveryFailed
    case ClientRequestError
    case AccessoryResponseError
    case NameDoesNotEndWithValidCharacters
    case AccessoryIsBlocked
    case InvalidAssociatedServiceType
    case ActionSetExecutionFailed
    case ActionSetExecutionPartialSuccess
    case ActionSetExecutionInProgress
    case AccessoryOutOfCompliance
    case DataResetFailure
    case NotificationAlreadyEnabled
    case RecurrenceMustBeOnSpecifiedBoundaries
    case DateMustBeOnSpecifiedBoundaries
    case CannotActivateTriggerTooFarInFuture
    case RecurrenceTooLarge
    case ReadWritePartialSuccess
    case ReadWriteFailure
    case NotSignedIntoiCloud
    case KeychainSyncNotEnabled
    case CloudDataSyncInProgress
    case NetworkUnavailable
    case AddAccessoryFailed
    case MissingEntitlement
    case CannotUnblockNonBridgeAccessory
    case DeviceLocked
    case CannotRemoveBuiltinActionSet
    case LocationForHomeDisabled
    case NotAuthorizedForLocationServices
    case ReferToUserManual
}
To
enum Code : Int {
        typealias _ErrorType = HMError
        case alreadyExists
        case notFound
        case invalidParameter
        case accessoryNotReachable
        case readOnlyCharacteristic
        case writeOnlyCharacteristic
        case notificationNotSupported
        case operationTimedOut
        case accessoryPoweredOff
        case accessDenied
        case objectAssociatedToAnotherHome
        case objectNotAssociatedToAnyHome
        case objectAlreadyAssociatedToHome
        case accessoryIsBusy
        case operationInProgress
        case accessoryOutOfResources
        case insufficientPrivileges
        case accessoryPairingFailed
        case invalidDataFormatSpecified
        case nilParameter
        case unconfiguredParameter
        case invalidClass
        case operationCancelled
        case roomForHomeCannotBeInZone
        case noActionsInActionSet
        case noRegisteredActionSets
        case missingParameter
        case fireDateInPast
        case roomForHomeCannotBeUpdated
        case actionInAnotherActionSet
        case objectWithSimilarNameExistsInHome
        case homeWithSimilarNameExists
        case renameWithSimilarName
        case cannotRemoveNonBridgeAccessory
        case nameContainsProhibitedCharacters
        case nameDoesNotStartWithValidCharacters
        case userIDNotEmailAddress
        case userDeclinedAddingUser
        case userDeclinedRemovingUser
        case userDeclinedInvite
        case userManagementFailed
        case recurrenceTooSmall
        case invalidValueType
        case valueLowerThanMinimum
        case valueHigherThanMaximum
        case stringLongerThanMaximum
        case homeAccessNotAuthorized
        case operationNotSupported
        case maximumObjectLimitReached
        case accessorySentInvalidResponse
        case stringShorterThanMinimum
        case genericError
        case securityFailure
        case communicationFailure
        case messageAuthenticationFailed
        case invalidMessageSize
        case accessoryDiscoveryFailed
        case clientRequestError
        case accessoryResponseError
        case nameDoesNotEndWithValidCharacters
        case accessoryIsBlocked
        case invalidAssociatedServiceType
        case actionSetExecutionFailed
        case actionSetExecutionPartialSuccess
        case actionSetExecutionInProgress
        case accessoryOutOfCompliance
        case dataResetFailure
        case notificationAlreadyEnabled
        case recurrenceMustBeOnSpecifiedBoundaries
        case dateMustBeOnSpecifiedBoundaries
        case cannotActivateTriggerTooFarInFuture
        case recurrenceTooLarge
        case readWritePartialSuccess
        case readWriteFailure
        case notSignedIntoiCloud
        case keychainSyncNotEnabled
        case cloudDataSyncInProgress
        case networkUnavailable
        case addAccessoryFailed
        case missingEntitlement
        case cannotUnblockNonBridgeAccessory
        case deviceLocked
        case cannotRemoveBuiltinActionSet
        case locationForHomeDisabled
        case notAuthorizedForLocationServices
        case referToUserManual
        case invalidOrMissingAuthorizationData
        case bridgedAccessoryNotReachable
        case notAuthorizedForMicrophoneAccess
    }

Declaration
From
case AccessDenied
To
case accessDenied

Declaration
From
case AccessoryDiscoveryFailed
To
case accessoryDiscoveryFailed

Declaration
From
case AccessoryIsBlocked
To
case accessoryIsBlocked

Declaration
From
case AccessoryIsBusy
To
case accessoryIsBusy

Declaration
From
case AccessoryNotReachable
To
case accessoryNotReachable

Declaration
From
case AccessoryOutOfCompliance
To
case accessoryOutOfCompliance

Declaration
From
case AccessoryOutOfResources
To
case accessoryOutOfResources

DeclarationIntroduction
From
case AccessoryPairingFailed
watchOS 2.0
To
case accessoryPairingFailed
watchOS 3.0

Declaration
From
case AccessoryPoweredOff
To
case accessoryPoweredOff

Declaration
From
case AccessoryResponseError
To
case accessoryResponseError

Declaration
From
case AccessorySentInvalidResponse
To
case accessorySentInvalidResponse

DeclarationIntroduction
From
case ActionInAnotherActionSet
watchOS 2.0
To
case actionInAnotherActionSet
watchOS 3.0

Declaration
From
case ActionSetExecutionFailed
To
case actionSetExecutionFailed

Declaration
From
case ActionSetExecutionInProgress
To
case actionSetExecutionInProgress

Declaration
From
case ActionSetExecutionPartialSuccess
To
case actionSetExecutionPartialSuccess

Declaration
From
case AddAccessoryFailed
To
case addAccessoryFailed

DeclarationIntroduction
From
case AlreadyExists
watchOS 2.0
To
case alreadyExists
watchOS 3.0

Declaration
From
case CannotActivateTriggerTooFarInFuture
To
case cannotActivateTriggerTooFarInFuture

Declaration
From
case CannotRemoveBuiltinActionSet
To
case cannotRemoveBuiltinActionSet

Declaration
From
case CannotRemoveNonBridgeAccessory
To
case cannotRemoveNonBridgeAccessory

Declaration
From
case CannotUnblockNonBridgeAccessory
To
case cannotUnblockNonBridgeAccessory

DeclarationIntroduction
From
case ClientRequestError
watchOS 2.0
To
case clientRequestError
watchOS 3.0

Declaration
From
case CloudDataSyncInProgress
To
case cloudDataSyncInProgress

Declaration
From
case CommunicationFailure
To
case communicationFailure

Declaration
From
case DataResetFailure
To
case dataResetFailure

DeclarationIntroduction
From
case DateMustBeOnSpecifiedBoundaries
watchOS 2.0
To
case dateMustBeOnSpecifiedBoundaries
watchOS 3.0

Declaration
From
case DeviceLocked
To
case deviceLocked

Declaration
From
case FireDateInPast
To
case fireDateInPast

Declaration
From
case GenericError
To
case genericError

Declaration
From
case HomeAccessNotAuthorized
To
case homeAccessNotAuthorized

Declaration
From
case HomeWithSimilarNameExists
To
case homeWithSimilarNameExists

Declaration
From
case InsufficientPrivileges
To
case insufficientPrivileges

Declaration
From
case InvalidAssociatedServiceType
To
case invalidAssociatedServiceType

DeclarationIntroduction
From
case InvalidClass
watchOS 2.0
To
case invalidClass
watchOS 3.0

Declaration
From
case InvalidDataFormatSpecified
To
case invalidDataFormatSpecified

Declaration
From
case InvalidMessageSize
To
case invalidMessageSize

Declaration
From
case InvalidParameter
To
case invalidParameter

Declaration
From
case InvalidValueType
To
case invalidValueType

DeclarationIntroduction
From
case KeychainSyncNotEnabled
watchOS 2.0
To
case keychainSyncNotEnabled
watchOS 3.0

Declaration
From
case LocationForHomeDisabled
To
case locationForHomeDisabled

Declaration
From
case MaximumObjectLimitReached
To
case maximumObjectLimitReached

DeclarationIntroduction
From
case MessageAuthenticationFailed
watchOS 2.0
To
case messageAuthenticationFailed
watchOS 3.0

Declaration
From
case MissingEntitlement
To
case missingEntitlement

Declaration
From
case MissingParameter
To
case missingParameter

Declaration
From
case NameContainsProhibitedCharacters
To
case nameContainsProhibitedCharacters

Declaration
From
case NameDoesNotEndWithValidCharacters
To
case nameDoesNotEndWithValidCharacters

Declaration
From
case NameDoesNotStartWithValidCharacters
To
case nameDoesNotStartWithValidCharacters

Declaration
From
case NetworkUnavailable
To
case networkUnavailable

Declaration
From
case NilParameter
To
case nilParameter

DeclarationIntroduction
From
case NoActionsInActionSet
watchOS 2.0
To
case noActionsInActionSet
watchOS 3.0

Declaration
From
case NoRegisteredActionSets
To
case noRegisteredActionSets

Declaration
From
case NotAuthorizedForLocationServices
To
case notAuthorizedForLocationServices

Declaration
From
case NotFound
To
case notFound

Declaration
From
case NotificationAlreadyEnabled
To
case notificationAlreadyEnabled

Declaration
From
case NotificationNotSupported
To
case notificationNotSupported

Declaration
From
case NotSignedIntoiCloud
To
case notSignedIntoiCloud

Declaration
From
case ObjectAlreadyAssociatedToHome
To
case objectAlreadyAssociatedToHome

Declaration
From
case ObjectAssociatedToAnotherHome
To
case objectAssociatedToAnotherHome

Declaration
From
case ObjectNotAssociatedToAnyHome
To
case objectNotAssociatedToAnyHome

Declaration
From
case ObjectWithSimilarNameExistsInHome
To
case objectWithSimilarNameExistsInHome

Declaration
From
case OperationCancelled
To
case operationCancelled

Declaration
From
case OperationInProgress
To
case operationInProgress

Declaration
From
case OperationNotSupported
To
case operationNotSupported

DeclarationIntroduction
From
case OperationTimedOut
watchOS 2.0
To
case operationTimedOut
watchOS 3.0

Declaration
From
case ReadOnlyCharacteristic
To
case readOnlyCharacteristic

Declaration
From
case ReadWriteFailure
To
case readWriteFailure

Declaration
From
case ReadWritePartialSuccess
To
case readWritePartialSuccess

Declaration
From
case RecurrenceMustBeOnSpecifiedBoundaries
To
case recurrenceMustBeOnSpecifiedBoundaries

Declaration
From
case RecurrenceTooLarge
To
case recurrenceTooLarge

Declaration
From
case RecurrenceTooSmall
To
case recurrenceTooSmall

Declaration
From
case ReferToUserManual
To
case referToUserManual

DeclarationIntroduction
From
case RenameWithSimilarName
watchOS 2.0
To
case renameWithSimilarName
watchOS 3.0

Declaration
From
case RoomForHomeCannotBeInZone
To
case roomForHomeCannotBeInZone

Declaration
From
case RoomForHomeCannotBeUpdated
To
case roomForHomeCannotBeUpdated

Declaration
From
case SecurityFailure
To
case securityFailure

Declaration
From
case StringLongerThanMaximum
To
case stringLongerThanMaximum

Declaration
From
case StringShorterThanMinimum
To
case stringShorterThanMinimum

Declaration
From
case UnconfiguredParameter
To
case unconfiguredParameter

Declaration
From
case UserDeclinedAddingUser
To
case userDeclinedAddingUser

Declaration
From
case UserDeclinedInvite
To
case userDeclinedInvite

Declaration
From
case UserDeclinedRemovingUser
To
case userDeclinedRemovingUser

Declaration
From
case UserIDNotEmailAddress
To
case userIDNotEmailAddress

Declaration
From
case UserManagementFailed
To
case userManagementFailed

Declaration
From
case ValueHigherThanMaximum
To
case valueHigherThanMaximum

DeclarationIntroduction
From
case ValueLowerThanMinimum
watchOS 2.0
To
case valueLowerThanMinimum
watchOS 3.0

DeclarationIntroduction
From
case WriteOnlyCharacteristic
watchOS 2.0
To
case writeOnlyCharacteristic
watchOS 3.0

Modified HMEvent
DeclarationProtocols
From
class HMEvent : NSObject {
    @NSCopying var uniqueIdentifier: NSUUID { get }
}
--
To
class HMEvent : NSObject {
    var uniqueIdentifier: UUID { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMEvent : CVarArg {
}
extension HMEvent : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Declaration
From
class HMEventTrigger : HMTrigger {
    convenience init()
    init(name name: String, events events: [HMEvent], predicate predicate: NSPredicate?)
    var events: [HMEvent] { get }
    @NSCopying var predicate: NSPredicate? { get }
    class func predicateForEvaluatingTriggerOccurringBeforeSignificantEvent(_ significantEvent: String, applyingOffset offset: NSDateComponents?) -> NSPredicate
    class func predicateForEvaluatingTriggerOccurringAfterSignificantEvent(_ significantEvent: String, applyingOffset offset: NSDateComponents?) -> NSPredicate
    class func predicateForEvaluatingTriggerOccurringBeforeDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
    class func predicateForEvaluatingTriggerOccurringOnDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
    class func predicateForEvaluatingTriggerOccurringAfterDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
    class func predicateForEvaluatingTriggerWithCharacteristic(_ characteristic: HMCharacteristic, relatedBy operatorType: NSPredicateOperatorType, toValue value: AnyObject) -> NSPredicate
    func addEvent(_ event: HMEvent, completionHandler completion: (NSError?) -> Void)
    func removeEvent(_ event: HMEvent, completionHandler completion: (NSError?) -> Void)
    func updatePredicate(_ predicate: NSPredicate?, completionHandler completion: (NSError?) -> Void)
}
To
class HMEventTrigger : HMTrigger {
    init()
    init(name name: String, events events: [HMEvent], predicate predicate: NSPredicate?)
    var events: [HMEvent] { get }
    @NSCopying var predicate: NSPredicate? { get }
    class func predicateForEvaluatingTrigger(occurringBefore significantEvent: String, applyingOffset offset: DateComponents?) -> NSPredicate
    class func predicateForEvaluatingTrigger(occurringAfter significantEvent: String, applyingOffset offset: DateComponents?) -> NSPredicate
    class func predicateForEvaluatingTrigger(occurringBefore dateComponents: DateComponents) -> NSPredicate
    class func predicateForEvaluatingTrigger(occurringOn dateComponents: DateComponents) -> NSPredicate
    class func predicateForEvaluatingTrigger(occurringAfter dateComponents: DateComponents) -> NSPredicate
    class func predicateForEvaluatingTrigger(_ characteristic: HMCharacteristic, relatedBy operatorType: NSComparisonPredicate.Operator, toValue value: Any) -> NSPredicate
    func addEvent(_ event: HMEvent, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeEvent(_ event: HMEvent, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func updatePredicate(_ predicate: NSPredicate?, completionHandler completion: @escaping (Error?) -> Swift.Void)
}

Declaration
From
class func predicateForEvaluatingTriggerWithCharacteristic(_ characteristic: HMCharacteristic, relatedBy operatorType: NSPredicateOperatorType, toValue value: AnyObject) -> NSPredicate
To
class func predicateForEvaluatingTrigger(_ characteristic: HMCharacteristic, relatedBy operatorType: NSComparisonPredicate.Operator, toValue value: Any) -> NSPredicate

Declaration
From
class func predicateForEvaluatingTriggerOccurringAfterDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
To
class func predicateForEvaluatingTrigger(occurringAfter dateComponents: DateComponents) -> NSPredicate

Declaration
From
class func predicateForEvaluatingTriggerOccurringAfterSignificantEvent(_ significantEvent: String, applyingOffset offset: NSDateComponents?) -> NSPredicate
To
class func predicateForEvaluatingTrigger(occurringAfter significantEvent: String, applyingOffset offset: DateComponents?) -> NSPredicate

Declaration
From
class func predicateForEvaluatingTriggerOccurringBeforeDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
To
class func predicateForEvaluatingTrigger(occurringBefore dateComponents: DateComponents) -> NSPredicate

Declaration
From
class func predicateForEvaluatingTriggerOccurringBeforeSignificantEvent(_ significantEvent: String, applyingOffset offset: NSDateComponents?) -> NSPredicate
To
class func predicateForEvaluatingTrigger(occurringBefore significantEvent: String, applyingOffset offset: DateComponents?) -> NSPredicate

Declaration
From
class func predicateForEvaluatingTriggerOccurringOnDateWithComponents(_ dateComponents: NSDateComponents) -> NSPredicate
To
class func predicateForEvaluatingTrigger(occurringOn dateComponents: DateComponents) -> NSPredicate

Modified HMHome
DeclarationProtocols
From
class HMHome : NSObject {
    init()
    weak var delegate: HMHomeDelegate?
    var name: String { get }
    var primary: Bool { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
}
extension HMHome {
    var accessories: [HMAccessory] { get }
    func addAccessory(_ accessory: HMAccessory, completionHandler completion: (NSError?) -> Void)
    func removeAccessory(_ accessory: HMAccessory, completionHandler completion: (NSError?) -> Void)
    func assignAccessory(_ accessory: HMAccessory, toRoom room: HMRoom, completionHandler completion: (NSError?) -> Void)
    func servicesWithTypes(_ serviceTypes: [String]) -> [HMService]?
    func unblockAccessory(_ accessory: HMAccessory, completionHandler completion: (NSError?) -> Void)
}
extension HMHome {
    var currentUser: HMUser { get }
    var users: [HMUser] { get }
    func manageUsersWithCompletionHandler(_ completion: (NSError?) -> Void)
    func addUserWithCompletionHandler(_ completion: (HMUser?, NSError?) -> Void)
    func removeUser(_ user: HMUser, completionHandler completion: (NSError?) -> Void)
    func homeAccessControlForUser(_ user: HMUser) -> HMHomeAccessControl
}
extension HMHome {
    var rooms: [HMRoom] { get }
    func addRoomWithName(_ roomName: String, completionHandler completion: (HMRoom?, NSError?) -> Void)
    func removeRoom(_ room: HMRoom, completionHandler completion: (NSError?) -> Void)
    func roomForEntireHome() -> HMRoom
}
extension HMHome {
    var zones: [HMZone] { get }
    func addZoneWithName(_ zoneName: String, completionHandler completion: (HMZone?, NSError?) -> Void)
    func removeZone(_ zone: HMZone, completionHandler completion: (NSError?) -> Void)
}
extension HMHome {
    var serviceGroups: [HMServiceGroup] { get }
    func addServiceGroupWithName(_ serviceGroupName: String, completionHandler completion: (HMServiceGroup?, NSError?) -> Void)
    func removeServiceGroup(_ group: HMServiceGroup, completionHandler completion: (NSError?) -> Void)
}
extension HMHome {
    var actionSets: [HMActionSet] { get }
    func addActionSetWithName(_ actionSetName: String, completionHandler completion: (HMActionSet?, NSError?) -> Void)
    func removeActionSet(_ actionSet: HMActionSet, completionHandler completion: (NSError?) -> Void)
    func executeActionSet(_ actionSet: HMActionSet, completionHandler completion: (NSError?) -> Void)
    func builtinActionSetOfType(_ actionSetType: String) -> HMActionSet?
}
extension HMHome {
    var triggers: [HMTrigger] { get }
    func addTrigger(_ trigger: HMTrigger, completionHandler completion: (NSError?) -> Void)
    func removeTrigger(_ trigger: HMTrigger, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMHome : NSObject {
    init()
    weak var delegate: HMHomeDelegate?
    var name: String { get }
    var isPrimary: Bool { get }
    var uniqueIdentifier: UUID { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    var triggers: [HMTrigger] { get }
    func addTrigger(_ trigger: HMTrigger, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeTrigger(_ trigger: HMTrigger, completionHandler completion: @escaping (Error?) -> Swift.Void)
    var actionSets: [HMActionSet] { get }
    func addActionSet(withName actionSetName: String, completionHandler completion: @escaping (HMActionSet?, Error?) -> Swift.Void)
    func removeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func executeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func builtinActionSet(ofType actionSetType: String) -> HMActionSet?
    var serviceGroups: [HMServiceGroup] { get }
    func addServiceGroup(withName serviceGroupName: String, completionHandler completion: @escaping (HMServiceGroup?, Error?) -> Swift.Void)
    func removeServiceGroup(_ group: HMServiceGroup, completionHandler completion: @escaping (Error?) -> Swift.Void)
    var zones: [HMZone] { get }
    func addZone(withName zoneName: String, completionHandler completion: @escaping (HMZone?, Error?) -> Swift.Void)
    func removeZone(_ zone: HMZone, completionHandler completion: @escaping (Error?) -> Swift.Void)
    var rooms: [HMRoom] { get }
    func addRoom(withName roomName: String, completionHandler completion: @escaping (HMRoom?, Error?) -> Swift.Void)
    func removeRoom(_ room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func roomForEntireHome() -> HMRoom
    var currentUser: HMUser { get }
    var users: [HMUser] { get }
    func manageUsers(completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addUser(completionHandler completion: @escaping (HMUser?, Error?) -> Swift.Void)
    func removeUser(_ user: HMUser, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func homeAccessControl(for user: HMUser) -> HMHomeAccessControl
    var accessories: [HMAccessory] { get }
    func addAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func assignAccessory(_ accessory: HMAccessory, to room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func servicesWithTypes(_ serviceTypes: [String]) -> [HMService]?
    func unblockAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addAndSetupAccessories(completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMHome : CVarArg {
}
extension HMHome : Equatable, Hashable {
    var hashValue: Int { get }
}
extension HMHome {
    var accessories: [HMAccessory] { get }
    func addAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func assignAccessory(_ accessory: HMAccessory, to room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func servicesWithTypes(_ serviceTypes: [String]) -> [HMService]?
    func unblockAccessory(_ accessory: HMAccessory, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addAndSetupAccessories(completionHandler completion: @escaping (Error?) -> Swift.Void)
}
extension HMHome {
    var currentUser: HMUser { get }
    var users: [HMUser] { get }
    func manageUsers(completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addUser(completionHandler completion: @escaping (HMUser?, Error?) -> Swift.Void)
    func removeUser(_ user: HMUser, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func homeAccessControl(for user: HMUser) -> HMHomeAccessControl
}
extension HMHome {
    var rooms: [HMRoom] { get }
    func addRoom(withName roomName: String, completionHandler completion: @escaping (HMRoom?, Error?) -> Swift.Void)
    func removeRoom(_ room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func roomForEntireHome() -> HMRoom
}
extension HMHome {
    var zones: [HMZone] { get }
    func addZone(withName zoneName: String, completionHandler completion: @escaping (HMZone?, Error?) -> Swift.Void)
    func removeZone(_ zone: HMZone, completionHandler completion: @escaping (Error?) -> Swift.Void)
}
extension HMHome {
    var serviceGroups: [HMServiceGroup] { get }
    func addServiceGroup(withName serviceGroupName: String, completionHandler completion: @escaping (HMServiceGroup?, Error?) -> Swift.Void)
    func removeServiceGroup(_ group: HMServiceGroup, completionHandler completion: @escaping (Error?) -> Swift.Void)
}
extension HMHome {
    var actionSets: [HMActionSet] { get }
    func addActionSet(withName actionSetName: String, completionHandler completion: @escaping (HMActionSet?, Error?) -> Swift.Void)
    func removeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func executeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func builtinActionSet(ofType actionSetType: String) -> HMActionSet?
}
extension HMHome {
    var triggers: [HMTrigger] { get }
    func addTrigger(_ trigger: HMTrigger, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeTrigger(_ trigger: HMTrigger, completionHandler completion: @escaping (Error?) -> Swift.Void)
}
CVarArg, Equatable, Hashable

Declaration
From
func builtinActionSetOfType(_ actionSetType: String) -> HMActionSet?
To
func builtinActionSet(ofType actionSetType: String) -> HMActionSet?

Declaration
From
func executeActionSet(_ actionSet: HMActionSet, completionHandler completion: (NSError?) -> Void)
To
func executeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)

Declaration
From
func homeAccessControlForUser(_ user: HMUser) -> HMHomeAccessControl
To
func homeAccessControl(for user: HMUser) -> HMHomeAccessControl

Declaration
From
var primary: Bool { get }
To
var isPrimary: Bool { get }

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

DeclarationProtocols
From
class HMHomeAccessControl : NSObject {
    init()
    var administrator: Bool { get }
}
--
To
class HMHomeAccessControl : NSObject {
    init()
    var isAdministrator: Bool { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMHomeAccessControl : CVarArg {
}
extension HMHomeAccessControl : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var administrator: Bool { get }
To
var isAdministrator: Bool { get }

Declaration
From
protocol HMHomeDelegate : NSObjectProtocol {
    optional func homeDidUpdateName(_ home: HMHome)
    optional func home(_ home: HMHome, didAddAccessory accessory: HMAccessory)
    optional func home(_ home: HMHome, didRemoveAccessory accessory: HMAccessory)
    optional func home(_ home: HMHome, didAddUser user: HMUser)
    optional func home(_ home: HMHome, didRemoveUser user: HMUser)
    optional func home(_ home: HMHome, didUpdateRoom room: HMRoom, forAccessory accessory: HMAccessory)
    optional func home(_ home: HMHome, didAddRoom room: HMRoom)
    optional func home(_ home: HMHome, didRemoveRoom room: HMRoom)
    optional func home(_ home: HMHome, didUpdateNameForRoom room: HMRoom)
    optional func home(_ home: HMHome, didAddZone zone: HMZone)
    optional func home(_ home: HMHome, didRemoveZone zone: HMZone)
    optional func home(_ home: HMHome, didUpdateNameForZone zone: HMZone)
    optional func home(_ home: HMHome, didAddRoom room: HMRoom, toZone zone: HMZone)
    optional func home(_ home: HMHome, didRemoveRoom room: HMRoom, fromZone zone: HMZone)
    optional func home(_ home: HMHome, didAddServiceGroup group: HMServiceGroup)
    optional func home(_ home: HMHome, didRemoveServiceGroup group: HMServiceGroup)
    optional func home(_ home: HMHome, didUpdateNameForServiceGroup group: HMServiceGroup)
    optional func home(_ home: HMHome, didAddService service: HMService, toServiceGroup group: HMServiceGroup)
    optional func home(_ home: HMHome, didRemoveService service: HMService, fromServiceGroup group: HMServiceGroup)
    optional func home(_ home: HMHome, didAddActionSet actionSet: HMActionSet)
    optional func home(_ home: HMHome, didRemoveActionSet actionSet: HMActionSet)
    optional func home(_ home: HMHome, didUpdateNameForActionSet actionSet: HMActionSet)
    optional func home(_ home: HMHome, didUpdateActionsForActionSet actionSet: HMActionSet)
    optional func home(_ home: HMHome, didAddTrigger trigger: HMTrigger)
    optional func home(_ home: HMHome, didRemoveTrigger trigger: HMTrigger)
    optional func home(_ home: HMHome, didUpdateNameForTrigger trigger: HMTrigger)
    optional func home(_ home: HMHome, didUpdateTrigger trigger: HMTrigger)
    optional func home(_ home: HMHome, didUnblockAccessory accessory: HMAccessory)
    optional func home(_ home: HMHome, didEncounterError error: NSError, forAccessory accessory: HMAccessory)
}
To
protocol HMHomeDelegate : NSObjectProtocol {
    optional func homeDidUpdateName(_ home: HMHome)
    optional func home(_ home: HMHome, didAdd accessory: HMAccessory)
    optional func home(_ home: HMHome, didRemove accessory: HMAccessory)
    optional func home(_ home: HMHome, didAdd user: HMUser)
    optional func home(_ home: HMHome, didRemove user: HMUser)
    optional func home(_ home: HMHome, didUpdate room: HMRoom, for accessory: HMAccessory)
    optional func home(_ home: HMHome, didAdd room: HMRoom)
    optional func home(_ home: HMHome, didRemove room: HMRoom)
    optional func home(_ home: HMHome, didUpdateNameFor room: HMRoom)
    optional func home(_ home: HMHome, didAdd zone: HMZone)
    optional func home(_ home: HMHome, didRemove zone: HMZone)
    optional func home(_ home: HMHome, didUpdateNameFor zone: HMZone)
    optional func home(_ home: HMHome, didAdd room: HMRoom, to zone: HMZone)
    optional func home(_ home: HMHome, didRemove room: HMRoom, from zone: HMZone)
    optional func home(_ home: HMHome, didAdd group: HMServiceGroup)
    optional func home(_ home: HMHome, didRemove group: HMServiceGroup)
    optional func home(_ home: HMHome, didUpdateNameFor group: HMServiceGroup)
    optional func home(_ home: HMHome, didAdd service: HMService, to group: HMServiceGroup)
    optional func home(_ home: HMHome, didRemove service: HMService, from group: HMServiceGroup)
    optional func home(_ home: HMHome, didAdd actionSet: HMActionSet)
    optional func home(_ home: HMHome, didRemove actionSet: HMActionSet)
    optional func home(_ home: HMHome, didUpdateNameFor actionSet: HMActionSet)
    optional func home(_ home: HMHome, didUpdateActionsFor actionSet: HMActionSet)
    optional func home(_ home: HMHome, didAdd trigger: HMTrigger)
    optional func home(_ home: HMHome, didRemove trigger: HMTrigger)
    optional func home(_ home: HMHome, didUpdateNameFor trigger: HMTrigger)
    optional func home(_ home: HMHome, didUpdate trigger: HMTrigger)
    optional func home(_ home: HMHome, didUnblockAccessory accessory: HMAccessory)
    optional func home(_ home: HMHome, didEncounterError error: Error, for accessory: HMAccessory)
}

Declaration
From
optional func home(_ home: HMHome, didAddUser user: HMUser)
To
optional func home(_ home: HMHome, didAdd user: HMUser)

Declaration
From
optional func home(_ home: HMHome, didAddRoom room: HMRoom)
To
optional func home(_ home: HMHome, didAdd room: HMRoom)

Declaration
From
optional func home(_ home: HMHome, didAddTrigger trigger: HMTrigger)
To
optional func home(_ home: HMHome, didAdd trigger: HMTrigger)

Declaration
From
optional func home(_ home: HMHome, didAddActionSet actionSet: HMActionSet)
To
optional func home(_ home: HMHome, didAdd actionSet: HMActionSet)

Declaration
From
optional func home(_ home: HMHome, didAddAccessory accessory: HMAccessory)
To
optional func home(_ home: HMHome, didAdd accessory: HMAccessory)

Declaration
From
optional func home(_ home: HMHome, didAddZone zone: HMZone)
To
optional func home(_ home: HMHome, didAdd zone: HMZone)

Declaration
From
optional func home(_ home: HMHome, didAddServiceGroup group: HMServiceGroup)
To
optional func home(_ home: HMHome, didAdd group: HMServiceGroup)

Declaration
From
optional func home(_ home: HMHome, didAddService service: HMService, toServiceGroup group: HMServiceGroup)
To
optional func home(_ home: HMHome, didAdd service: HMService, to group: HMServiceGroup)

Declaration
From
optional func home(_ home: HMHome, didAddRoom room: HMRoom, toZone zone: HMZone)
To
optional func home(_ home: HMHome, didAdd room: HMRoom, to zone: HMZone)

Declaration
From
optional func home(_ home: HMHome, didEncounterError error: NSError, forAccessory accessory: HMAccessory)
To
optional func home(_ home: HMHome, didEncounterError error: Error, for accessory: HMAccessory)

Declaration
From
optional func home(_ home: HMHome, didRemoveTrigger trigger: HMTrigger)
To
optional func home(_ home: HMHome, didRemove trigger: HMTrigger)

Declaration
From
optional func home(_ home: HMHome, didRemoveUser user: HMUser)
To
optional func home(_ home: HMHome, didRemove user: HMUser)

Declaration
From
optional func home(_ home: HMHome, didRemoveServiceGroup group: HMServiceGroup)
To
optional func home(_ home: HMHome, didRemove group: HMServiceGroup)

Declaration
From
optional func home(_ home: HMHome, didRemoveZone zone: HMZone)
To
optional func home(_ home: HMHome, didRemove zone: HMZone)

Declaration
From
optional func home(_ home: HMHome, didRemoveRoom room: HMRoom)
To
optional func home(_ home: HMHome, didRemove room: HMRoom)

Declaration
From
optional func home(_ home: HMHome, didRemoveAccessory accessory: HMAccessory)
To
optional func home(_ home: HMHome, didRemove accessory: HMAccessory)

Declaration
From
optional func home(_ home: HMHome, didRemoveActionSet actionSet: HMActionSet)
To
optional func home(_ home: HMHome, didRemove actionSet: HMActionSet)

Declaration
From
optional func home(_ home: HMHome, didRemoveService service: HMService, fromServiceGroup group: HMServiceGroup)
To
optional func home(_ home: HMHome, didRemove service: HMService, from group: HMServiceGroup)

Declaration
From
optional func home(_ home: HMHome, didRemoveRoom room: HMRoom, fromZone zone: HMZone)
To
optional func home(_ home: HMHome, didRemove room: HMRoom, from zone: HMZone)

Declaration
From
optional func home(_ home: HMHome, didUpdateTrigger trigger: HMTrigger)
To
optional func home(_ home: HMHome, didUpdate trigger: HMTrigger)

Declaration
From
optional func home(_ home: HMHome, didUpdateRoom room: HMRoom, forAccessory accessory: HMAccessory)
To
optional func home(_ home: HMHome, didUpdate room: HMRoom, for accessory: HMAccessory)

Declaration
From
optional func home(_ home: HMHome, didUpdateActionsForActionSet actionSet: HMActionSet)
To
optional func home(_ home: HMHome, didUpdateActionsFor actionSet: HMActionSet)

Declaration
From
optional func home(_ home: HMHome, didUpdateNameForActionSet actionSet: HMActionSet)
To
optional func home(_ home: HMHome, didUpdateNameFor actionSet: HMActionSet)

Declaration
From
optional func home(_ home: HMHome, didUpdateNameForRoom room: HMRoom)
To
optional func home(_ home: HMHome, didUpdateNameFor room: HMRoom)

Declaration
From
optional func home(_ home: HMHome, didUpdateNameForZone zone: HMZone)
To
optional func home(_ home: HMHome, didUpdateNameFor zone: HMZone)

Declaration
From
optional func home(_ home: HMHome, didUpdateNameForServiceGroup group: HMServiceGroup)
To
optional func home(_ home: HMHome, didUpdateNameFor group: HMServiceGroup)

Declaration
From
optional func home(_ home: HMHome, didUpdateNameForTrigger trigger: HMTrigger)
To
optional func home(_ home: HMHome, didUpdateNameFor trigger: HMTrigger)

Modified HMHomeManager
DeclarationProtocols
From
class HMHomeManager : NSObject {
    weak var delegate: HMHomeManagerDelegate?
    var primaryHome: HMHome? { get }
    var homes: [HMHome] { get }
    func updatePrimaryHome(_ home: HMHome, completionHandler completion: (NSError?) -> Void)
    func addHomeWithName(_ homeName: String, completionHandler completion: (HMHome?, NSError?) -> Void)
    func removeHome(_ home: HMHome, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMHomeManager : NSObject {
    weak var delegate: HMHomeManagerDelegate?
    var primaryHome: HMHome? { get }
    var homes: [HMHome] { get }
    func updatePrimaryHome(_ home: HMHome, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addHome(withName homeName: String, completionHandler completion: @escaping (HMHome?, Error?) -> Swift.Void)
    func removeHome(_ home: HMHome, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMHomeManager : CVarArg {
}
extension HMHomeManager : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
protocol HMHomeManagerDelegate : NSObjectProtocol {
    optional func homeManagerDidUpdateHomes(_ manager: HMHomeManager)
    optional func homeManagerDidUpdatePrimaryHome(_ manager: HMHomeManager)
    optional func homeManager(_ manager: HMHomeManager, didAddHome home: HMHome)
    optional func homeManager(_ manager: HMHomeManager, didRemoveHome home: HMHome)
}
To
protocol HMHomeManagerDelegate : NSObjectProtocol {
    optional func homeManagerDidUpdateHomes(_ manager: HMHomeManager)
    optional func homeManagerDidUpdatePrimaryHome(_ manager: HMHomeManager)
    optional func homeManager(_ manager: HMHomeManager, didAdd home: HMHome)
    optional func homeManager(_ manager: HMHomeManager, didRemove home: HMHome)
}

Declaration
From
optional func homeManager(_ manager: HMHomeManager, didAddHome home: HMHome)
To
optional func homeManager(_ manager: HMHomeManager, didAdd home: HMHome)

Declaration
From
optional func homeManager(_ manager: HMHomeManager, didRemoveHome home: HMHome)
To
optional func homeManager(_ manager: HMHomeManager, didRemove home: HMHome)

Declaration
From
class HMLocationEvent : HMEvent {
    init()
    init(region region: CLRegion)
    var region: CLRegion? { get }
    func updateRegion(_ region: CLRegion, completionHandler completion: (NSError?) -> Void)
}
To
class HMLocationEvent : HMEvent {
    init()
    init(region region: CLRegion)
    var region: CLRegion? { get }
    func updateRegion(_ region: CLRegion, completionHandler completion: @escaping (Error?) -> Swift.Void)
}

Modified HMRoom
DeclarationProtocols
From
class HMRoom : NSObject {
    init()
    var name: String { get }
    var accessories: [HMAccessory] { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMRoom : NSObject {
    init()
    var name: String { get }
    var accessories: [HMAccessory] { get }
    var uniqueIdentifier: UUID { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMRoom : CVarArg {
}
extension HMRoom : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Modified HMService
DeclarationProtocols
From
class HMService : NSObject {
    weak var accessory: HMAccessory? { get }
    var serviceType: String { get }
    var localizedDescription: String { get }
    var name: String { get }
    var associatedServiceType: String? { get }
    var characteristics: [HMCharacteristic] { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    var userInteractive: Bool { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func updateAssociatedServiceType(_ serviceType: String?, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMService : NSObject {
    weak var accessory: HMAccessory? { get }
    var serviceType: String { get }
    var localizedDescription: String { get }
    var name: String { get }
    var associatedServiceType: String? { get }
    var characteristics: [HMCharacteristic] { get }
    var uniqueIdentifier: UUID { get }
    var isUserInteractive: Bool { get }
    var isPrimaryService: Bool { get }
    var linkedServices: [HMService]? { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func updateAssociatedServiceType(_ serviceType: String?, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMService : CVarArg {
}
extension HMService : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var userInteractive: Bool { get }
To
var isUserInteractive: Bool { get }

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

DeclarationProtocols
From
class HMServiceGroup : NSObject {
    init()
    var name: String { get }
    var services: [HMService] { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func addService(_ service: HMService, completionHandler completion: (NSError?) -> Void)
    func removeService(_ service: HMService, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMServiceGroup : NSObject {
    init()
    var name: String { get }
    var services: [HMService] { get }
    var uniqueIdentifier: UUID { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addService(_ service: HMService, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeService(_ service: HMService, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMServiceGroup : CVarArg {
}
extension HMServiceGroup : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Declaration
From
class HMTimerTrigger : HMTrigger {
    convenience init()
    init(name name: String, fireDate fireDate: NSDate, timeZone timeZone: NSTimeZone?, recurrence recurrence: NSDateComponents?, recurrenceCalendar recurrenceCalendar: NSCalendar?)
    @NSCopying var fireDate: NSDate { get }
    @NSCopying var timeZone: NSTimeZone? { get }
    @NSCopying var recurrence: NSDateComponents? { get }
    @NSCopying var recurrenceCalendar: NSCalendar? { get }
    func updateFireDate(_ fireDate: NSDate, completionHandler completion: (NSError?) -> Void)
    func updateTimeZone(_ timeZone: NSTimeZone?, completionHandler completion: (NSError?) -> Void)
    func updateRecurrence(_ recurrence: NSDateComponents?, completionHandler completion: (NSError?) -> Void)
}
To
class HMTimerTrigger : HMTrigger {
    convenience init()
    init(name name: String, fireDate fireDate: Date, timeZone timeZone: TimeZone?, recurrence recurrence: DateComponents?, recurrenceCalendar recurrenceCalendar: Calendar?)
    var fireDate: Date { get }
    var timeZone: TimeZone? { get }
    var recurrence: DateComponents? { get }
    var recurrenceCalendar: Calendar? { get }
    func updateFireDate(_ fireDate: Date, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func updateTimeZone(_ timeZone: TimeZone?, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func updateRecurrence(_ recurrence: DateComponents?, completionHandler completion: @escaping (Error?) -> Swift.Void)
}

Declaration
From
@NSCopying var fireDate: NSDate { get }
To
var fireDate: Date { get }

Declaration
From
@NSCopying var recurrence: NSDateComponents? { get }
To
var recurrence: DateComponents? { get }

Declaration
From
@NSCopying var recurrenceCalendar: NSCalendar? { get }
To
var recurrenceCalendar: Calendar? { get }

Declaration
From
@NSCopying var timeZone: NSTimeZone? { get }
To
var timeZone: TimeZone? { get }

Modified HMTrigger
DeclarationProtocols
From
class HMTrigger : NSObject {
    init()
    var name: String { get }
    var enabled: Bool { get }
    var actionSets: [HMActionSet] { get }
    @NSCopying var lastFireDate: NSDate? { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func addActionSet(_ actionSet: HMActionSet, completionHandler completion: (NSError?) -> Void)
    func removeActionSet(_ actionSet: HMActionSet, completionHandler completion: (NSError?) -> Void)
    func enable(_ enable: Bool, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMTrigger : NSObject {
    init()
    var name: String { get }
    var isEnabled: Bool { get }
    var actionSets: [HMActionSet] { get }
    var lastFireDate: Date? { get }
    var uniqueIdentifier: UUID { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func enable(_ enable: Bool, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMTrigger : CVarArg {
}
extension HMTrigger : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var enabled: Bool { get }
To
var isEnabled: Bool { get }

Declaration
From
@NSCopying var lastFireDate: NSDate? { get }
To
var lastFireDate: Date? { get }

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Modified HMUser
DeclarationProtocols
From
class HMUser : NSObject {
    init()
    var name: String { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
}
--
To
class HMUser : NSObject {
    init()
    var name: String { get }
    var uniqueIdentifier: UUID { get }
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMUser : CVarArg {
}
extension HMUser : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

Modified HMZone
DeclarationProtocols
From
class HMZone : NSObject {
    init()
    var name: String { get }
    var rooms: [HMRoom] { get }
    @NSCopying var uniqueIdentifier: NSUUID { get }
    func updateName(_ name: String, completionHandler completion: (NSError?) -> Void)
    func addRoom(_ room: HMRoom, completionHandler completion: (NSError?) -> Void)
    func removeRoom(_ room: HMRoom, completionHandler completion: (NSError?) -> Void)
}
--
To
class HMZone : NSObject {
    init()
    var name: String { get }
    var rooms: [HMRoom] { get }
    var uniqueIdentifier: UUID { get }
    func updateName(_ name: String, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func addRoom(_ room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func removeRoom(_ room: HMRoom, completionHandler completion: @escaping (Error?) -> Swift.Void)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension HMZone : CVarArg {
}
extension HMZone : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
@NSCopying var uniqueIdentifier: NSUUID { get }
To
var uniqueIdentifier: UUID { get }

NameDeclaration
FromHMCharacteristicPropertySupportsEventNotification
let HMCharacteristicPropertySupportsEventNotification: String
ToHMCharacteristicPropertySupportsEvent
static let HMCharacteristicPropertySupportsEvent: NSNotification.Name