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 Bidding für Smart Home

action.devices.traits.Dispense: Diese Eigenschaft gehört zu Geräten, die die Ausgabe bestimmter Produkte unterstützen.

Diese Eigenschaft unterstützt auch die Ausgabe einer Voreinstellung, z. B. „Katzenfutter“ für einen Futterspender oder „Glas“ für einen Wasserhahn.

Gerät ATTRIBUTE

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 ist kostenlos.

item_name String

Erforderlich.

Interner Name für den ausgegebenen Artikel. Diese Funktion kann nicht nutzerfreundlich sein und wird in allen Sprachen verwendet.

item_name_synonyms Array

Erforderlich.

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

[item, ...] Objekt

Synonyme für das ausgegebene Element in einer bestimmten Sprache.

synonyms Array

Erforderlich.

Synonymnamen für die ausgegebenen Elemente. Die Synonyme sollten sowohl Singular- als auch Pluralformen enthalten, falls 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) Siehe unterstützte Sprachen.

supported_units Array

Erforderlich.

Einheiten, die das Gerät für diesen Artikel unterstützt

[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.

Üblicher Wert des Artikels, der möglicherweise ausgegeben wird.

amount Ganzzahl

Erforderlich.

Abgegebener 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 kann nicht nutzerfreundlich sein und wird in allen Sprachen verwendet.

preset_name_synonyms Array

Erforderlich.

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

[item, ...] Objekt

Synonyme für die Voreinstellung in einer bestimmten Sprache.

synonyms Array

Erforderlich.

Synonymnamen 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) Siehe unterstützte Sprachen.

Beispiele

Wasserspender, der 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 Zustände 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

Betrag dieses Artikels auf dem Gerät. Wenn das Gerät gerade eine Ausgabe macht, wird der verbleibende Betrag oder der Betrag angezeigt, der nach der Ausgabe des Geräts ausgegeben wird.

amount Number

Verbleibender Betrag

unit String

Einheit für amount aus dem Attribut supported_units.

amountLastDispensed Objekt

Der Betrag, den das Gerät zuletzt ausgegeben hat Wenn das Gerät gerade ausgegeben wird, sollte der Betrag ausgegeben werden, den er vor der aktuellen Ausgabe ausgegeben hat.

amount Number

Verbleibender Betrag

unit String

Einheit für amount aus dem Attribut supported_units.

isCurrentlyDispensing Boolesch

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

Beispiele

Wie viele Leckereien für Hunde habe ich noch in meiner Tasse?

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

Wie viel Wasser verbleibt in meinem Wasserkühler?

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

Wie viel Katzenfutter habe ich zuvor gegeben?

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

Läuft der Wasserhahn noch Wasser aus?

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

amountRemaining und amountLastDispensed müssen nur mit einer einzigen Maßeinheit erfasst 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 Artikels, der aus dem Attribut item_name ausgegeben werden soll.

amount Number

Erforderlich.

Auszugebender Betrag.

unit String

Erforderlich.

Einheit für amount aus dem Attribut supported_units.

Über Voreinstellung ausgeben.

Parameter Typ Beschreibung
presetName String

Erforderlich.

Name der Voreinstellung, die ausgegeben werden soll, 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"
  }
}

Gib Wasser aus.

{
  "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 abfragen kann. So soll verhindert werden, dass zu viel (z. B. 500.000 Tassen Wasser) ausgegeben wird.
  • dispenseAmountBelowLimit: Der Nutzer hat versucht, einen Artikel oder eine Menge von dem Gerät auszugeben, der unter dem Mindestbetrag liegt, den er ausgeben kann.
  • dispenseFractionalAmountNotSupported: Der Nutzer hat versucht, einen Bruchteil eines Artikels auszugeben, den das Gerät nicht teilen kann. So können beispielsweise zählbare Elemente wie Hundeleckerli vom Gerät nicht teilbar sein.
  • genericDispenseNotSupported: Der Nutzer versucht, von einem Gerät auszugeben, ohne ein Element oder eine Voreinstellung anzugeben. Das Gerät unterstützt jedoch keine solche Funktionalität (z. B. die Standardaktion).
  • dispenseUnitNotSupported: Der Nutzer versucht, von einem Gerät auszugeben, dessen Einheit in diesem Fall nicht unterstützt wird (z. B. weil das Element nicht bereitgestellt wurde, sodass supported_unit validation übersprungen wurde).
  • dispenseFractionalUnitNotSupported: Der Nutzer hat versucht, einen Bruchteil eines Artikels auszugeben, der aufgeteilt werden kann, aber nicht für die angegebene Einheit (z.B.kann ein Wasserhahn 2,7 Tassen ausgeben, aber nicht 2,7 ml).
  • deviceCurrentlyDispensing: Der Nutzer versucht, ein Element auszugeben, das Gerät gibt aber bereits etwas aus.
  • deviceClogged: Der Nutzer versucht, einen Artikel auszugeben, das Gerät ist jedoch verstopft.
  • deviceBusy: Der Nutzer versucht, einen Artikel auszugeben, das Gerät ist jedoch nicht verfügbar.

Geräteausnahmen

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

  • amountRemainingLow: Der Nutzer gibt einen Artikel oder einen Betrag vom Gerät aus, sodass der verbleibende Betrag niedrig ist. Es liegt in Ihrer Verantwortung, festzulegen, was als „niedrig“ eingestuft wird.
  • userNeedsToWait: Wenn der Nutzer warten muss, bis das angeforderte Element oder der Betrag erfolgreich ausgegeben werden kann (z. B. gibt ein Wasserhahn Warmwasser ab, muss aber erst auf die Erwärmung des Wassers warten, bevor es beginnt)