SuperAPI AI 工具集

homekit

智能体与模型

查看项目

更新于 10-16 09:11

技能介绍

HomeKit 是一个用于控制智能家居配件并接入 Matter 设备的开发技能,目标平台为 Swift 6.3 / iOS 26+。它主要围绕两个框架展开:HomeKit 负责家庭/房间/配件模型、动作集与触发器;MatterSupport 负责将 Matter 设备配网到你的生态系统中。

用途 该技能适用于在 iOS 应用中管理家庭自动化场景,包括管理家庭、房间与配件,创建动作集(场景)与触发器,以及将 Matter 设备接入自有生态。

主要能力

  1. HomeKit 数据模型:以 HMHomeManager 为根,向下组织为 HMHome、HMRoom、HMAccessory、HMService、HMCharacteristic,并包含 HMZone、HMActionSet、HMTrigger。
  2. 配件管理:通过系统 UI 发现并添加配件(addAndSetupAccessories),列出配件与服务,将配件分配到房间(assignAccessory)。
  3. 特征读写:读取与写入特征值(readValue / writeValue),并通过 enableNotification 与 HMAccessoryDelegate 观察实时变化。
  4. 动作集与触发器:创建 HMActionSet 组合多个特征写入并一起执行;创建 HMTimerTrigger(定时)与 HMEventTrigger(事件,如运动传感器触发)。
  5. Matter 配网:使用 MatterAddDeviceRequest 将 Matter 设备配网到自有生态,支持按厂商 ID、产品 ID 等条件过滤设备,并可组合多个条件。
  6. Matter 扩展处理:通过 MatterAddDeviceExtensionRequestHandler 实现 validateDeviceCredential、rooms、configureDevice、commissionDevice 等回调。

使用方式

  • HomeKit 配置:在 Xcode 的 Signing & Capabilities 中启用 HomeKit 能力,并在 Info.plist 中添加 NSHomeKitUsageDescription。
  • MatterSupport 配置:启用 MatterSupport 能力,添加 MatterSupport Extension target;若应用直接提供配网码,需添加 com.apple.developer.matter.allow-setup-payload 权限。
  • 初始化:创建单个 HMHomeManager 并实现 HMHomeManagerDelegate,在 homeManagerDidUpdateHomes 回调触发后再访问 homes(HomeKit 异步加载)。
  • 授权:通过 delegate 的 didUpdate status 检查 HMHomeManagerAuthorizationStatus。
  • 配网:调用 MatterAddDeviceRequest.isSupported 检查支持情况,构造 Topology 与请求后执行 perform() 呈现系统配对 UI。

适用场景 适用于需要在 iOS 应用中构建智能家居控制功能、管理家庭与房间结构、创建自动化场景与触发器,以及将 Matter 设备接入自有生态系统的开发场景。

限制与注意事项

  • 必须在 delegate 回调触发后才能访问 homes,否则数组为空。
  • 不要混淆 HomeKit 配件设置与 Matter 配网:Matter 生态配网应使用 MatterAddDeviceRequest,而非 addAndSetupAccessories。
  • 不要遗漏所需权限(entitlements),否则会引发运行时错误。
  • 不要创建多个 HMHomeManager 实例,应使用单一共享实例。
  • 写入特征前应检查 metadata(如最大值),避免写入超出范围的值。
  • 所有完成回调中应处理错误。
  • 触发器创建后需调用 enable(true) 启用。
  • 建议在发布前使用 HomeKit Accessory Simulator 测试动作集。

该技能还提供了常见错误示例与审查清单,以及扩展模式参考(Matter 扩展、delegate 连接、SwiftUI)。