מדריך לתנור לבית חכם

action.devices.types.OVEN – אינטראקציה עם תנורים כוללת את היכולת לאפות או לצלות בטמפרטורות מסוימות. הטמפרטורה הפיזית בתוך התנור משתנה ככל שהתנור מתחמם, כך שאפשר לעקוב גם אחריה. זמן הבישול של התנור מגביל את משך האפייה.

הסוג הזה מציין שהמכשיר מקבל את סמל התנור וחלק מהמילים הנרדפות והכינויים הקשורים.

לאותנו יש תחביר מבוסס-סוג ל-action.devices.traits.OnOff ול-action.devices.traits.TemperatureControl:
  • אם המכשיר תומך ב-OnOff, הפקודה חימום מראש של התנור תשלח את הפקודה action.devices.commands.OnOff.
  • אם המכשיר תומך ב-TemperatureControl, הפקודה Preheat the oven to 350 degrees תשלח פקודה להגדרת הטמפרטורה הזו בתנור.

יכולות המכשיר

פרטי ההטמעה, כמו המאפיינים והמצבים שהשירות צריך לתמוך בהם, והאופן שבו יוצרים תגובות EXECUTE ו-QUERY, מפורטים במסמכי העזרה של המאפיינים המתאימים.

מאפיינים נדרשים

המאפיינים והפקודות האלה נדרשים, אם הם רלוונטיים למכשיר שלכם. אם המכשיר לא תומך במאפיינים האלה, מזינים את קוד השגיאה functionNotSupported בתגובה של QUERY או EXECUTE. מידע נוסף זמין במאמר שגיאות וחריגות.

מומלץ להשתמש במאפיינים האלה אם הם רלוונטיים למכשיר שלכם. עם זאת, אתם יכולים לשלב בין כל המאפיינים הזמינים כדי להתאים את התכונות האלה לפונקציונליות הקיימת של המוצר.

דרישות איכות

  • זמן אחזור: חייב להיות קטן מ-3000ms או שווה לו.
  • אמינות: הערך חייב להיות שווה ל-97% או גדול ממנו.

דוגמה למכשיר: תנור פשוט

בקטע הזה מפורטות דוגמאות לעומסי נתונים של כוונה שמייצגים 'תנור' נפוץ, על סמך סוג המכשיר והמאפיינים שצוינו למעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התשובות בהתאם כדי לשקף את השינויים האלה.

דוגמה לתגובת SYNC

בקשה
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.OVEN",
        "traits": [
          "action.devices.traits.Cook",
          "action.devices.traits.OnOff",
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.Timer",
          "action.devices.traits.StartStop"
        ],
        "name": {
          "name": "Simple oven"
        },
        "willReportState": true,
        "attributes": {
          "supportedCookingModes": [
            "BAKE",
            "CONVECTION_BAKE",
            "ROAST"
          ],
          "maxTimerLimitSec": 3600,
          "temperatureRange": {
            "minThresholdCelsius": 65,
            "maxThresholdCelsius": 288
          },
          "temperatureUnitForUX": "F"
        },
        "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,
        "temperatureSetpointCelsius": 175,
        "currentCookingMode": "BAKE",
        "timerRemainingSec": -1
      }
    }
  }
}

דוגמאות לפקודות 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": true,
                  "cookingMode": "ROAST"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentCookingMode": "ROAST"
        }
      }
    ]
  }
}

OnOff

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.OnOff.

בקשה
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

SetTemperature

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.TemperatureControl.

בקשה
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 200
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 200,
          "temperatureAmbientCelsius": 100
        }
      }
    ]
  }
}

TimerStart

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.Timer.

בקשה
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerStart",
                "params": {
                  "timerTimeSec": 300
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300
        }
      }
    ]
  }
}

TimerAdjust

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.Timer.

בקשה
{
  "requestId": "6894439706274654524",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerAdjust",
                "params": {
                  "timerTimeSec": -10
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654524",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 290
        }
      }
    ]
  }
}

TimerPause

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.Timer.

בקשה
{
  "requestId": "6894439706274654526",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerPause"
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654526",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": true
        }
      }
    ]
  }
}

TimerResume

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.Timer.

בקשה
{
  "requestId": "6894439706274654528",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerResume"
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654528",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": false
        }
      }
    ]
  }
}

TimerCancel

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.Timer.

בקשה
{
  "requestId": "6894439706274654530",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerCancel"
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654530",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": -1
        }
      }
    ]
  }
}

StartStop

פרטים נוספים על הפרמטרים של הפקודה זמינים במאמר העזרה של action.devices.traits.StartStop.

בקשה
{
  "requestId": "6894439706274654532",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654532",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isRunning": true
        }
      }
    ]
  }
}

שגיאות במכשיר

הרשימה המלאה של השגיאות והחריגות