Guida alla rete per la smart home

action.devices.types.NETWORK: rappresenta un gruppo di nodi router o una rete mesh controllata come un'unica entità anziché come singoli dispositivi. Il dispositivo di rete potrebbe riavviarsi, aggiornare il software e disporre di modalità per gestire il controllo della qualità del servizio (QoS) e le limitazioni genitori. Il dispositivo può eseguire operazioni come l'attivazione della rete ospite e la segnalazione di informazioni specifiche della rete come le velocità di velocità effettiva Internet.

Questo tipo indica che il dispositivo riceve l'icona Rete 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 300 ms.
  • Affidabilità:deve essere superiore o uguale al 97%.

Dispositivo di esempio: rete semplice

Questa sezione contiene payload di intent di esempio che rappresentano una "rete" 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.NETWORK",
        "traits": [
          "action.devices.traits.Reboot",
          "action.devices.traits.NetworkControl"
        ],
        "name": {
          "name": "Simple network"
        },
        "willReportState": true,
        "attributes": {
          "supportsEnablingNetworkProfile": true,
          "supportsDisablingNetworkProfile": true,
          "supportsNetworkDownloadSpeedTest": true,
          "supportsNetworkUploadSpeedTest": true,
          "networkProfiles": [
            "kids"
          ]
        },
        "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,
        "networkEnabled": true,
        "networkSettings": {
          "ssid": "home-network-123"
        }
      }
    }
  }
}

Esempi di comandi EXECUTE

Riavvia

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

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

EnableDisableNetworkProfile

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

Richiesta
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.EnableDisableNetworkProfile",
                "params": {
                  "profile": "kids",
                  "enable": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "networkEnabled": true,
          "networkSettings": {
            "ssid": "home-network-123"
          }
        }
      }
    ]
  }
}

TestNetworkSpeed

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

Richiesta
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TestNetworkSpeed",
                "params": {
                  "testDownloadSpeed": true,
                  "testUploadSpeed": true,
                  "followUpToken": "123"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

ERRORS dispositivo

Consulta l'elenco completo di errori ed eccezioni.