Google Home デベロッパー センターにようこそ。スマートホーム アクションの開発方法を学ぶことができます。注: アクションの作成は、引き続き Actions Console で行います。
コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

スマートホームの RunCycle トレイトのスキーマ

action.devices.traits.RunCycle - このトレイトは、クエリに対して実行可能な継続時間があるデバイスを表します。

このようなデバイスは、動作開始時に合計サイクル数を報告し、実行中の現在のサイクルをレポートします。これにより、ユーザーは次のようなクエリを実行できます。

  • 乾燥機はどのサイクル?
  • 食器洗い機の残りのサイクル数は?
  • 乾燥機はいま何をしている?
  • 洗濯はいつ終わる?

デバイスによっては、表示のタイミングが循環しない場合があります。サイクル形式でなくても、一定の時間動作するデバイスは残り時間を報告できます。サイクルが一定でない場合にも対応できます(例: 食器洗い機が必ずしもすべてのサイクルを使用するとは限りません)。たとえば、「バキューム実行時間はどれくらいか」と尋ねると、残りの時間数に比例して単位時間を返すことができます。これは上記のデバイスにも当てはまります。衣服が乾くまでの時間は数分で返されます。

デバイスから情報が返されると、アシスタントの TTS レスポンスがそのデータを使用して最適な回答を生成します(例: 食器洗い機は稼働中。あと 20 分ほどで終了します)。

RunCycle は現在読み取り専用のトレイトです。コマンドはなく、照会するステータスのみがあります。将来的には、サイクルの再実行やスキップに対応したメカニズムになる可能性があります(この機能は、スプリンクラーには効果的ですが、洗濯機には不向きかもしれません)。

デバイスの属性

なし

デバイスのステータス

この特性を持つデバイスは、QUERY オペレーションの一部として次の状態をレポートできます。QUERY インテントの処理の詳細については、インテント フルフィルメントをご覧ください。

状態 タイプ 説明
currentRunCycle 配列

必須。

サポートされている各言語における現在のサイクルの類義語が含まれます。

[item, ...] オブジェクト

サイクルの類義語名。

currentCycle 文字列

必須。

現在のサイクルを実行しています。

nextCycle 文字列

(省略可)次のサイクルで実行します。

lang 文字列

必須。

指定されたサイクル名の言語コード。サポートされている言語をご覧ください。

currentTotalRemainingTime Integer

必須。

オペレーションの残り時間(秒)。

currentCycleRemainingTime Integer

必須。

現在のサイクルの残り時間(秒)。

デバイスをさらに 5 分間すすぎ、20 分後に終了します。

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

スピンに移す前に、デバイスを 5 分間すすいでください。

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

デバイスのコマンド

なし

デバイスの通知

この特性を持つデバイスは、デバイスの状態変化の一部として、次の通知ペイロードを返すことがあります。通知の実装について詳しくは、スマートホーム アクションの通知をご覧ください。

フィールド タイプ 説明
RunCycle

必須。

通知ペイロード:

次のいずれかをサポートします。
0 オブジェクト

成功

priority Integer

必須。

通知レベルを表します。現在サポートされている値は 0 で、これは通知が読み上げられることを示します。

status 文字列

必須。

オペレーションの結果。

サポートされている値:

SUCCESS
currentCycleRemainingTime Integer

必須。

現在のサイクルの残り時間(秒)。

1 オブジェクト

失敗

priority Integer

必須。

通知レベルを表します。現在サポートされている値は 0 で、これは通知が読み上げられることを示します。

status 文字列

必須。

オペレーションの結果。

サポートされている値:

FAILURE
errorCode 文字列

必須。

この値には、任意のトレイトのエラーコード(例: deviceStuck)を指定できます。

デバイスの実行が完了しました。

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

現在のサイクルの完了中にエラーが発生しました。

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

デバイスエラー

エラーと例外のリストをご覧ください。