Guida al riscaldamento per la smart home

action.devices.types.HEATER: gli impianti di riscaldamento sono simili ai termostati, ma non supportano l'impianto di raffreddamento e potrebbero non supportare l'impostazione degli obiettivi di temperatura.

Questo tipo indica che il dispositivo visualizza l'icona dell'impianto di riscaldamento e alcuni sinonimi e alias correlati.

Funzionalità del dispositivo

Fai riferimento alla documentazione sulle trait corrispondente per i dettagli sull'implementazione, ad esempio gli attributi e gli stati che il tuo servizio dovrebbe supportare, e come creare risposte EXECUTE e QUERY.

Trait obbligatori

Questi trait e comandi sono obbligatori, se applicabile al tuo dispositivo. Se il tuo dispositivo non supporta questi trait, inserisci il codice di errore di functionNotSupported in una risposta QUERY o EXECUTE. Per ulteriori informazioni, consulta Errori ed eccezioni.

Queste caratteristiche sono consigliate, se applicabili al tuo dispositivo. Tuttavia, puoi combinare liberamente tutte le caratteristiche disponibili per abbinarle al meglio alle funzionalità esistenti del prodotto.

Requisiti di qualità

  • Latenza: deve essere inferiore o uguale a 1000 ms.
  • Affidabilità:deve essere superiore o uguale al 97%.

Esempio di dispositivo: riscaldamento semplice

Questa sezione contiene payload di intent di esempio che rappresentano un "riscaldatore" comune in base al tipo di dispositivo e ai trait indicati sopra. Se aggiungi o rimuovi i trait 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.HEATER",
        "traits": [
          "action.devices.traits.FanSpeed",
          "action.devices.traits.TemperatureSetting"
        ],
        "name": {
          "name": "Simple heater"
        },
        "willReportState": true,
        "attributes": {
          "availableFanSpeeds": {
            "speeds": [
              {
                "speed_name": "low_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "Low",
                      "Slow"
                    ],
                    "lang": "en"
                  }
                ]
              },
              {
                "speed_name": "high_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "High"
                    ],
                    "lang": "en"
                  }
                ]
              }
            ],
            "ordered": true
          },
          "availableThermostatModes": [
            "off",
            "heat",
            "fan-only",
            "on"
          ],
          "thermostatTemperatureUnit": "C"
        },
        "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,
        "currentFanSpeedSetting": "low_key",
        "thermostatMode": "heat",
        "thermostatTemperatureSetpoint": 30,
        "thermostatTemperatureAmbient": 25
      }
    }
  }
}

Esempi di comandi EXECUTE

Imposta velocità

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.FanSpeed.

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

Set-point temperatura termostato

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.TemperatureSetting.

Richiesta
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetpoint",
                "params": {
                  "thermostatTemperatureSetpoint": 28
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heat",
          "thermostatTemperatureSetpoint": 28,
          "thermostatTemperatureAmbient": 25
        }
      }
    ]
  }
}

Modalità impostazione termostato

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.TemperatureSetting.

Richiesta
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatSetMode",
                "params": {
                  "thermostatMode": "heat"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heat",
          "thermostatTemperatureSetpoint": 30,
          "thermostatTemperatureAmbient": 25
        }
      }
    ]
  }
}

ERRORS dispositivo

Consulta l'elenco completo di errori ed eccezioni.