HomeKit 认证测试

Last Updated on : 2022-11-24 09:20:23download

本文档主要针对苹果智能家居平台 Homekit 功能认证测试的一些常见问题,梳理出对应的问题排查指引,帮助您解决一些日常问题。

HomeKit 认证测试

TCF006

Setup code does not meets typographic requirements.

Setup code不符合工作与苹果HomeKit身份指南(HomeKit自我认证测试用例R10.0)中指出的要求。HomeKit设置代码中的空格不正确。请使用HomeKit配套应用程序中的“验证QR码标签”功能(可从MFi门户网站获得)来验证您的安装代码标签。B = 0.75mm, C=1.14mm, F=1.18mm, G=0.87mm。

TCF022

重新打开附件电源后,必须在控制器上反映上电后“开启”特性的状态。

设备重新上电后,所有状态需要同步状态;对于网关类的也是一样 网关上电,子设备的状态也需要同步。

TCH001

附件必须具有包含所需特征的单个附件信息服务。

提供PID 方便修改 产品型号,然后以工单的形式进行反馈。

TCSPS006

如果附件支持非HomeKit按钮按下,请为可编程开关按钮提供无效输入,并确认没有特征事件从附件发送到控制器。

实际结果:尝试按三次或多次三次”。在端点附件“ statelessSwitch”上按一次,将发送状态为“值1”的通知。预期结果:尝试按三次或多次三次”在端点附件的“ statelessSwitch”上按,附件不会发送事件通知。

TCH046

If the accessory supports primary service, then the primary service must match the primary function of the accessory and must also match with the accessory category. An accessory must expose only one primary service from its list of available services. A custom service cannot be set as “primary”.

如果附件支持主要服务,则主要服务必须与附件的主要功能匹配,并且还必须与附件类别匹配。 附件必须仅公开其可用服务列表中的一项主要服务。 自定义服务不能设置为“主要”。

primary 默认为no,一旦为yes当前的特性值必须为该设备的品类的类别值。

TCH029

Any leak sensor services must include the required characteristics.

任何泄漏传感器服务都必须包括所需的特性。

Status low Battery 这个状态 在R16 中没有。

TCH061

测试步骤:

  1. 给设备配到到HAT 工具中,并发现设备;
  2. 手动物理重置网关设备,在HAT工具中设备不再能进行通信,配网状态也更改 为“start pairing”;
  3. remove key store 中的key值;
  4. 重新 点击 “start pairing” 进行配网,但是配网失败,在涂鸦智能app中解绑并清除数据后 再次配网成功事件日志中报错:Error: Failed with OSStatus code -6764 (kCountErr)。

TCI020

同一个aid下,不可以有相同的iid的,但比如两个同型号的子设备,它俩包含的iid常常会完全一致。

TCS017

用例编号:TCS017 闲置24 小时,验证设备是否可用,是指在home APP中 还是 HAT 工具中,在HAT中。

TCH065

用例编号:TCH065 执行时,linked 列表是空的 ,是否需要修改。

  1. 设备用HAT配网并且发现设备;
  2. 在trace 中 IP HTTP流量视图中找到对GET / accessories的HTTP响应。选择详细信息,然后选择事件。找到“linked”属性。如果存在,请确认它是服务链接到的ID的列表。 不用修改,如果认证报fail,麻烦提交exception request 。

TCH007

用例编号:TCH007,在Accessories information service 中 identity 的权限中出现 paired write 详情见附件 TCH007开头有句话,“Any other Apple-defined characteristics added to …”, Identify不属于‘added to’

TCS003

用例编号:TCS003,在执行的时候需要选择压测项,此处是所有的都需要选择压测还是只需要压测其中一个 TCS的项目,可酌情选测。

TCH083、TCSTA001

固件更新必测。

TCF020

如果设备报告“目标状态”和“当前状态”的服务(如目标温度和当前温度),当达到目标状态值时,当前状态特性值必须被更改。

TCF023

附件必须始终可用。

TCF032

如果附件利用包含暴露目标和当前特征之间的过渡状态的特征的服务,则目标特征状态的任何切换都绝不会导致当前状态特征歪曲附件的物理状态或阻止最终设置的目标特征状态的最终匹配(假设没有机械故障)。

TCSTA003

设置的软件令牌必须在恢复出厂设置之前一直存在。

TCI008

如果authTag验证失败,则附件必须关闭连接。

TCI009

如果HAP附件服务器使用Wi-Fi,则必须将其作为Wi-Fi联盟列出为Wi-Fi CERTIFIED产品。

TCI010

如果HAP附件服务器使用Wi-Fi,则它必须支持Wi-Fi附件配置(WAC)作为获取Wi-Fi凭据的一种方法。

TCI011

附件必须能够加入在其网络名称中使用32位unicode字符的Wi-Fi网络。

TCI030

设备ID必须在重新引导期间持续存在,并且在附件恢复出厂设置后会随机生成。

TCI047

当单个客户端多次订阅时,附件必须始终为支持它们的每个特征成功传递事件通知。

TCW007

使用正确的设置代码和正确的设置代码,使用家庭应用程序验证附件是否通过WAC2成功加入了接入点。

TCW016

如果可以在不删除HomeKit配对的情况下将附件置于WAC模式,则请验证在Wi-Fi重新配置过程中WAC广告已设置了第9位。

TCSPS002

验证服务标签命名空间特性是否指示预定义的命名空间之一(点和阿拉伯数字)。

重现步骤

  1. 配对并发现配件。
  2. 阅读服务标签命名空间特征。
  3. 验证服务标签命名空间特征值是否返回适当的命名标签(0-点,1-阿拉伯数字)。实际结果附件不支持服务标签命名空间特征。预期结果服务标签名称空间特性已包含在服务标签服务中,并且其值返回适当的命名标签(0-点,1-阿拉伯数字)。

TCSPS003

如果附件上有多个无状态可编程交换机服务,请验证是否有链接的服务标签服务。 如果配件上有多个无状态可编程交换机服务,则服务标签索引是必需的特征。

  • 实际结果附件:不支持服务标签服务和服务标签索引特征。

  • 预期结果附件:支持服务标签服务。

    服务标签索引特性包含在无状态可编程交换机服务中,并且每个无状态可编程交换机服务都按顺序编号(例如,一个点,两个点或一个,两个)。

附件不支持服务标签服务,TCSPS004被阻止。在TCH057上也观察到此问题。

TCI019

网桥附件必须将任何已连接设备支持的所有用户可寻址功能公开为HAP附件对象。

重现步骤

  1. 将所有端点连接到网桥。
  2. 配对并发现桥及其附件对象。
  3. 确认桥接器本身可以看到一个HAP附件。
  4. 验证连接到网桥的每个附件样本均被标识为HAP对象。

实际结果:步骤#4接触式传感器附件,运动传感器附件和泄漏传感器附件将自己标识为名称附件。

预期成绩:步骤#4每个连接到桥的附件样本都被识别为它们自己。

TCI036

桥接附件断电时,桥接附件必须返回正确的错误。

重现步骤

  1. 配对并发现配件。
  2. 断开所有端点的电源。
  3. 读取和/或写入终点的特征。
  4. 验证附件是否以HAP状态代码为“ -70402”的“ HTTP 207”作为响应。

实际结果:第4步:附件回复为“ HTTP 200 ok”和“ HTTP 204 No Content”;

预期成绩:第4步:附件以HAP状态代码为“ -70402”的“ HTTP 207”作为响应。

TCI048

州号(s#)的初始值必须为1。州号(s#)的范围必须为1-65535,溢出时应换为1。 每次配对的附件的状态在未连接至配对的HomeKit控制器时,状态号(s#)都会增加。
在以下情况下定义了通过Wi-Fi或以太网附件的HAP的附件状态更改:

  • 配件重启或由于任何原因重启。
  • 附件重新发布HomeKit服务(即更改HomeKit特定的Bonjour文本记录)。
  • 一个特性,当一个配对的配件处于断开状态(即没有连接到至少一个HomeKit配对控制器的安全会话)时,支持通知更改。当多个特征值在断开状态下发生变化时,状态数只增加一次,直到辅助状态从断开状态变为连接状态。
  1. 重新设置配件。
  2. 对于不支持WAC2的配件,请执行步骤4。
  3. 对于支持WAC2的配件,选择配件服务器,选择“加入接入点”,然后等待配件开始通过Bonjour发布广告。
  4. 在跟踪窗口的Bonjour Discovery视图中选择最近的Bonjour广告。
  5. 打开详细信息侧栏并验证s#值是1。
  6. 配对并发现配件。
  7. 在Bonjour发现视图中,选择最近的Bonjour广告并打开详细信息侧边栏。验证s#值是1。
  8. 不支持WAC2的配件请执行步骤17。
  9. 对于支持WAC2的附件,请完成以下WAC2程序:
  10. 选择配件,在Wi-Fi配件配置面板中,选择“接入接入点”按钮。
  11. 搭配配饰。
  12. 在Wi-Fi配件配置面板,输入Wi-Fi SSID和Wi-Fi PSK,选择“发送WAC配置”按钮。
  13. 确保你的Mac在你期望附件加入的网络上,否则重新加入你期望的网络。
  14. 一旦配件开始通过Bonjour在新加入的网络上发布广告,选择“确认WAC配置”按钮。
  15. 附件成功响应/Configured请求后,选择“Discover”按钮。
  16. 选择最近的Bonjour广告,然后打开详细信息侧栏。验证s#值是2。
  17. 选择“断开连接”按钮。
  18. 给配件充电,等待配件通过卓悦开始投放广告。
  19. 在Bonjour发现视图中,选择最近的Bonjour广告并打开详细信息侧边栏。验证s#只增加了一次。20.在控制器窗口中选择“发现”按钮。
  20. 对于每个支持通知的特征,使用有效的写操作从控制器多次更改特征值。
  21. 在Bonjour发现视图中,选择最近的Bonjour广告并打开详细信息侧边栏。验证s#没有增加。
  22. 选择“断开连接”按钮。
  23. 对于每个提供物理交互方式并支持事件通知的特性,多次更改该特性的状态(例如,拨动开关on/off)。
  24. 在Bonjour流量视图中,选择最近的Bonjour广告并打开详细信息侧边栏。验证s#只增加了一次。
  25. 用帽子从配件上取下搭配。
  26. 在Bonjour流量视图中,选择最近的Bonjour广告并打开详细信息侧边栏。验证s#没有增加。

TCPP002

  • 实际结果:步骤#2附件信息服务中没有产品数据特征。
  • 预期成绩:步骤#2附件必须在附件信息服务上公开产品数据特征,并且该特征的值必须与产品计划从MFi门户分配的8字节产品数据值相匹配。产品数据还必须存在于附件的配对设置M4加密子电视中。

TCH096

The accessory must implement an identify routine, a means of identifying the accessory so that it can be located by the user. The identity routine should run no longer than five seconds.

附件必须执行识别例程,这是一种识别附件的方法,以便用户可以对其进行定位。 身份例程应运行不超过五秒钟。

dentify这个属性写入值后设备需要做出响应,指示灯需要闪烁、或者蜂鸣器发出声音。

TCH046

If the accessory supports primary service, then the primary service must match the primary function of the accessory and must also match with the accessory category. An accessory must expose only one primary service from its list of available services. A custom service cannot be set as “primary”.

如果附件支持主要服务,则主要服务必须与附件的主要功能匹配,并且还必须与附件类别匹配。 附件必须仅公开其可用服务列表中的一项主要服务。 自定义服务不能设置为“主要”。

Actual ResultStep#5 Service Label service is set as primary service in the Programmable Switch endpoint.

实际结果:步骤#5服务标签服务在可编程交换机端点中设置为主要服务。