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:
|
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 |
|
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 |
|
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 |
|
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 |
|
amount |
Number |
Zorunludur. Ödenecek tutar. |
unit |
Dize |
Zorunludur.
|
Hazır ayara göre dizin.
Parametreler | Tür | Açıklama |
---|---|---|
presetName |
Dize |
Zorunludur.
|
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çinsupported_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).