こんにちは、Xcode と iOS を更新しました。iOS 9 では、HomeKit にいくつかの変更が加えられました。デフォルトでいくつかの事前定義されたシーンが追加されているという点で。のようHMActionSetTypeSleep
にHMActionSetTypeWakeUp
... HMCatalog アプリでそのシーンをクリックすると、アクションにアクションがないというエラーがスローされます。HMActionSetTypeWakeUp
シーンに組み込まれたタイプを実行する方法を教えてください。貴重な時間をありがとう。よくわからない場合はお知らせください。
1 に答える
「シーン」自体が HMAction アグリゲーター、つまり HMActionSet です。実行するには、アクションを HMActionSet に追加するか、アクション セット/シーンに何かをさせる必要があります。
たとえば、HMHome で Wake Up または Good Morning の事前定義されたシーンを実行するときに、目的のサーモスタット温度を摂氏 22 度に設定したいと考えています。
そのためには、値 24 をサーモスタットの希望温度 HMCharacteristic に書き込む HMAction (より正確には HMCharacteristicWriteAction - HMAction のサブクラス) を作成します。
HMAction が作成されたら (そのようなアクションを複数作成できます)、その HMAction を定義済みのシーンに追加します。そのための正確な API 呼び出しについては、iOS API を参照してください。
HMCatalog アプリで、「ActionSetCreator」クラスを見てください。
また、HMCatalog 自体に HMActions を追加することで、このアクションを確認できます。サーモスタット (または他のホームキット ペア サービス) にドリルダウンします。HMService のいくつかの HMCharacteristics の値を変更し、ドリル アップしてシーンを保存します (飛行機の座席でメモリからこれを書いているため、画面の詳細によって正確な画面から外れている可能性がありますが、要点を理解していただければ幸いです)。 .
(任意の) HMActions が事前定義されたシーンの下にリストされたら、Siri にシーンの名前を言ってみてください (または、HMCatalog のシーンを押して実行することもできます)。
サーモスタット (または他の HomeKit サービス) が適切にペアリングされている場合は、状態の問題が解決されているはずです。