Willkommen beim Google Home Developer Center, der neuen Anlaufstelle für Smart-Home-Aktionen. Hinweis:Sie erstellen weiterhin Aktionen in der Actions Console.
Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Schema für Smart-Home-Ausgaben

action.devices.traits.Dispense: Dieses Merkmal gehört zu Geräten, die das Ausgeben einer bestimmten Menge an mindestens einem physischen Artikel unterstützen.

Dieses Merkmal unterstützt auch das Ausgeben einer Voreinstellung, z. B. eine „Katzenschüssel“ für einen Futterspender oder ein „Glas“ für einen Wasserhahn.

ATTRIBUTE DES Geräts

Geräte mit diesem Attribut können im Rahmen des Vorgangs SYNC die folgenden Attribute melden. Weitere Informationen zum Umgang mit SYNC-Intents finden Sie unter Intent-Auftragsausführung.

Attribute Typ Beschreibung
supportedDispenseItems Array

Enthält Informationen zu allen Elementen, die das Gerät ausgeben kann.

[item, ...] Objekt

Der Artikel kann kopiert werden.

item_name String

Erforderlich.

Interner Name für den ausgegebenen Artikel. Sie kann nutzerfreundlich sein und ist in allen Sprachen verfügbar.

item_name_synonyms Array

Erforderlich.

Synonyme für die in jeder unterstützten Sprache ausgegebenen Sprachen.

[item, ...] Objekt

Synonyme für die ausgegebene Ausgabe in einer bestimmten Sprache.

synonyms Array

Erforderlich.

Synonyme für das übermittelte Element. Die Synonyme sollten sowohl die Singular- als auch die Pluralform enthalten, sofern zutreffend. Der erste String in dieser Liste muss die Pluralform des Elements in dieser Sprache sein.

[item, ...] String

Synonym name

lang String

Erforderlich.

Sprachcode (ISO 639-1). Weitere Informationen

supported_units Array

Erforderlich.

Einheiten, die vom Gerät für diesen Artikel unterstützt werden.

[item, ...] String

Unterstützte Einheiten.

Unterstützte Werte:

CENTIMETERS
CUPS
DECILITERS
FLUID_OUNCES
GALLONS
GRAMS
KILOGRAMS
LITERS
MILLIGRAMS
MILLILITERS
MILLIMETERS
NO_UNITS
OUNCES
PINCH
PINTS
PORTION
POUNDS
QUARTS
TABLESPOONS
TEASPOONS
default_portion Objekt

Erforderlich.

Typische Menge des Artikels, die möglicherweise ausgegeben wird.

amount Ganzzahl

Erforderlich.

Der ausgegebene Betrag.

unit String

Erforderlich.

Ausgabeeinheit.

supportedDispensePresets Array

Vom Gerät unterstützte Voreinstellungen.

[item, ...] Objekt

Voreingestellt.

preset_name String

Erforderlich.

Interner Name für die Voreinstellung. Dieser Name ist eventuell nicht nutzerfreundlich und wird in allen Sprachen verwendet.

preset_name_synonyms Array

Erforderlich.

Synonyme für die Voreinstellung in jeder unterstützten Sprache.

[item, ...] Objekt

Synonyme für die Voreinstellung in einer bestimmten Sprache.

synonyms Array

Erforderlich.

Synonyme für die Voreinstellung. Die Synonyme sollten sowohl Singular- als auch Pluralformen enthalten, falls zutreffend.

[item, ...] String

Synonym name

lang String

Erforderlich.

Sprachcode (ISO 639-1). Weitere Informationen

Beispiele

Wasserspender, der Einheiten für Flüssigkeiten mit Voreinstellungen unterstützt.

{
  "supportedDispenseItems": [
    {
      "item_name": "water",
      "item_name_synonyms": [
        {
          "lang": "en",
          "synonyms": [
            "water"
          ]
        }
      ],
      "supported_units": [
        "TEASPOONS",
        "TABLESPOONS",
        "FLUID_OUNCES",
        "CUPS",
        "PINTS",
        "QUARTS",
        "GALLONS",
        "MILLILITERS",
        "LITERS",
        "DECILITERS"
      ],
      "default_portion": {
        "amount": 2,
        "unit": "CUPS"
      }
    }
  ],
  "supportedDispensePresets": [
    {
      "preset_name": "cat_bowl",
      "preset_name_synonyms": [
        {
          "lang": "en",
          "synonyms": [
            "cat water bowl",
            "cat water dish",
            "cat water cup"
          ]
        }
      ]
    },
    {
      "preset_name": "glass_1",
      "preset_name_synonyms": [
        {
          "lang": "en",
          "synonyms": [
            "glass of water",
            "glass"
          ]
        }
      ]
    }
  ]
}

Spender für Tiernahrung ohne Voreinstellungen

{
  "supportedDispenseItems": [
    {
      "item_name": "treat",
      "item_name_synonyms": [
        {
          "lang": "en",
          "synonyms": [
            "treats",
            "dog treats",
            "treat",
            "dog treat"
          ]
        }
      ],
      "supported_units": [
        "NO_UNITS"
      ],
      "default_portion": {
        "amount": 1,
        "unit": "NO_UNITS"
      }
    }
  ]
}

Gerät STATES

Geräte mit diesem Attribut können im Rahmen des Vorgangs QUERY die folgenden Status melden. Weitere Informationen zum Umgang mit QUERY-Intents finden Sie unter Intent-Auftragsausführung.

Bundesstaaten Typ Beschreibung
dispenseItems Array

Status der Artikel, die das Gerät ausgeben kann.

[item, ...] Objekt

Status eines bestimmten Elements.

itemName String

Name des Artikels aus dem Attribut item_name.

amountRemaining Objekt

Die Menge des noch im Gerät befindlichen Artikels. Wenn das Gerät gerade etwas ausgibt, wird der verbleibende Betrag oder der Betrag ausgegeben, sobald das Gerät fertig ist.

amount Number

Verbleibender Betrag

unit String

Einheit für die amount aus dem Attribut supported_units.

amountLastDispensed Objekt

Die Menge des Artikels, die das Gerät zuletzt ausgegeben hat. Wenn das Gerät gerade ausgibt, sollte der ausgegebene Betrag vor der aktuellen Ausgabe angegeben werden.

amount Number

Verbleibender Betrag

unit String

Einheit für die amount aus dem Attribut supported_units.

isCurrentlyDispensing Boolesch

Gibt an, ob das Gerät diesen Artikel gerade ausgibt.

Beispiele

Wie viele Hundeleckerli befinden sich noch in meinem Spender?

{
  "dispenseItems": [
    {
      "itemName": "dog treats",
      "amountRemaining": {
        "amount": 83,
        "unit": "NO_UNITS"
      },
      "amountLastDispensed": {
        "amount": 2,
        "unit": "NO_UNITS"
      },
      "isCurrentlyDispensing": false
    }
  ]
}

Wie viel Wasser verbleibt in meiner Wasserkühler?

{
  "dispenseItems": [
    {
      "itemName": "water",
      "amountRemaining": {
        "amount": 6.2,
        "unit": "GALLONS"
      },
      "amountLastDispensed": {
        "amount": 1,
        "unit": "CUPS"
      },
      "isCurrentlyDispensing": false
    }
  ]
}

Wie viel Katzenfutter habe ich vorher bekommen?

{
  "dispenseItems": [
    {
      "itemName": "cat_food",
      "amountRemaining": {
        "amount": 16.5,
        "unit": "CUPS"
      },
      "amountLastDispensed": {
        "amount": 2.5,
        "unit": "CUPS"
      },
      "isCurrentlyDispensing": false
    }
  ]
}

Leitet der Wasserhahn noch Wasser aus?

{
  "dispenseItems": [
    {
      "itemName": "water",
      "isCurrentlyDispensing": true
    }
  ]
}

amountRemaining und amountLastDispensed müssen nur für eine Maßeinheit angegeben werden.

Innerhalb des dispenseItems-Arrays können mehrere Elemente angegeben werden. Jeder Elementname muss eindeutig sein und einem Element im Attribut supportedDispenseItems entsprechen.

Gerätebefehle

Geräte mit diesem Attribut können im Rahmen des Vorgangs EXECUTE auf die folgenden Befehle reagieren. Weitere Informationen zum Umgang mit EXECUTE-Intents finden Sie unter Intent-Auftragsausführung.

action.devices.commands.Dispense

Artikel ausgeben.

Parameter

Die Nutzlast enthält einen der folgenden Werte:

Nach Betrag ausgeben.

Parameter Typ Beschreibung
item String

Name des zu sendenden Artikels aus dem Attribut item_name.

amount Number

Erforderlich.

Auszugebender Betrag.

unit String

Erforderlich.

Einheit für die amount aus dem Attribut supported_units.

Voreingestellt.

Parameter Typ Beschreibung
presetName String

Erforderlich.

Name der zu sendenden Voreinstellung aus dem Attribut preset_name.

Ohne Parameter ausgeben.

Parameter Typ Beschreibung

Keine Attribute

Beispiele

Gib mir eine Tasse Wasser.

{
  "command": "action.devices.commands.Dispense",
  "params": {
    "amount": 1,
    "unit": "CUPS",
    "item": "water"
  }
}

Fülle die Wasserschüssel für die Katze.

{
  "command": "action.devices.commands.Dispense",
  "params": {
    "presetName": "cat_bowl"
  }
}

Verteilen Sie Wasser.

{
  "command": "action.devices.commands.Dispense",
  "params": {}
}

Gerät ERRORS

Vollständige Liste der Fehler und Ausnahmen
  • dispenseAmountRemainingExceeded: Der Nutzer hat versucht, einen Artikel oder einen Betrag von einem Gerät auszugeben, auf dem nicht genügend Guthaben vorhanden ist.
  • dispenseAmountAboveLimit: Der Nutzer hat versucht, einen Betrag auszugeben, der über das hinausgeht, was er in einer einzelnen Abfrage erwarten kann. So wird verhindert, dass versehentlich eine überschüssige Menge (z. B. 500.000 Tasse Wasser) ausgegeben wird.
  • dispenseAmountBelowLimit: Der Nutzer hat versucht, einen Artikel oder eine Menge über das Gerät zu geben, das unter dem Mindestbestellwert liegt.
  • dispenseFractionalAmountNotSupported: Der Nutzer hat versucht, einen Bruchteil eines Artikels auszugeben, der nicht auf dem Gerät aufgeteilt werden kann. So können zählbare Elemente wie Hundeleckerli nicht durch das Gerät teilbar sein.
  • genericDispenseNotSupported: Der Nutzer versucht, ein Gerät auszugeben, ohne ein Element oder eine Voreinstellung anzugeben. Das Gerät unterstützt jedoch keine solche Funktionalität (z. B. eine Standardspendeaktion).
  • dispenseUnitNotSupported: Der Nutzer versucht, Inhalte von einem Gerät auszugeben, dessen Einheit in diesem Fall nicht unterstützt wird. Der Artikel wird beispielsweise nicht zur Verfügung gestellt, sodass supported_unit validation übersprungen wurde.
  • dispenseFractionalUnitNotSupported: Der Nutzer hat versucht, einen Bruchteil eines Artikels auszugeben, der nicht für die angegebene Einheit geteilt werden kann (z.B.kann ein Wasserhahn 2,7 Tassen ausgeben, aber nicht 2,7 ml).
  • deviceCurrentlyDispensing: Die Nutzer versuchen, ein Element auszugeben, aber das Gerät gibt sie bereits aus.
  • deviceClogged: Die Nutzer versuchen, einen Artikel auszugeben, aber das Gerät ist verstopft.
  • deviceBusy: Der Nutzer versucht, einen Artikel auszugeben, aber das Gerät ist überlastet.

AUSNAHME DES Geräts

Diese Ausnahmen können als exceptionCode im states-Objekt deiner Antwort gemeldet werden:

  • amountRemainingLow: Der Nutzer gibt einen Artikel oder Betrag aus dem Gerät aus, wodurch der verbleibende Betrag auf einen niedrigen Wert sinkt. Sie müssen festlegen, was eine „niedrige“ Ebene ist.
  • userNeedsToWait: Wenn der Nutzer warten muss, bis das gewünschte Element oder die gewünschte Menge erfolgreich ausgegeben werden kann (z. B. gibt ein Wasserhahn warmes Wasser aus, aber der Nutzer muss warten, bis sich das Wasser erwärmt hat, bevor die Ausgabe erfolgt).