0

嗨,我已经更新了我的 Xcode 和 iOS。在 iOS 9 中,他们对 HomeKit 进行了一些更改。因为他们默认添加了一些预定义的场景。像HMActionSetTypeSleepHMActionSetTypeWakeUp...当我在 HMatalog 应用程序中单击该场景时,它会引发错误,即在操作中没有任何操作。谁能告诉我如何执行HMActionSetTypeWakeUp内置场景的类型。谢谢您的宝贵时间。如果我不清楚,请告诉我。

4

1 回答 1

1

“场景”本身就是 HMAction 聚合器,即 HMActionSet。您需要将动作添加到 HMActionSet 以执行,或使动作集/场景执行任何操作。

例如,当我在 HMHome 下执行 Wake Up 或 Good Morning 预定义场景时,我想将所需的恒温器温度设置为 22 摄氏度。

为此,您将创建一个 HMAction(或更准确地说,HMCharacteristicWriteAction - HMAction 的子类),将值 24 写入恒温器的所需温度 HMCharacteristic。

创建 HMAction 后(您可以创建多个此类动作),将该 HMAction 添加到预定义场景中。查看 iOS api 以了解执行此操作的确切 api 调用。

在 HMatalog 应用程序中,查看“ActionSetCreator”类。

此外,您可以通过在 HMCatalog 本身中添加 HMActions 来查看此操作。深入了解恒温器(或任何其他 homekit 配对服务)。更改 HMService 下的一些 HMCharacteristics 的值,然后向上钻取并保存您的场景(我可能会逐个屏幕细节地离开确切的屏幕,就像在飞机座位上写出内存不足一样,但您明白了 - 希望如此) .

一旦您在预定义的场景下列出了(任何)HMActions - 尝试向 Siri 说出场景的名称(或者您可以简单地通过按下 HMCatalog 上的场景来执行它)。

如果恒温器(或其他 HomeKit 服务)正确配对,您应该会看到您的状态问题已解决。

于 2015-09-09T21:17:26.380 回答