HomeKit 配件 PRO

HMAccessory 表示一个 HomeKit 配件 —— 灯、传感器、锁、温控等 —— 以及它包含的服务。


只读属性

属性类型说明
uuidstringHomeKit 稳定 UUID。
namestring用户起的名字。
roomHMRoom | null配件所属房间。
categoryHMAccessoryCategory高层类别('lightbulb' / 'thermostat' 等)。
manufacturerstring | null
modelstring | null
firmwareVersionstring | null
isReachablebooleanHomeKit 当前是否可与此配件通信。
isBlockedboolean
isBridgedboolean是否通过 HomeKit 桥接器暴露。
bridgedAccessoryUUIDsstring[] | null若是桥接器,列出其子配件。
servicesHMService[]由分类的特征值组成的服务集合。

操作

await accessory.rename("客厅台灯")
await accessory.identify()                       // 请求配件自我识别(例如闪烁)

事件

accessory.onReachabilityChanged    = ok => { /* ... */ }
accessory.onNameChanged            = name => { /* ... */ }
accessory.onServicesChanged        = list => { /* ... */ }
accessory.onFirmwareVersionChanged = v => { /* ... */ }

示例:开灯

const home = await HMHomeManager.primaryHome
const light = home?.accessories.find(a => a.category === 'lightbulb')
const power = light?.services
  .find(s => s.serviceType === 'lightbulb')
  ?.characteristics.find(c => c.characteristicType === 'powerState')

await power?.writeValue(true)