Schema del tratto Cuoco di Smart Home
action.devices.traits.Cook: questa caratteristica appartiene ai dispositivi in grado di cucinare il cibo in base a varie impostazioni predefinite per alimenti e modalità di cottura supportate.
Esempi di questi tipi di dispositivi includono Multicooker, Pressure cooker, Blender e Microwave. I comandi di cottura possono includere la quantità e il nome dell'alimento, ad esempio "Due tazze di riso integrale", dove "riso integrale" è un preset per alimenti del dispositivo.
Questa caratteristica non gestisce il tempo di cottura o la temperatura di cottura. Per saperne di più, consulta Timer e TemperatureControl.
ATTRIBUTI dispositivo
I dispositivi con questa caratteristica potrebbero segnalare i seguenti
  attributi nell'ambito dell'operazione SYNC. Per saperne di più
  sulla gestione degli intent SYNC, consulta
  Completamento degli intent.
| Attributi | Tipo | Descrizione | 
|---|---|---|
| supportedCookingModes | Array | Obbligatorio. Modalità di cottura supportate da questo dispositivo. | 
| [item, ...] | String | Modalità di cottura. Valori supportati: 
 | 
| foodPresets | Array | Preset per determinati tipi di alimenti. | 
| [item, ...] | Oggetto | Preset per il cibo. | 
| food_preset_name | String | Obbligatorio. Nome interno del preset per alimenti, che verrà utilizzato nei comandi e negli stati. Questo nome può essere poco intuitivo ed è condiviso in tutte le lingue. | 
| supported_units | Array | Obbligatorio. Contiene tutte le unità supportate dal dispositivo per un alimento specifico. | 
| [item, ...] | String | Unità supportata. Valori supportati: 
 | 
| food_synonyms | Array | Obbligatorio. Sinonimi del nome dell'alimento per il preset in ogni lingua supportata. | 
| [item, ...] | Oggetto | Nome dell'alimento. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore  | 
| synonym | Array | Obbligatorio. I sinonimi del preset devono includere sia la forma singolare che quella plurale, se applicabile. | 
| [item, ...] | String | Nome del sinonimo del preset. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore  | 
| lang | String | Obbligatorio. Codice lingua (ISO 639-1). Consulta le lingue supportate. | 
Esempi
Dispositivo con una sola modalità di cottura e nessun preset.
{
  "supportedCookingModes": [
    "BAKE"
  ]
}Dispositivo con più modalità di cottura e programmi predefiniti per alimenti.
{
  "supportedCookingModes": [
    "COOK",
    "WARM"
  ],
  "foodPresets": [
    {
      "food_preset_name": "white_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "White Rice",
            "Rice"
          ],
          "lang": "en"
        }
      ]
    },
    {
      "food_preset_name": "brown_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "Brown Rice"
          ],
          "lang": "en"
        }
      ]
    }
  ]
}STATI del dispositivo
Le entità con questo tratto possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per saperne di più
  sulla gestione degli intent QUERY, consulta
  Completamento degli intent.
| Stati | Tipo | Descrizione | 
|---|---|---|
| currentCookingMode | String | Obbligatorio. Descrive la modalità di cottura corrente impostata sul dispositivo, dall'attributo  | 
| currentFoodPreset | String | Il  | 
| currentFoodQuantity | Number | Definisce la quantità attuale di cibo in cottura associata a  | 
| currentFoodUnit | String | L'unità associata a  | 
Esempi
Il mio forno sta cucinando?
{
  "currentCookingMode": "BAKE"
}Cosa sta cuocendo la mia cuociriso in questo momento?
{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}COMANDI del dispositivo
I dispositivi con questo tratto potrebbero rispondere ai seguenti
  comandi nell'ambito dell'operazione EXECUTE. Per saperne di più
  sulla gestione degli intent EXECUTE, consulta
  Completamento degli intent.
action.devices.commands.Cook
Avvia o interrompi la cottura.
Parametri
| Parametri | Tipo | Descrizione | 
|---|---|---|
| start | Valore booleano | Obbligatorio. True per iniziare a cucinare, false per interrompere la modalità di cottura corrente. | 
| cookingMode | String | Modalità di cottura richiesta per il dispositivo, dall'attributo  | 
| foodPreset | String | Il nome del preset alimentare richiesto dall'utente, dall'attributo  | 
| quantity | Number | La quantità di cibo richiesta dall'utente. | 
| unit | String | L'unità associata a  | 
Esempi
Inizia a cuocere in forno.
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "BAKE"
  }
}Smetti di cuocere in forno.
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": false,
    "cookingMode": "BAKE"
  }
}Inizia a cuocere 2 tazze di riso bianco nella mia cuociriso.
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "COOK",
    "foodPreset": "white_rice",
    "quantity": 2,
    "unit": "CUPS"
  }
}ERRORI del dispositivo
Consulta l'elenco completo di errori ed eccezioni.- deviceDoorOpen: lo sportello del dispositivo è aperto.
- deviceLidOpen: il coperchio del dispositivo è aperto.
- fractionalAmountNotSupported: l'utente ha richiesto un importo frazionario per questo alimento preimpostato, ma non è supportato da questo dispositivo.
- amountAboveLimit: l'utente ha richiesto una quantità superiore al massimo.
- unknownFoodPreset- L'utente ha richiesto un programma predefinito per alimenti non supportato dal dispositivo.