Schema del tratto Modalità della smart home

action.devices.traits.Modes: questa caratteristica copre tutte le modalità disponibili e le impostazioni specifiche della modalità per un dispositivo.

Questa caratteristica appartiene a qualsiasi dispositivo con un numero arbitrario di modalità "n-way" in cui le modalità e le impostazioni per ogni modalità sono arbitrarie e uniche per ogni dispositivo o tipo di dispositivo. Ogni modalità ha più impostazioni possibili, ma è possibile selezionarne solo una alla volta; un'asciugatrice non può essere contemporaneamente in modalità "delicati", "normale" e "resistenti". Un'impostazione che può essere semplicemente attivata o disattivata appartiene al tratto Toggles.

Ad esempio, una lavatrice può avere impostazioni per la dimensione del carico e la temperatura. Entrambi sarebbero modalità perché sono indipendenti l'una dall'altra, ma ognuna può trovarsi in un solo stato alla volta. L'utente può impostare una modalità come la temperatura in modo esplicito con un comando come Imposta la temperatura della lavatrice su freddo.

Alcune modalità sono "ordinate" e possono essere regolate anche con le espressioni aumenta/diminuisci. Ad esempio, le dimensioni del carico (piccolo, medio, grande) e la temperatura sono chiaramente ordinate (tieni presente che la temperatura non è un termostato effettivo con un target numerico, come su altri dispositivi), ma il tipo di carico (delicati, normale, lana e così via) potrebbe non esserlo.

Questa caratteristica copre una o più modalità individuali che gli utenti possono impostare. In generale, queste modalità devono essere utilizzate per funzionalità non collegate al comportamento di altri dispositivi. Il comportamento collegato, ad esempio l'accensione o lo spegnimento del dispositivo stesso, deve utilizzare tratti più specifici (ad esempio, thermostatMode nel tratto TemperatureSetting).

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
availableModes Array

Obbligatorio.

Elenco delle modalità disponibili.

[item, ...] Oggetto

Modalità Disponibile.

name String

Obbligatorio.

Nome interno della modalità, che verrà utilizzato nei comandi e negli stati. Questo può essere difficile da leggere e verrà condiviso in tutte le lingue.

name_values Array

Obbligatorio.

Sinonimi della modalità in ciascuna lingua supportata.

[item, ...] Oggetto

Sinonimi della modalità in una determinata lingua. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore lang di en.

name_synonym Array

Obbligatorio.

Sinonimi della modalità. La prima stringa di questo elenco viene utilizzata come nome canonico del livello in quella lingua.

[item, ...] String

Nome del sinonimo. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore lang di en.

lang String

Obbligatorio.

Codice lingua (ISO 639-1). Consulta le lingue supportate.

settings Array

Obbligatorio.

Impostazioni supportate per questa modalità.

[item, ...] Oggetto

Impostazione supportata.

Richiede almeno 2 elementi.

setting_name String

Obbligatorio.

Nome interno dell'impostazione della modalità, che verrà utilizzato nei comandi e negli stati. Questo può essere difficile da leggere e verrà condiviso in tutte le lingue.

setting_values Array

Obbligatorio.

Sinonimi dell'impostazione in ogni lingua supportata.

[item, ...] Oggetto

Sinonimi dell'impostazione in una determinata lingua.

setting_synonym Array

Obbligatorio.

Sinonimi dell'impostazione. La prima stringa di questo elenco viene utilizzata come nome canonico del livello in quella lingua.

[item, ...] String

Nome del sinonimo.

lang String

Obbligatorio.

Codice lingua (ISO 639-1). Consulta le lingue supportate.

ordered Valore booleano

(Predefinito: false)

Se questo valore è impostato su true, verrà applicata una grammatica aggiuntiva per la logica di aumento/diminuzione, nell'ordine (crescente) dell'array di impostazioni.

commandOnlyModes Valore booleano

(Predefinito: false)

Indica se il dispositivo supporta la comunicazione unidirezionale (true) o bidirezionale (false). Imposta questo attributo su true se il dispositivo non può rispondere a un intent QUERY o a Report State per questo tratto.

queryOnlyModes Valore booleano

(Predefinito: false)

Obbligatorio se il dispositivo supporta l'esecuzione solo di query. Questo attributo indica se il dispositivo può essere interrogato solo per informazioni sullo stato e non può essere controllato.

Esempi

Dispositivo con più modalità e impostazioni.

{
  "availableModes": [
    {
      "name": "load_mode",
      "name_values": [
        {
          "name_synonym": [
            "Load",
            "Size",
            "Load size"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "small_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Small",
                "Half"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "medium_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Medium",
                "Normal"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "large_load",
          "setting_values": [
            {
              "setting_synonym": [
                "Large",
                "Full"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": true
    },
    {
      "name": "temp_mode",
      "name_values": [
        {
          "name_synonym": [
            "Temperature",
            "Temp"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "hot_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Hot",
                "White"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "warm_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Warm",
                "Color"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "cold_temp",
          "setting_values": [
            {
              "setting_synonym": [
                "Cold",
                "Delicate"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ]
}

Dispositivo con modalità solo comandi.

{
  "availableModes": [
    {
      "name": "light_mode",
      "name_values": [
        {
          "name_synonym": [
            "Light",
            "Lighting"
          ],
          "lang": "en"
        }
      ],
      "settings": [
        {
          "setting_name": "day_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Day",
                "Bright"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "night_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Night",
                "Dark"
              ],
              "lang": "en"
            }
          ]
        },
        {
          "setting_name": "reading_light",
          "setting_values": [
            {
              "setting_synonym": [
                "Reading",
                "Ambiant"
              ],
              "lang": "en"
            }
          ]
        }
      ],
      "ordered": false
    }
  ],
  "commandOnlyModes": true,
  "queryOnlyModes": false
}

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
currentModeSettings Oggetto

Obbligatorio.

Coppia chiave/valore con la modalità name del dispositivo come chiave e l'setting_name corrente come valore.

<string> String

Attuale: setting_name.

Esempi

In che modalità si trova il dispositivo?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

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.SetModes

Aggiorna le impostazioni della modalità.

Parametri

Parametri Tipo Descrizione
updateModeSettings Oggetto

Obbligatorio.

Coppia chiave/valore con la modalità name del dispositivo come chiave e il nuovo setting_name come valore.

<string> String

Novità setting_name.

Esempi

Imposta su carico grande.

{
  "command": "action.devices.commands.SetModes",
  "params": {
    "updateModeSettings": {
      "load_mode": "large_load"
    }
  }
}

Esempi di espressioni

de-DE

  • Stelle den Staubsauger auf Ruhemodus

en-US

  • set the vacuum to energy saver mode

es-ES

  • pon la lavadora en modo frío

fr-FR

  • mets l'aspirateur en silencieux

hi-IN

  • वैक्यूम पर कार्पेट मोड लगाएं

it-IT

  • imposta l'aspirapolvere su silenzioso

ja-JP

  • 掃除機 静音 モードに設定して

ko-KR

  • 세탁기 세탁량 많음 으로 설정해

pt-BR

  • acionar a função autolimpeza do aspirador
  • ligar o modo de aquecimento

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.