Smart-Home-Wäschetrockner – Anleitung

action.devices.types.DRYER – Trockner haben eine Start- und Stoppfunktion, die unabhängig von der Ein- oder Aus-Stellung funktioniert. Einige können während des Trocknens pausiert und fortgesetzt werden. Trockner haben auch verschiedene Modi und jeder Modus hat seine eigenen zugehörigen Einstellungen. Diese sind für den Trockner spezifisch und werden in einer allgemeinen Form interpretiert.

Dieser Typ gibt an, dass dem Gerät das Symbol „Trockner“ und einige zugehörige Synonyme und Aliasse zugewiesen werden.

Gerätefunktionen

In der entsprechenden Dokumentation zu Merkmalen finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, sowie Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.

Erforderliche Merkmale

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

Diese Eigenschaften werden empfohlen, sofern sie für Ihr Gerät gelten. Sie können jedoch alle verfügbaren Merkmale kombinieren, um sie bestmöglich an Ihre vorhandenen Produktfunktionen anzupassen.

Qualitätsanforderungen

  • Latenz:darf maximal 3.000 ms betragen.
  • Zuverlässigkeit:muss mindestens 97% betragen.

Beispielgerät: Einfacher Trockner

Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten für einen gängigen „Trockner“, die auf dem Gerätetyp und den oben genannten Merkmalen basieren. Wenn Sie in Ihrer Implementierung Merkmale hinzufügen oder entfernen, ändern Sie Ihre Antworten entsprechend, um diese Änderungen widerzuspiegeln.

Beispiel für eine SYNC-Antwort

Anfrage
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DRYER",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.RunCycle",
          "action.devices.traits.StartStop",
          "action.devices.traits.Modes"
        ],
        "name": {
          "name": "Simple dryer"
        },
        "willReportState": true,
        "attributes": {
          "availableModes": [
            {
              "name": "load_key",
              "name_values": [
                {
                  "name_synonym": [
                    "Load",
                    "Size",
                    "Load size"
                  ],
                  "lang": "en"
                }
              ],
              "settings": [
                {
                  "setting_name": "small_key",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Small",
                        "Half"
                      ],
                      "lang": "en"
                    }
                  ]
                },
                {
                  "setting_name": "large_key",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Large",
                        "Full"
                      ],
                      "lang": "en"
                    }
                  ]
                }
              ],
              "ordered": true
            }
          ],
          "pausable": true
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Beispiel für eine QUERY-Antwort

Anfrage
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "isRunning": true,
        "isPaused": false,
        "currentRunCycle": [
          {
            "currentCycle": "dry",
            "lang": "en"
          }
        ],
        "currentTotalRemainingTime": 600,
        "currentCycleRemainingTime": 300,
        "currentModeSettings": {
          "load_key": "small_key"
        }
      }
    }
  }
}

Beispielbefehle für EXECUTE

OnOff

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

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
        }
      }
    ]
  }
}

StartStop

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

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

SetModes

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

Anfrage
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetModes",
                "params": {
                  "updateModeSettings": {
                    "load_key": "large_key"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentModeSettings": {
            "load_key": "large_key"
          }
        }
      }
    ]
  }
}

GERÄTEFEHLER

Eine vollständige Liste der Fehler und Ausnahmen