我想将SIRI名称与我使用HomeKit模拟器定义的家庭套件附件的CUSTOM特征相关联(有关如何<的详细信息,请参阅此question / strong>我做到了。)
我可以做类似的事情:
使用预定义的特征可以轻松实现,但我需要能够使用自定义特征。
知道如何实现这个目标吗?
编辑:只有HMService类有一个&#34; updateName&#34;功能。 HMCharacteristic没有它。
如果我尝试访问服务名称和相关特征制造商描述,这就是我得到的:
for (int i=0; i< [accessory.services count]; i++) {
HMService * service = [accessory.services objectAtIndex:i];
for (int j=0; j< [service.characteristics count]; j++) {
HMCharacteristic * characteristic = [service.characteristics objectAtIndex:j];
NSLog(@"service name: %@", service.name);
if ([characteristic.properties containsObject:HMCharacteristicPropertySupportsEventNotification]) {
NSLog(@"description of characteristic: %@", characteristic.metadata);
[characteristic enableNotification:TRUE completionHandler:^(NSError *error) {
if (error) {
NSLog(@"Error while enabling notification");
}
else {
NSLog(@"Notification enabled");
}
}];
}
}
}
服务名称:MyServiceName服务2015-08-21 09:40:20.833 AppName [217:5673]特征描述:[%@格式:字符串, 最大长度:1,制造商描述:SomethingCustom Mode]
答案 0 :(得分:1)
我怀疑这是不可能的。 Siri与homekit建立了硬编码关系,允许它与定义类型的附件进行通信。
需要注意的是,siri使用服务名称来确定指向命令的位置。所以,如果你有一个名为&#34;楼上&#34;的恒温器,你可以告诉siri将楼上的温度设置为65度&#34;。 Siri对您与服务互动的解释很复杂,看起来苹果只支持他们定义的服务,因此他们可以提供他们想要的体验。