Guida alla lavastoviglie smart home

action.devices.types.DISHWASHER - Le lavastoviglie possono avere funzionalità di avvio e arresto indipendenti dall'accensione o dallo spegnimento (alcune lavatrici hanno pulsanti di accensione separati, altre no). Alcuni possono essere messi in pausa e ripresi durante il lavaggio. Anche le lavastoviglie hanno varie modalità e ognuna ha le proprie impostazioni correlate. Questi sono specifici per la lavastoviglie e vengono interpretati in forma generalizzata.

Questo tipo indica che il dispositivo riceve l'icona Lavastoviglie e alcuni sinonimi e alias correlati.

Funzionalità del dispositivo

Consulta la documentazione del tratto corrispondente per i dettagli di implementazione, come gli attributi e gli stati che il tuo servizio deve supportare e come creare risposte EXECUTE e QUERY.

Tratti richiesti

Questi tratti e comandi sono obbligatori, se applicabili al tuo dispositivo. Se il tuo dispositivo non supporta queste caratteristiche, inserisci il codice di errore functionNotSupported in una risposta QUERY o EXECUTE. Per saperne di più, consulta la sezione Errori ed eccezioni.

Queste caratteristiche sono consigliate, se applicabili al tuo dispositivo. Tuttavia, puoi combinare tutte le caratteristiche disponibili per trovare la corrispondenza migliore con le funzionalità del prodotto esistenti.

Dispositivo di esempio: lavastoviglie semplice

Questa sezione contiene payload di intent di esempio che rappresentano una "lavastoviglie" comune in base al tipo di dispositivo e alle caratteristiche sopra indicati. Se aggiungi o rimuovi caratteristiche nell'implementazione, modifica le risposte di conseguenza per riflettere queste modifiche.

Esempio di risposta SYNC

Richiesta
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DISHWASHER",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.RunCycle",
          "action.devices.traits.StartStop"
        ],
        "name": {
          "name": "Simple dishwasher"
        },
        "willReportState": true,
        "attributes": {
          "pausable": true
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Esempio di risposta QUERY

Richiesta
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "isRunning": true,
        "isPaused": false,
        "currentRunCycle": [
          {
            "currentCycle": "sanitize",
            "lang": "en"
          }
        ],
        "currentTotalRemainingTime": 600,
        "currentCycleRemainingTime": 300
      }
    }
  }
}

Comandi EXECUTE di esempio

OnOff

Per ulteriori dettagli sui parametri del comando, consulta il action.devices.traits.OnOff di riferimento.

Richiesta
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

StartStop

Per ulteriori dettagli sui parametri del comando, consulta il action.devices.traits.StartStop di riferimento.

Richiesta
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isRunning": true,
          "isPaused": false
        }
      }
    ]
  }
}

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.