Leitfaden zum Smart-Home-Lufterfrischer

action.devices.types.AIRFRESHENER – Lufterfrischer können ein- und ausgeschaltet werden und verschiedene Modi können angepasst werden.

Das bedeutet, dass das Gerät das Lufterfrischersymbol und einige zugehörige Synonyme und Aliasse erhält.

Gerätefunktionen

Details zur Implementierung finden Sie in der entsprechenden Dokumentation zu Trait. Dazu gehören z. B. Attribute und Statusangaben, die Ihr Dienst unterstützen sollte, und Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.

Erforderliche Merkmale

Diese Merkmale und Befehle sind gegebenenfalls für Ihr Gerät erforderlich. Wenn Ihr Gerät diese Merkmale nicht unterstützt, geben Sie den Fehlercode functionNotSupported in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen finden Sie unter Fehler und Ausnahmen.

Diese Traits werden empfohlen, sofern sie für Ihr Gerät relevant sind. Sie können jedoch alle verfügbaren Merkmale beliebig kombinieren, um die Funktionalität Ihrer vorhandenen Produkte bestmöglich zu berücksichtigen.

Qualitätsanforderungen

  • Latenz:muss kleiner oder gleich 1.000 ms sein.
  • Zuverlässigkeit:muss größer oder gleich 97% sein.

Beispielgerät: Einfacher Lufterfrischer

Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten, die basierend auf dem obigen Gerätetyp und den obigen Eigenschaften einen gängigen Lufterfrischer darstellen. Wenn Sie in Ihrer Implementierung Traits hinzufügen oder entfernen, passen Sie Ihre Antworten entsprechend an.

Beispiel für SYNC-Antwort

Anfrage
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.AIRFRESHENER",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Toggles"
        ],
        "name": {
          "name": "Simple air freshener"
        },
        "willReportState": true,
        "attributes": {
          "availableToggles": [
            {
              "name": "intermittent_key",
              "name_values": [
                {
                  "name_synonym": [
                    "Intermittent Spray"
                  ],
                  "lang": "en"
                },
                {
                  "name_synonym": [
                    "Intermittierender Spray"
                  ],
                  "lang": "de"
                }
              ]
            }
          ]
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Beispielantwort für QUERY

Anfrage
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "currentToggleSettings": {
          "intermittent_key": true
        }
      }
    }
  }
}

Beispiele für EXECUTE-Befehle

OnOff

Weitere Informationen zu den Befehlsparametern finden Sie in der Referenz zu action.devices.traits.OnOff.

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

SetToggles

Weitere Informationen zu den Befehlsparametern finden Sie in der Referenz zu action.devices.traits.Toggles.

Anfrage
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetToggles",
                "params": {
                  "updateToggleSettings": {
                    "intermittent_key": false
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentToggleSettings": {
            "intermittent_key": false
          }
        }
      }
    ]
  }
}

Gerät ERRORS

Sehen Sie sich die vollständige Liste der Fehler und Ausnahmen an.