Akıllı ev işlemlerinin nasıl geliştirileceğini öğrenmek için yeni adres olan Google Home Geliştirici Merkezi'ne hoş geldiniz. Not: Actions Console'da işlem oluşturmaya devam edersiniz.
Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Akıllı Ev Dağıtım Kanalı Şeması

action.devices.traits.Dispense - Bu özellik, belirtilen miktarda bir veya daha fazla fiziksel öğenin çıkarılmasını destekleyen cihazlara aittir.

Bu özellik, evcil hayvan mama kabı "kedi mama kabı" veya musluk için "cam" gibi hazır ayar hazırlamayı da destekler.

Cihaz ÖZELLİKLERİ

Bu özelliğe sahip cihazlar, SYNC işleminin bir parçası olarak aşağıdaki özellikleri bildirebilir. SYNC niyetlerini işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.

Özellikler Tür Açıklama
supportedDispenseItems Dizi

Cihazın paylaşabileceği tüm öğeler hakkında bilgiler içerir.

[item, ...] Nesne

Dağıtılabilir öğe.

item_name Dize

Zorunludur.

Gönderilen öğenin dahili adı. Kullanıcı dostu olmayan bu özellik tüm dillerde paylaşılır.

item_name_synonyms Dizi

Zorunludur.

Desteklenen her dilde dağıtılır. Eş anlamlı adları.

[item, ...] Nesne

Belirli bir dilde dağıtılan öğenin eş anlamlıları adları.

synonyms Dizi

Zorunludur.

Dağıtılan öğenin eş anlamlı adları. Eş anlamlı kelimeler varsa hem tekil hem de çoğul biçimleri içermelidir. Bu listedeki ilk dize, söz konusu dildeki öğenin çoğul biçimi olmalıdır.

[item, ...] Dize

Eş anlamlı adı

lang Dize

Zorunludur.

Dil kodu (ISO 639-1). Desteklenen dilleri inceleyin.

supported_units Dizi

Zorunludur.

Cihazın bu öğe için desteklediği birim grubu.

[item, ...] Dize

Desteklenen birimler.

Desteklenen değerler:

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

Zorunludur.

Öğenin düzenlenebildiği normal miktar.

amount Integer

Zorunludur.

Tutar düşüldü.

unit Dize

Zorunludur.

Çıkarılan birim.

supportedDispensePresets Dizi

Cihaz tarafından desteklenen hazır ayarlar.

[item, ...] Nesne

Hazır Ayar.

preset_name Dize

Zorunludur.

Hazır ayar için dahili ad. Bu ad kullanıcı dostu olmayabilir ve tüm dillerde paylaşılır.

preset_name_synonyms Dizi

Zorunludur.

Hazır ayardaki desteklenen her dilde eş anlamlı adları.

[item, ...] Nesne

Belirli bir dildeki ön ayar için eş anlamlı adları.

synonyms Dizi

Zorunludur.

Hazır ayar için eş anlamlı adları. Eş anlamlılar hem tekil hem de çoğul biçimleri içermelidir.

[item, ...] Dize

Eş anlamlı adı

lang Dize

Zorunludur.

Dil kodu (ISO 639-1). Desteklenen dilleri inceleyin.

Örnekler

Önceden ayarlanmış sıvıların birimlerini destekleyen su sebili.

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

Hazır ayarsız evcil hayvan maması kutusu.

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

Cihaz durumu

Bu özelliğe sahip cihazlar, QUERY işleminin bir parçası olarak aşağıdaki durumları bildirebilir. QUERY niyetlerini işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.

Eyaletler Tür Açıklama
dispenseItems Dizi

Cihazın çıkarabileceği öğelerin durumları.

[item, ...] Nesne

Belirli bir öğenin durumu.

itemName Dize

item_name özelliğindeki öğenin adı.

amountRemaining Nesne

Bu öğenin cihazda kalan miktarı. Cihaz halihazırda dağıtım yapıyorsa bu, kalan miktarı veya cihazın dağıtımı tamamlandığında ne kadar olacağını bildirir.

amount Number

Kalan tutar

unit Dize

supported_units özelliğindeki amount birimi.

amountLastDispensed Nesne

Öğenin son zamanlarda cihazdan aldığı tutar. Cihaz halihazırda dağıtım yapıyorsa bu, mevcut gönderim tutarından önce dağıttığı tutarı bildirmelidir.

amount Number

Kalan tutar

unit Dize

supported_units özelliğindeki amount birimi.

isCurrentlyDispensing Boole

Cihazın bu öğeyi şu anda verip vermediğini belirtir.

Örnekler

Kızağımda kaç köpek maması kaldı?

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

Su soğutucumda ne kadar su kaldı?

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

Daha önce ne kadar kedi maması ödedim?

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

Musluk hâlâ su çıkarıyor mu?

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

amountRemaining ve amountLastDispensed alanlarının yalnızca bir ölçü birimi kullanılarak bildirilmesi gerekir.

dispenseItems dizisinde birden çok öğe sağlanabilir. Her öğe adı benzersiz olmalı ve supportedDispenseItems özelliğindeki bir öğeye karşılık gelmelidir.

Cihaz FTC'leri

Bu özelliğe sahip cihazlar, EXECUTE işleminin bir parçası olarak aşağıdaki komutlara yanıt verebilir. EXECUTE niyetlerini işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.

action.devices.commands.Dispense

Öğe gönderin.

Parametreler

Yük, aşağıdakilerden birini içerir:

Tutarı azalt.

Parametreler Tür Açıklama
item Dize

item_name özelliğinden alınacak öğenin adı.

amount Number

Zorunludur.

Ödenecek tutar.

unit Dize

Zorunludur.

supported_units özelliğindeki amount birimi.

Hazır ayara göre dizin.

Parametreler Tür Açıklama
presetName Dize

Zorunludur.

preset_name özelliğinden alınan, çıkarılacak hazır ayarın adı.

Parametre kullanmadan verin.

Parametreler Tür Açıklama

Özellik yok

Örnekler

1 bardak su koy.

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

Kedi su kabını doldurun.

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

Sudan yararlanın.

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

Cihaz HATALARI

Hataların ve istisnaların tam listesini inceleyin.
  • dispenseAmountRemainingExceeded: Kullanıcı, yeterli miktarın olmadığı bir cihazdan öğe veya tutar çıkarmaya çalıştı.
  • dispenseAmountAboveLimit: Kullanıcı, tek bir sorguda isteyebileceğinin sınırlarını aşan bir tutar çıkarmaya çalıştı. Bunun amacı, aşırı miktarda (ör. 500.000 bardak su) tüketimini önlemektir.
  • dispenseAmountBelowLimit: Kullanıcı, cihaza aktarabileceği minimum tutarın altında bir öğe veya tutar çıkarmaya çalıştı.
  • dispenseFractionalAmountNotSupported: Kullanıcı, cihazın bölemediği bir öğenin küçük bir kısmını çıkarmaya çalıştı (ör. köpek ödül maması gibi değerli öğeler cihaz tarafından bölünemez).
  • genericDispenseNotSupported: Kullanıcı, bir öğe veya hazır ayar belirtmeden bir cihazdan çıkmaya çalışır, ancak cihaz bu işlevi desteklemez (örneğin, varsayılan bir ödeme işlemi).
  • dispenseUnitNotSupported: Kullanıcı, bu birim için desteklenmeyen bir birim içeren bir cihazdan çıkmaya çalışır (örneğin, öğe sağlanmadığı için supported_unit validation atlanır).
  • dispenseFractionalUnitNotSupported: Kullanıcı, bölünebilen ancak belirtilen birim için ayrılamayan kesirli ölçüleri çıkarmaya çalıştı (ör. musluk, 2,7 fincan üretebilir, ancak 2,7 mL çıkarmayabilir).
  • deviceCurrentlyDispensing: Kullanıcılar bir öğe vermeye çalışır, ancak cihaz zaten çıkartmaktadır.
  • deviceClogged: Kullanıcılar bir öğeyi çıkarmaya çalışır, ancak cihaz tıkanır.
  • deviceBusy: Kullanıcılar bir öğeyi almaya çalışır, ancak cihaz meşguldür (genel).

Cihaz İSTİSNALARI

Bu istisnalar, yanıtınızın states nesnesinde exceptionCode olarak raporlanabilir:

  • amountRemainingLow: Kullanıcı, cihazdaki bir öğeyi veya tutarı çıkarıp kalan tutarı düşük bir düzeye çıkarır. "Düşük" bir düzeyin ne anlama geldiğini belirlemek sizin sorumluluğunuzdadır.
  • userNeedsToWait - İstenilen öğe veya miktarın başarılı bir şekilde harcanabilmesi için kullanıcının beklemesi gerektiğinde (örneğin, bir musluk, sıcak suyu emer ancak kullanıcının suyun tamamen kıvrılarak beklemeye başlaması gerekir).