Anleitung für Smart-Home-Wasserhahn

action.devices.types.FAUCET: Wasserhähne können Flüssigkeiten in verschiedenen Mengen und mit Voreinstellungen ausgeben. Wasserhähne können verschiedene Modi haben und jeder hat eigene Einstellungen. Diese beziehen sich speziell auf den Armaturenhahn und werden in einer allgemeinen Form interpretiert.

Dieser Typ gibt an, dass das Gerät das Wasserhahn-Symbol 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.

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 800 ms sein.
  • Zuverlässigkeit:muss größer oder gleich 97% sein.

Beispielgerät: Einfacher Wasserhahn

Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten, die basierend auf dem oben genannten Gerätetyp und den oben genannten Merkmalen einen gemeinsamen "Wasserhahn" 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.FAUCET",
        "traits": [
          "action.devices.traits.Dispense",
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple faucet"
        },
        "willReportState": true,
        "attributes": {
          "supportedDispenseItems": [
            {
              "item_name": "water_key",
              "item_name_synonyms": [
                {
                  "lang": "en",
                  "synonyms": [
                    "Water"
                  ]
                },
                {
                  "lang": "es",
                  "synonyms": [
                    "Agua"
                  ]
                },
                {
                  "lang": "fr",
                  "synonyms": [
                    "Eau"
                  ]
                }
              ],
              "supported_units": [
                "TEASPOONS",
                "TABLESPOONS",
                "FLUID_OUNCES",
                "CUPS",
                "PINTS",
                "QUARTS",
                "GALLONS",
                "MILLILITERS",
                "LITERS",
                "DECILITERS"
              ],
              "default_portion": {
                "amount": 2,
                "unit": "CUPS"
              }
            }
          ],
          "supportedDispensePresets": [
            {
              "preset_name": "cat_water_bowl_key",
              "preset_name_synonyms": [
                {
                  "lang": "en",
                  "synonyms": [
                    "Cat water bowl",
                    "Cat water dish",
                    "Cat water cup"
                  ]
                },
                {
                  "lang": "es",
                  "synonyms": [
                    "Plato de agua para gato",
                    "Bebedero para gato"
                  ]
                },
                {
                  "lang": "fr",
                  "synonyms": [
                    "Bol d'eau de chat",
                    "Bac \u00e0 eau pour chat",
                    "Tasse d'eau de chat"
                  ]
                }
              ]
            }
          ],
          "temperatureRange": {
            "minThresholdCelsius": 25,
            "maxThresholdCelsius": 100
          },
          "temperatureUnitForUX": "F"
        },
        "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": false,
        "temperatureSetpointCelsius": 30,
        "dispenseItems": [
          {
            "itemName": "water_key",
            "amountLastDispensed": {
              "amount": 2.5,
              "unit": "CUPS"
            },
            "isCurrentlyDispensing": false
          }
        ]
      }
    }
  }
}

Beispiele für EXECUTE-Befehle

Ausgabe

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

Anfrage
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Dispense",
                "params": {
                  "amount": 1,
                  "unit": "CUPS",
                  "item": "water_key"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "dispenseItems": [
            {
              "itemName": "water_key",
              "amountLastDispensed": {
                "amount": 1,
                "unit": "CUPS"
              },
              "isCurrentlyDispensing": true
            }
          ]
        }
      }
    ]
  }
}

SetTemperature

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

Anfrage
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 65
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Antwort
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 65
        }
      }
    ]
  }
}

OnOff

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

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

Gerät ERRORS

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