智慧型住宅咖啡機指南

action.devices.types.COFFEE_MAKER - 與咖啡機的互動包括開啟和關閉咖啡機、調整烹調模式和食物預設設定、調整目標溫度,以及調整各種非烹調模式設定。

這類裝置會顯示咖啡機圖示,以及一些相關的同義字和別名。

裝置功能

如需實作詳細資料 (例如服務應支援的屬性和狀態,以及如何建構 EXECUTE 和 QUERY 回應),請參閱相應的特徵說明文件。

必要特徵

如果適用於裝置,就必須提供這些特徵和指令。如果裝置不支援這些特徵,請在 QUERY 或 EXECUTE 回應中輸入 functionNotSupported 的錯誤代碼。詳情請參閱「錯誤和例外狀況」一節。

如果適用於你的裝置,建議使用這些特徵。 不過,您可以自由混搭所有可用的特徵,盡量符合現有產品功能。

示例裝置:簡易咖啡機

本節包含代表常見「咖啡機」的意圖酬載範例,這些範例是以裝置類型和上述特徵為依據。如果在實作中新增或移除特徵,請相應修改回覆,以反映這些變更。

SYNC 回應範例

要求
{   "requestId": "6894439706274654512",   "inputs": [     {       "intent": "action.devices.SYNC"     }   ] }
回應
{   "requestId": "6894439706274654512",   "payload": {     "agentUserId": "user123",     "devices": [       {         "id": "123",         "type": "action.devices.types.COFFEE_MAKER",         "traits": [           "action.devices.traits.Cook",           "action.devices.traits.TemperatureControl",           "action.devices.traits.OnOff"         ],         "name": {           "name": "Simple coffee maker"         },         "willReportState": true,         "attributes": {           "temperatureRange": {             "minThresholdCelsius": 0,             "maxThresholdCelsius": 100           },           "temperatureUnitForUX": "F",           "supportedCookingModes": [             "BREW"           ],           "foodPresets": [             {               "food_preset_name": "coffee_key",               "supported_units": [                 "NO_UNITS",                 "CUPS"               ],               "food_synonyms": [                 {                   "synonym": [                     "Coffee"                   ],                   "lang": "en"                 }               ]             }           ]         },         "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,         "temperatureSetpointCelsius": 70,         "currentCookingMode": "BREW",         "currentFoodPreset": "coffee_key",         "currentFoodQuantity": 2,         "currentFoodUnit": "CUPS"       }     }   } }

EXECUTE 指令範例

庫克

如要進一步瞭解指令參數,請參閱 action.devices.traits.Cook 參考資料。

要求
{   "requestId": "6894439706274654516",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.Cook",                 "params": {                   "start": false,                   "cookingMode": "BREW"                 }               }             ]           }         ]       }     }   ] }
回應
{   "requestId": "6894439706274654516",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "currentCookingMode": "NONE",           "currentFoodPreset": "NONE"         }       }     ]   } }

SetTemperature

如要進一步瞭解指令參數,請參閱 action.devices.traits.TemperatureControl 參考資料。

要求
{   "requestId": "6894439706274654518",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.SetTemperature",                 "params": {                   "temperature": 85                 }               }             ]           }         ]       }     }   ] }
回應
{   "requestId": "6894439706274654518",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "temperatureSetpointCelsius": 85         }       }     ]   } }

OnOff

如要進一步瞭解指令參數,請參閱 action.devices.traits.OnOff 參考資料。

要求
{   "requestId": "6894439706274654520",   "inputs": [     {       "intent": "action.devices.EXECUTE",       "payload": {         "commands": [           {             "devices": [               {                 "id": "123"               }             ],             "execution": [               {                 "command": "action.devices.commands.OnOff",                 "params": {                   "on": true                 }               }             ]           }         ]       }     }   ] }
回應
{   "requestId": "6894439706274654520",   "payload": {     "commands": [       {         "ids": [           "123"         ],         "status": "SUCCESS",         "states": {           "online": true,           "on": true         }       }     ]   } }

裝置錯誤

請參閱錯誤和例外狀況的完整清單。