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

action.devices.types.YOGURTMAKER – אינטראקציות עם יצרני יוגורט עשויות לכלול הפעלה ועצירה, הגדרת טיימר, שינוי מצבי הבישול או הגדרות קבועות מראש של אוכל או שינוי של הגדרות שונות אחרות.

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

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

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

התכונות הנדרשות

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

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

דרישות איכות

  • זמן אחזור: חייב להיות פחות מ-800 אלפיות שנייה או שווה לו.
  • אמינות: חייבת להיות יותר מ-97% או שווה לו.

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

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

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

בקשה
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.YOGURTMAKER",
        "traits": [
          "action.devices.traits.Cook",
          "action.devices.traits.StartStop",
          "action.devices.traits.Timer",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple yogurt maker"
        },
        "willReportState": true,
        "attributes": {
          "supportedCookingModes": [
            "COOK"
          ],
          "foodPresets": [
            {
              "food_preset_name": "yogurt_key",
              "supported_units": [
                "CUPS",
                "OUNCES"
              ],
              "food_synonyms": [
                {
                  "synonym": [
                    "Yogurt",
                    "Yoghurt"
                  ],
                  "lang": "en"
                }
              ]
            },
            {
              "food_preset_name": "coconut_yogurt_key",
              "supported_units": [
                "CUPS",
                "OUNCES"
              ],
              "food_synonyms": [
                {
                  "synonym": [
                    "Coconut yogurt",
                    "Vegan yogurt"
                  ],
                  "lang": "en"
                }
              ]
            }
          ],
          "maxTimerLimitSec": 30,
          "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,
        "timerRemainingSec": 30,
        "currentCookingMode": "COOK",
        "currentFoodPreset": "yogurt_key"
      }
    }
  }
}

פקודות 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": "COOK"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentCookingMode": "NONE",
          "currentFoodPreset": "NONE"
        }
      }
    ]
  }
}

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
        }
      }
    ]
  }
}

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": 30
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 30
        }
      }
    ]
  }
}

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": 20
        }
      }
    ]
  }
}

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": 30,
          "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": 30,
          "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
        }
      }
    ]
  }
}

OnOff

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

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

ERRORS במכשיר

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