スマートホーム洗濯機ガイド

action.devices.types.WASHER - 洗濯機には、電源のオン / オフとは別に開始 / 停止機能を備えているものもあります(洗濯機によっては、電源ボタンが別になっている場合もあります)。稼働中に一時停止して再開できるものもあります。洗濯機にはさまざまなモードがあり、各モードには独自の関連設定があります。これらは洗濯機に特有のものであり、一般化された形式で解釈されます。

このタイプのデバイスには洗濯機のアイコンが設定され、関連する類義語や別名が与えられます。

Google スマートホームを使用して洗濯機を制御する方法のサンプルについては、スマートホーム洗濯機 Codelab をご覧ください。

デバイスの機能

サービスがサポートする必要がある属性や状態、EXECUTE レスポンスと QUERY レスポンスを構築する方法など、実装の詳細については、対応するトレイトのドキュメントをご覧ください。

必須のトレイト

これらの特性とコマンドは、デバイスに該当する場合に必要です。デバイスがこれらのトレイトをサポートしていない場合は、QUERY レスポンスまたは EXECUTE レスポンスにエラーコード functionNotSupported を入力します。詳細については、エラーと例外をご覧ください。

これらのトレイトは、デバイスに該当する場合に推奨されます。ただし、利用可能なすべてのトレイトの中から、既存の製品機能に最適な組み合わせを自由に選択できます。

品質要件

  • レイテンシ: 3,000 ms 以下にする必要があります。
  • 信頼性: 97% 以上である必要があります。

デバイスの例: シンプルな洗濯機

このセクションでは、上記のデバイスタイプとトレイトに基づいて一般的な「洗濯機」を表すインテント ペイロードの例を示します。実装でトレイトを追加または削除する場合は、変更を反映するようにレスポンスを変更します。

SYNC レスポンスの例

リクエスト
{   "requestId": "6894439706274654512",   "inputs": [     {       "intent": "action.devices.SYNC"     }   ] }
レスポンス
{   "requestId": "6894439706274654512",   "payload": {     "agentUserId": "user123",     "devices": [       {         "id": "123",         "type": "action.devices.types.WASHER",         "traits": [           "action.devices.traits.OnOff",           "action.devices.traits.RunCycle",           "action.devices.traits.StartStop",           "action.devices.traits.Modes"         ],         "name": {           "name": "Simple washer"         },         "willReportState": true,         "attributes": {           "availableModes": [             {               "name": "load_key",               "name_values": [                 {                   "name_synonym": [                     "Load",                     "Size",                     "Load size"                   ],                   "lang": "en"                 }               ],               "settings": [                 {                   "setting_name": "small_key",                   "setting_values": [                     {                       "setting_synonym": [                         "Small",                         "Half"                       ],                       "lang": "en"                     }                   ]                 },                 {                   "setting_name": "large_key",                   "setting_values": [                     {                       "setting_synonym": [                         "Large",                         "Full"                       ],                       "lang": "en"                     }                   ]                 }               ],               "ordered": true             }           ],           "pausable": true         },         "deviceInfo": {           "manufacturer": "smart-home-inc",           "model": "hs1234",           "hwVersion": "3.2",           "swVersion": "11.4"         }       }     ]   } }

QUERY レスポンスの例

リクエスト
{   "requestId": "6894439706274654514",   "inputs": [     {       "intent": "action.devices.QUERY",       "payload": {         "devices": [           {             "id": "123"           }         ]       }     }   ] }
レスポンス
{   "requestId": "6894439706274654514",   "payload": {     "devices": {       "123": {         "status": "SUCCESS",         "online": true,         "on": true,         "isRunning": true,         "isPaused": false,         "currentRunCycle": [           {             "currentCycle": "rinse",             "nextCycle": "spin",             "lang": "en"           }         ],         "currentTotalRemainingTime": 600,         "currentCycleRemainingTime": 300,         "currentModeSettings": {           "load_key": "small_key"         }       }     }   } }

EXECUTE コマンドの例

OnOff

コマンド パラメータの詳細については、 action.devices.traits.OnOff リファレンスをご覧ください。

リクエスト
{   "requestId": "6894439706274654516",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.OnOff",                 "params": {                   "on": true                 }               }             ]           }         ]       }     }   ] }
レスポンス
{   "requestId": "6894439706274654516",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "on": true         }       }     ]   } }

StartStop

コマンド パラメータの詳細については、 action.devices.traits.StartStop リファレンスをご覧ください。

リクエスト
{   "requestId": "6894439706274654518",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.StartStop",                 "params": {                   "start": true                 }               }             ]           }         ]       }     }   ] }
レスポンス
{   "requestId": "6894439706274654518",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "isRunning": true,           "isPaused": false         }       }     ]   } }

SetModes

コマンド パラメータの詳細については、 action.devices.traits.Modes リファレンスをご覧ください。

リクエスト
{   "requestId": "6894439706274654522",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.SetModes",                 "params": {                   "updateModeSettings": {                     "load_key": "large_key"                   }                 }               }             ]           }         ]       }     }   ] }
レスポンス
{   "requestId": "6894439706274654522",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "currentModeSettings": {             "load_key": "large_key"           }         }       }     ]   } }

デバイスエラー

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